feat: add cabinet management functionality

This commit is contained in:
Tran Anh Tuan
2026-05-08 15:26:31 +07:00
parent 459ff6b384
commit 58cfe890a1
14 changed files with 1981 additions and 856 deletions

View File

@@ -0,0 +1,43 @@
package mapper
import (
"wm-backend/internal/models"
db "wm-backend/sqlc_gen"
"github.com/jackc/pgx/v5/pgtype"
)
func ToDomainCabinet(r db.Cabinet) *models.Cabinet {
return &models.Cabinet{
ID: r.ID,
RoomID: r.RoomID,
Name: r.Name,
Description: r.Description.String,
CreatedAt: r.CreatedAt,
UpdatedAt: r.UpdatedAt,
}
}
func ToModelCabinet(r *models.Cabinet) *db.CreateCabinetParams {
return &db.CreateCabinetParams{
RoomID: r.RoomID,
Name: r.Name,
Description: pgtype.Text{
String: r.Description,
Valid: r.Description != "",
},
CreatedAt: r.CreatedAt,
}
}
func ToUpdateModelCabinet(r *models.Cabinet) *db.UpdateCabinetParams {
return &db.UpdateCabinetParams{
Name: r.Name,
Description: pgtype.Text{
String: r.Description,
Valid: r.Description != "",
},
UpdatedAt: r.UpdatedAt,
ID: r.ID,
}
}