61 lines
1.2 KiB
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
|
|
}
|
|
}
|