feat: add invoice-config-items management functionality

This commit is contained in:
Tran Anh Tuan
2026-05-12 09:52:25 +07:00
parent eac8a686d1
commit c39b010e5e
14 changed files with 1571 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
package mapper
import (
"wm-backend/internal/models"
db "wm-backend/sqlc_gen"
"github.com/jackc/pgx/v5/pgtype"
)
func ToDomainInvoiceConfigItem(r db.InvoiceConfigItem) *models.InvoiceConfigItem {
return &models.InvoiceConfigItem{
ID: r.ID,
InvoiceConfigID: r.InvoiceConfigID,
ComponentID: r.ComponentID,
RequiredQuantity: r.RequiredQuantity,
AllowAlternative: r.AllowAlternative,
PriorityOrder: r.PriorityOrder,
Note: r.Note.String,
Metadata: r.Metadata,
}
}
func ToModelInvoiceConfigItem(r *models.InvoiceConfigItem) *db.CreateInvoiceConfigItemParams {
return &db.CreateInvoiceConfigItemParams{
InvoiceConfigID: r.InvoiceConfigID,
ComponentID: r.ComponentID,
RequiredQuantity: r.RequiredQuantity,
AllowAlternative: r.AllowAlternative,
PriorityOrder: r.PriorityOrder,
Note: pgtype.Text{
String: r.Note,
Valid: r.Note != "",
},
Metadata: r.Metadata,
}
}
func ToUpdateModelInvoiceConfigItem(r *models.InvoiceConfigItem) *db.UpdateInvoiceConfigItemParams {
return &db.UpdateInvoiceConfigItemParams{
RequiredQuantity: r.RequiredQuantity,
AllowAlternative: r.AllowAlternative,
PriorityOrder: r.PriorityOrder,
Note: pgtype.Text{
String: r.Note,
Valid: r.Note != "",
},
Metadata: r.Metadata,
ID: r.ID,
}
}