package models import ( "time" "github.com/google/uuid" ) // Request Models type GetCustomerGamesRequest struct { // No additional fields needed - customer ID comes from JWT token } // Response Models type GetCustomerGamesResponse struct { Status string `json:"status"` Message string `json:"message"` Data *GetCustomerGamesResponseData `json:"data,omitempty"` } type GetCustomerGamesResponseData struct { Games []CustomerGameResponse `json:"games"` } type CustomerGameResponse struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Type string `json:"type"` IsActive bool `json:"is_active"` Metadata *map[string]interface{} `json:"metadata,omitempty"` Prizes []CustomerGamePrizeResponse `json:"prizes,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type CustomerGamePrizeResponse struct { ID uuid.UUID `json:"id"` GameID uuid.UUID `json:"game_id"` Name string `json:"name"` Image *string `json:"image,omitempty"` Metadata *map[string]interface{} `json:"metadata,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // Ferris Wheel Game Models type GetFerrisWheelGameRequest struct { // No additional fields needed - customer ID comes from JWT token } type GetFerrisWheelGameResponse struct { Status string `json:"status"` Message string `json:"message"` Data *GetFerrisWheelGameResponseData `json:"data,omitempty"` } type GetFerrisWheelGameResponseData struct { Game CustomerGameResponse `json:"game"` Prizes []CustomerGamePrizeResponse `json:"prizes"` }