src.dualinventive.com/go/assets-service/cmd/assets-service-rest/mappings.go

61 lines
1.2 KiB
Go

package main
import (
"src.dualinventive.com/go/assets-service/internal/domain"
"src.dualinventive.com/go/assets-service/rest/models"
)
func mapAsset(asset *domain.Asset) *models.Asset {
if asset == nil {
return nil
}
return &models.Asset{
ID: int64(asset.ID),
UID: asset.UID,
TypeCode: asset.TypeCode,
SerialNr: asset.SerialNr,
}
}
func mapAssets(assets []domain.Asset, count uint64) *models.AssetsList {
if assets == nil {
return nil
}
assetslist := models.AssetsList{
Asset: []*models.Asset{},
Count: int64(count),
}
for _, asset := range assets {
assetslist.Asset = append(assetslist.Asset, &models.Asset{
ID: int64(asset.ID),
UID: asset.UID,
TypeCode: asset.TypeCode,
SerialNr: asset.SerialNr,
})
}
return &assetslist
}
func mapSortCol(sortcol string) domain.SortCol {
sort := domain.SortCol(sortcol)
switch sort {
case domain.SortColIDAsc,
domain.SortColIDDesc,
domain.SortColUIDAsc,
domain.SortColUIDDesc,
domain.SortColSerialNrAsc,
domain.SortColSerialNrDesc:
return sort
case "uid":
return domain.SortColUIDAsc
case "serialnr":
return domain.SortColSerialNrAsc
default:
return domain.SortColIDAsc
}
}