package mappers import ( "apskel-pos-be/internal/entities" "apskel-pos-be/internal/models" ) // ToOmsetTrackerResponse converts an omset tracker entity to an omset tracker response func ToOmsetTrackerResponse(omsetTracker *entities.OmsetTracker) *models.OmsetTrackerResponse { if omsetTracker == nil { return nil } return &models.OmsetTrackerResponse{ ID: omsetTracker.ID, PeriodType: string(omsetTracker.PeriodType), PeriodStart: omsetTracker.PeriodStart, PeriodEnd: omsetTracker.PeriodEnd, Total: omsetTracker.Total, GameID: omsetTracker.GameID, Game: ToGameResponse(omsetTracker.Game), CreatedAt: omsetTracker.CreatedAt, UpdatedAt: omsetTracker.UpdatedAt, } } // ToOmsetTrackerResponses converts a slice of omset tracker entities to omset tracker responses func ToOmsetTrackerResponses(omsetTrackers []entities.OmsetTracker) []models.OmsetTrackerResponse { responses := make([]models.OmsetTrackerResponse, len(omsetTrackers)) for i, ot := range omsetTrackers { responses[i] = *ToOmsetTrackerResponse(&ot) } return responses } // ToOmsetTrackerEntity converts a create omset tracker request to an omset tracker entity func ToOmsetTrackerEntity(req *models.CreateOmsetTrackerRequest) *entities.OmsetTracker { return &entities.OmsetTracker{ PeriodType: entities.PeriodType(req.PeriodType), PeriodStart: req.PeriodStart, PeriodEnd: req.PeriodEnd, Total: req.Total, GameID: req.GameID, } } // UpdateOmsetTrackerEntity updates an omset tracker entity with update request data func UpdateOmsetTrackerEntity(omsetTracker *entities.OmsetTracker, req *models.UpdateOmsetTrackerRequest) { if req.PeriodType != nil { omsetTracker.PeriodType = entities.PeriodType(*req.PeriodType) } if req.PeriodStart != nil { omsetTracker.PeriodStart = *req.PeriodStart } if req.PeriodEnd != nil { omsetTracker.PeriodEnd = *req.PeriodEnd } if req.Total != nil { omsetTracker.Total = *req.Total } if req.GameID != nil { omsetTracker.GameID = req.GameID } }