Files
sale/backend/internal/schemas/lottery.go
T

38 lines
1.4 KiB
Go

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