package transformer import ( "apskel-pos-be/internal/contract" "apskel-pos-be/internal/models" ) func CreateExpenseRequestToModel(req *contract.CreateExpenseRequest) *models.CreateExpenseRequest { return &models.CreateExpenseRequest{ Receiver: req.Receiver, TransactionDate: req.TransactionDate, CodeNumber: req.CodeNumber, ChartOfAccountID: req.ChartOfAccountID, OutletID: req.OutletID, Description: req.Description, Tax: req.Tax, Total: req.Total, } } func UpdateExpenseRequestToModel(req *contract.UpdateExpenseRequest) *models.UpdateExpenseRequest { return &models.UpdateExpenseRequest{ Receiver: req.Receiver, TransactionDate: req.TransactionDate, CodeNumber: req.CodeNumber, ChartOfAccountID: req.ChartOfAccountID, OutletID: req.OutletID, Description: req.Description, Tax: req.Tax, Total: req.Total, Reserved1: req.Reserved1, } } func ListExpenseRequestToModel(req *contract.ListExpenseRequest) *models.ListExpenseRequest { return &models.ListExpenseRequest{ Page: req.Page, Limit: req.Limit, Search: req.Search, } } func ExpenseModelResponseToResponse(expense *models.ExpenseResponse) *contract.ExpenseResponse { return &contract.ExpenseResponse{ ID: expense.ID, OrganizationID: expense.OrganizationID, OutletID: expense.OutletID, Receiver: expense.Receiver, TransactionDate: expense.TransactionDate, CodeNumber: expense.CodeNumber, ChartOfAccountID: expense.ChartOfAccountID, ChartOfAccountName: expense.ChartOfAccountName, Description: expense.Description, Tax: expense.Tax, Total: expense.Total, Reserved1: expense.Reserved1, CreatedAt: expense.CreatedAt, UpdatedAt: expense.UpdatedAt, } } func ExpenseModelResponsesToResponses(expenses []*models.ExpenseResponse) []contract.ExpenseResponse { if expenses == nil { return nil } responses := make([]contract.ExpenseResponse, len(expenses)) for i, expense := range expenses { response := ExpenseModelResponseToResponse(expense) if response != nil { responses[i] = *response } } return responses }