package schemas type CreateLotteryRequest struct { Name string `json:"name" binding:"required"` Description string `json:"description"` StartTime string `json:"start_time" binding:"required"` EndTime string `json:"end_time" binding:"required"` Cycle string `json:"cycle"` DailyQuota *int `json:"daily_quota"` TotalQuota *int `json:"total_quota"` RegistrationValidity *int `json:"registration_validity"` } type UpdateLotteryRequest struct { Name *string `json:"name"` Description *string `json:"description"` StartTime *string `json:"start_time"` EndTime *string `json:"end_time"` Cycle *string `json:"cycle"` DailyQuota *int `json:"daily_quota"` TotalQuota *int `json:"total_quota"` RegistrationValidity *int `json:"registration_validity"` IsActive *bool `json:"is_active"` } type AddLotteryPrizeRequest struct { Name string `json:"name" binding:"required"` Type string `json:"type" binding:"required,oneof=physical virtual credit"` Quantity int `json:"quantity" binding:"required,min=1"` Weight int `json:"weight"` CreditReward *int `json:"credit_reward"` DrawMode string `json:"draw_mode"` } type RegisterLotteryRequest struct { LotteryID uint `json:"lottery_id" binding:"required"` }