38 lines
1.4 KiB
Go
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"`
|
|
}
|