92 lines
2.7 KiB
Go
92 lines
2.7 KiB
Go
|
|
package mappers
|
||
|
|
|
||
|
|
import (
|
||
|
|
"apskel-pos-be/internal/entities"
|
||
|
|
"apskel-pos-be/internal/models"
|
||
|
|
)
|
||
|
|
|
||
|
|
// Entity to Model conversions
|
||
|
|
func IngredientUnitConverterEntityToModel(entity *entities.IngredientUnitConverter) *models.IngredientUnitConverter {
|
||
|
|
if entity == nil {
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|
||
|
|
model := &models.IngredientUnitConverter{
|
||
|
|
ID: entity.ID,
|
||
|
|
OrganizationID: entity.OrganizationID,
|
||
|
|
IngredientID: entity.IngredientID,
|
||
|
|
FromUnitID: entity.FromUnitID,
|
||
|
|
ToUnitID: entity.ToUnitID,
|
||
|
|
ConversionFactor: entity.ConversionFactor,
|
||
|
|
IsActive: entity.IsActive,
|
||
|
|
CreatedAt: entity.CreatedAt,
|
||
|
|
UpdatedAt: entity.UpdatedAt,
|
||
|
|
CreatedBy: entity.CreatedBy,
|
||
|
|
UpdatedBy: entity.UpdatedBy,
|
||
|
|
}
|
||
|
|
|
||
|
|
// Map related entities
|
||
|
|
if entity.Ingredient != nil {
|
||
|
|
model.Ingredient = MapIngredientEntityToModel(entity.Ingredient)
|
||
|
|
}
|
||
|
|
if entity.FromUnit != nil {
|
||
|
|
model.FromUnit = MapUnitEntityToModel(entity.FromUnit)
|
||
|
|
}
|
||
|
|
if entity.ToUnit != nil {
|
||
|
|
model.ToUnit = MapUnitEntityToModel(entity.ToUnit)
|
||
|
|
}
|
||
|
|
|
||
|
|
return model
|
||
|
|
}
|
||
|
|
|
||
|
|
// Entity to Response conversions
|
||
|
|
func IngredientUnitConverterEntityToResponse(entity *entities.IngredientUnitConverter) *models.IngredientUnitConverterResponse {
|
||
|
|
if entity == nil {
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
|
||
|
|
response := &models.IngredientUnitConverterResponse{
|
||
|
|
ID: entity.ID,
|
||
|
|
OrganizationID: entity.OrganizationID,
|
||
|
|
IngredientID: entity.IngredientID,
|
||
|
|
FromUnitID: entity.FromUnitID,
|
||
|
|
ToUnitID: entity.ToUnitID,
|
||
|
|
ConversionFactor: entity.ConversionFactor,
|
||
|
|
IsActive: entity.IsActive,
|
||
|
|
CreatedAt: entity.CreatedAt,
|
||
|
|
UpdatedAt: entity.UpdatedAt,
|
||
|
|
CreatedBy: entity.CreatedBy,
|
||
|
|
UpdatedBy: entity.UpdatedBy,
|
||
|
|
}
|
||
|
|
|
||
|
|
// Map related entities
|
||
|
|
if entity.Ingredient != nil {
|
||
|
|
response.Ingredient = MapIngredientEntityToResponse(entity.Ingredient)
|
||
|
|
}
|
||
|
|
if entity.FromUnit != nil {
|
||
|
|
response.FromUnit = MapUnitEntityToResponse(entity.FromUnit)
|
||
|
|
}
|
||
|
|
if entity.ToUnit != nil {
|
||
|
|
response.ToUnit = MapUnitEntityToResponse(entity.ToUnit)
|
||
|
|
}
|
||
|
|
|
||
|
|
return response
|
||
|
|
}
|
||
|
|
|
||
|
|
// Batch conversion methods
|
||
|
|
func IngredientUnitConverterEntitiesToModels(entities []*entities.IngredientUnitConverter) []*models.IngredientUnitConverter {
|
||
|
|
models := make([]*models.IngredientUnitConverter, len(entities))
|
||
|
|
for i, entity := range entities {
|
||
|
|
models[i] = IngredientUnitConverterEntityToModel(entity)
|
||
|
|
}
|
||
|
|
return models
|
||
|
|
}
|
||
|
|
|
||
|
|
func IngredientUnitConverterEntitiesToResponses(entities []*entities.IngredientUnitConverter) []*models.IngredientUnitConverterResponse {
|
||
|
|
responses := make([]*models.IngredientUnitConverterResponse, len(entities))
|
||
|
|
for i, entity := range entities {
|
||
|
|
responses[i] = IngredientUnitConverterEntityToResponse(entity)
|
||
|
|
}
|
||
|
|
return responses
|
||
|
|
}
|