Files
warehouse-management-BE/internal/mapper/invoice_config_item_mapper.go
2026-05-12 09:52:25 +07:00

51 lines
1.3 KiB
Go

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,
}
}