Files
warehouse-management-BE/internal/mapper/warehouse_mapper.go
Tran Anh Tuan 6a4a96e0ca Base Project
2026-05-08 14:32:24 +07:00

52 lines
1.1 KiB
Go

package mapper
import (
"wm-backend/internal/models"
db "wm-backend/sqlc_gen"
"github.com/jackc/pgx/v5/pgtype"
)
// ToDomainWarehouse maps a SQLC-generated Warehouse to the domain Warehouse model.
func ToDomainWarehouse(r db.Warehouse) *models.Warehouse {
return &models.Warehouse{
ID: r.ID,
Name: r.Name,
Description: r.Description.String,
Address: r.Address.String,
CreatedAt: r.CreatedAt,
UpdatedAt: r.UpdatedAt,
}
}
func ToModelWarehouse(r *models.Warehouse) *db.CreateWarehouseParams {
return &db.CreateWarehouseParams{
Name: r.Name,
Description: pgtype.Text{
String: r.Description,
Valid: r.Description != "",
},
Address: pgtype.Text{
String: r.Address,
Valid: r.Address != "",
},
CreatedAt: r.CreatedAt,
}
}
func ToUpdateModelWarehouse(r *models.Warehouse) *db.UpdateWarehouseParams {
return &db.UpdateWarehouseParams{
Name: r.Name,
Description: pgtype.Text{
String: r.Description,
Valid: r.Description != "",
},
Address: pgtype.Text{
String: r.Address,
Valid: r.Address != "",
},
UpdatedAt: r.UpdatedAt,
ID: r.ID,
}
}