Add Tiers and Game Prize
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user