package mappers import ( "apskel-pos-be/internal/entities" "apskel-pos-be/internal/models" ) // ToTierResponse converts a tier entity to a tier response func ToTierResponse(tier *entities.Tier) *models.TierResponse { if tier == nil { return nil } return &models.TierResponse{ ID: tier.ID, Name: tier.Name, MinPoints: tier.MinPoints, Benefits: tier.Benefits, CreatedAt: tier.CreatedAt, UpdatedAt: tier.UpdatedAt, } } // ToTierResponses converts a slice of tier entities to tier responses func ToTierResponses(tiers []entities.Tier) []models.TierResponse { responses := make([]models.TierResponse, len(tiers)) for i, tier := range tiers { responses[i] = *ToTierResponse(&tier) } return responses } // ToTierEntity converts a create tier request to a tier entity func ToTierEntity(req *models.CreateTierRequest) *entities.Tier { return &entities.Tier{ Name: req.Name, MinPoints: req.MinPoints, Benefits: req.Benefits, } } // UpdateTierEntity updates a tier entity with update request data func UpdateTierEntity(tier *entities.Tier, req *models.UpdateTierRequest) { if req.Name != nil { tier.Name = *req.Name } if req.MinPoints != nil { tier.MinPoints = *req.MinPoints } if req.Benefits != nil { tier.Benefits = req.Benefits } }