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 }