package repositories import ( "context" "wm-backend/internal/mapper" "wm-backend/internal/models" db "wm-backend/sqlc_gen" ) func CreateWareHouse(ctx context.Context, queries *db.Queries, body models.Warehouse) (models.Warehouse, error) { warehouse, err := queries.CreateWarehouse(ctx, *mapper.ToModelWarehouse(&body)) if err != nil { return models.Warehouse{}, err } return *mapper.ToDomainWarehouse(warehouse), nil } func GetWarehouseByID(ctx context.Context, queries *db.Queries, id int64) (models.Warehouse, error) { result, err := queries.GetWarehouseByID(ctx, id) if err != nil { return models.Warehouse{}, err } return *mapper.ToDomainWarehouse(result), nil } func ListWarehouses(ctx context.Context, queries *db.Queries) ([]models.Warehouse, error) { results, err := queries.ListWarehouses(ctx) if err != nil { return nil, err } var items []models.Warehouse for _, r := range results { items = append(items, *mapper.ToDomainWarehouse(r)) } return items, nil } func UpdateWarehouse(ctx context.Context, queries *db.Queries, body models.Warehouse) (models.Warehouse, error) { result, err := queries.UpdateWarehouse(ctx, *mapper.ToUpdateModelWarehouse(&body)) if err != nil { return models.Warehouse{}, err } return *mapper.ToDomainWarehouse(result), nil } func DeleteWarehouse(ctx context.Context, queries *db.Queries, id int64) error { return queries.DeleteWarehouse(ctx, id) }