src.dualinventive.com/go/companies-service/cmd/companies-service-rest/mappings.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
}
}