init
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package transformer
|
||||
|
||||
import (
|
||||
"apskel-pos-be/internal/appcontext"
|
||||
"apskel-pos-be/internal/contract"
|
||||
"apskel-pos-be/internal/models"
|
||||
)
|
||||
|
||||
func CreateCategoryRequestToModel(apctx *appcontext.ContextInfo, req *contract.CreateCategoryRequest) *models.CreateCategoryRequest {
|
||||
return &models.CreateCategoryRequest{
|
||||
OrganizationID: apctx.OrganizationID,
|
||||
Name: req.Name,
|
||||
Description: req.Description,
|
||||
ImageURL: nil,
|
||||
SortOrder: 0,
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateCategoryRequestToModel(req *contract.UpdateCategoryRequest) *models.UpdateCategoryRequest {
|
||||
return &models.UpdateCategoryRequest{
|
||||
Name: req.Name,
|
||||
Description: req.Description,
|
||||
ImageURL: nil,
|
||||
SortOrder: nil,
|
||||
IsActive: nil,
|
||||
}
|
||||
}
|
||||
|
||||
func CategoryModelResponseToResponse(cat *models.CategoryResponse) *contract.CategoryResponse {
|
||||
if cat == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &contract.CategoryResponse{
|
||||
ID: cat.ID,
|
||||
OrganizationID: cat.OrganizationID,
|
||||
Name: cat.Name,
|
||||
Description: cat.Description,
|
||||
BusinessType: "restaurant", // Default business type
|
||||
Metadata: map[string]interface{}{},
|
||||
CreatedAt: cat.CreatedAt,
|
||||
UpdatedAt: cat.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func CategoriesToResponses(categories []models.CategoryResponse) []contract.CategoryResponse {
|
||||
responses := make([]contract.CategoryResponse, len(categories))
|
||||
for i, cat := range categories {
|
||||
response := CategoryModelResponseToResponse(&cat)
|
||||
if response != nil {
|
||||
responses[i] = *response
|
||||
}
|
||||
}
|
||||
return responses
|
||||
}
|
||||
Reference in New Issue
Block a user