55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"src.dualinventive.com/go/companies-service/internal/domain"
|
|
"src.dualinventive.com/go/companies-service/rest/models"
|
|
)
|
|
|
|
func mapCompany(company *domain.Company) *models.Company {
|
|
if company == nil {
|
|
return nil
|
|
}
|
|
|
|
return &models.Company{
|
|
ID: int64(company.ID),
|
|
Code: company.Code,
|
|
Name: company.Name,
|
|
}
|
|
}
|
|
|
|
func mapCompanies(companies []domain.Company, count uint64) *models.CompaniesList {
|
|
if companies == nil {
|
|
return nil
|
|
}
|
|
|
|
companieslist := models.CompaniesList{
|
|
Company: []*models.Company{},
|
|
Count: int64(count),
|
|
}
|
|
|
|
for _, company := range companies {
|
|
companieslist.Company = append(companieslist.Company, &models.Company{
|
|
ID: int64(company.ID),
|
|
Code: company.Code,
|
|
Name: company.Name,
|
|
})
|
|
}
|
|
|
|
return &companieslist
|
|
}
|
|
|
|
func mapSortCol(sortcol string) domain.SortCol {
|
|
sort := domain.SortCol(sortcol)
|
|
switch sort {
|
|
case domain.SortColIDAsc,
|
|
domain.SortColIDDesc,
|
|
domain.SortColNameAsc,
|
|
domain.SortColNameDesc:
|
|
return sort
|
|
case "name":
|
|
return domain.SortColNameAsc
|
|
default:
|
|
return domain.SortColIDAsc
|
|
}
|
|
}
|