Files
warehouse-management-BE/internal/mapper/dashboard_mapper.go

61 lines
1.5 KiB
Go

package mapper
import (
"wm-backend/internal/models"
db "wm-backend/sqlc_gen"
)
func ToDomainTotalComponentStats(r db.GetTotalComponentStatsRow) models.TotalComponentStats {
return models.TotalComponentStats{
TotalTypes: r.TotalTypes,
TotalQuantity: r.TotalQuantity,
}
}
func ToDomainAbnormalAlert(r db.GetAbnormalItemCountsRow) models.AbnormalAlert {
return models.AbnormalAlert{
Status: string(r.Status),
Count: r.Count,
}
}
func ToDomainTodayInvoiceCount(r db.GetTodayInvoiceCountsRow) models.TodayInvoiceCount {
return models.TodayInvoiceCount{
Type: string(r.Type),
Count: r.Count,
}
}
func ToDomainContainerStats(r db.GetContainerStatsRow) models.ContainerStats {
return models.ContainerStats{
TotalContainers: r.TotalContainers,
EmptyContainers: int64(r.EmptyContainers),
}
}
func ToDomainStockAlert(r db.GetStockAlertsRow) models.StockAlert {
return models.StockAlert{
ID: r.ID,
Name: r.Name,
Unit: r.Unit,
TotalQuantity: r.TotalQuantity,
MinQuantity: r.MinQuantity,
ComponentTypeID: r.ComponentTypeID,
ComponentTypeName: r.ComponentTypeName.String,
}
}
func ToDomainAnomalyItem(r db.GetAnomalyItemsRow) models.AnomalyItem {
return models.AnomalyItem{
ID: r.ID,
ComponentID: r.ComponentID,
ContainerID: r.ContainerID,
Quantity: r.Quantity,
Status: string(r.Status),
CreatedAt: r.CreatedAt,
UpdatedAt: r.UpdatedAt,
ComponentName: r.ComponentName,
ComponentUnit: r.ComponentUnit,
}
}