package systemconfig import "time" type ConfigDTO struct { ID uint64 `json:"id"` Key string `json:"key"` Value string `json:"value"` Description string `json:"description"` UpdatedBy *uint64 `json:"updated_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type UpdateRequest struct { Value string `json:"value" binding:"required"` Description string `json:"description"` } type HomeAnnouncementsDTO struct { Items []string `json:"items"` } type HomeConfigDTO struct { Announcements []string `json:"announcements"` Banners []HomeBannerItem `json:"banners"` PublishOptions PublishOptionsDTO `json:"publish_options"` } type HomeBannerItem struct { Eyebrow string `json:"eyebrow"` Title string `json:"title"` Badge string `json:"badge"` Pill string `json:"pill"` Tone string `json:"tone"` ImageURL string `json:"image_url,omitempty"` } type PublishOptionsDTO struct { ServerOptions []string `json:"server_options"` FaceOptions []string `json:"face_options"` RankOptions []string `json:"rank_options"` InsuranceOptions []string `json:"insurance_options"` LevelOptions []string `json:"level_options"` LoginMethodOptions []string `json:"login_method_options"` RegionOptions []string `json:"region_options"` SkinGroups []PublishOptionGroup `json:"skin_groups"` QuantityItems []PublishQuantityItem `json:"quantity_items"` ScreenshotSlots []PublishScreenshotSlot `json:"screenshot_slots"` } type PublishOptionGroup struct { Key string `json:"key"` Title string `json:"title"` Options []string `json:"options"` } type PublishQuantityItem struct { Key string `json:"key"` Label string `json:"label"` Price string `json:"price"` Placeholder string `json:"placeholder,omitempty"` } type PublishScreenshotSlot struct { Key string `json:"key"` Label string `json:"label"` Required bool `json:"required"` Hint string `json:"hint"` }