54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
package mappers
|
|
|
|
import (
|
|
"apskel-pos-be/internal/entities"
|
|
"apskel-pos-be/internal/models"
|
|
)
|
|
|
|
func CreatePurchaseCategoryRequestToEntity(req *models.CreatePurchaseCategoryRequest) *entities.PurchaseCategory {
|
|
if req == nil {
|
|
return nil
|
|
}
|
|
|
|
return &entities.PurchaseCategory{
|
|
OrganizationID: req.OrganizationID,
|
|
ParentID: req.ParentID,
|
|
Name: req.Name,
|
|
Type: entities.PurchaseCategoryType(req.Type),
|
|
SortOrder: req.SortOrder,
|
|
IsActive: req.IsActive,
|
|
}
|
|
}
|
|
|
|
func PurchaseCategoryEntityToResponse(entity *entities.PurchaseCategory) *models.PurchaseCategoryResponse {
|
|
if entity == nil {
|
|
return nil
|
|
}
|
|
|
|
return &models.PurchaseCategoryResponse{
|
|
ID: entity.ID,
|
|
OrganizationID: entity.OrganizationID,
|
|
PresetID: entity.PresetID,
|
|
ParentID: entity.ParentID,
|
|
Code: entity.Code,
|
|
Name: entity.Name,
|
|
Type: string(entity.Type),
|
|
SortOrder: entity.SortOrder,
|
|
IsSystem: entity.IsSystem,
|
|
IsActive: entity.IsActive,
|
|
CreatedAt: entity.CreatedAt,
|
|
UpdatedAt: entity.UpdatedAt,
|
|
}
|
|
}
|
|
|
|
func PurchaseCategoryEntitiesToResponses(categoryEntities []*entities.PurchaseCategory) []models.PurchaseCategoryResponse {
|
|
responses := make([]models.PurchaseCategoryResponse, len(categoryEntities))
|
|
for i, entity := range categoryEntities {
|
|
response := PurchaseCategoryEntityToResponse(entity)
|
|
if response != nil {
|
|
responses[i] = *response
|
|
}
|
|
}
|
|
return responses
|
|
}
|