package mapper import ( "encoding/json" "wm-backend/internal/models" db "wm-backend/sqlc_gen" ) func ToDomainComponentItem(r db.ComponentItem) *models.ComponentItem { return &models.ComponentItem{ ID: r.ID, ComponentID: r.ComponentID, ContainerID: r.ContainerID, Quantity: r.Quantity, Status: string(r.Status), Metadata: json.RawMessage(r.Metadata), CreatedAt: r.CreatedAt, UpdatedAt: r.UpdatedAt, } } func ToModelComponentItem(r *models.ComponentItem) *db.CreateComponentItemParams { return &db.CreateComponentItemParams{ ComponentID: r.ComponentID, ContainerID: r.ContainerID, Quantity: r.Quantity, Status: db.ComponentItemStatusEnum(r.Status), Metadata: []byte(r.Metadata), CreatedAt: r.CreatedAt, } } func ToUpdateModelComponentItem(r *models.ComponentItem) *db.UpdateComponentItemParams { return &db.UpdateComponentItemParams{ ComponentID: r.ComponentID, ContainerID: r.ContainerID, Metadata: []byte(r.Metadata), UpdatedAt: r.UpdatedAt, ID: r.ID, } } func ToDomainFindComponentItem(r db.FindComponentItemRow) *models.FindComponentItemResult { return &models.FindComponentItemResult{ ComponentName: r.ComponentName, TypeName: r.TypeName, Quantity: r.Quantity, Status: string(r.Status), ContainerName: r.ContainerName, ContainerType: string(r.ContainerType), ShelfName: r.ShelfName, CabinetName: r.CabinetName, RoomName: r.RoomName, WarehouseName: r.WarehouseName, } }