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"`
}
