package dto import "quyun/v2/app/requests" type ApplyForm struct { Name string `json:"name"` Bio string `json:"bio"` Avatar string `json:"avatar"` } type DashboardStats struct { TotalFollowers IntStatItem `json:"total_followers"` TotalRevenue FloatStatItem `json:"total_revenue"` PendingRefunds int `json:"pending_refunds"` NewMessages int `json:"new_messages"` } type IntStatItem struct { Value int `json:"value"` Trend float64 `json:"trend"` } type FloatStatItem struct { Value float64 `json:"value"` Trend float64 `json:"trend"` } type ContentCreateForm struct { Title string `json:"title"` Genre string `json:"genre"` Key string `json:"key"` Price float64 `json:"price"` Status string `json:"status"` CoverIDs []string `json:"cover_ids"` MediaIDs []string `json:"media_ids"` } type ContentUpdateForm struct { Title string `json:"title"` Genre string `json:"genre"` Key string `json:"key"` Price *float64 `json:"price"` Status string `json:"status"` CoverIDs []string `json:"cover_ids"` MediaIDs []string `json:"media_ids"` } type ContentEditDTO struct { ID string `json:"id"` Title string `json:"title"` Genre string `json:"genre"` Key string `json:"key"` Description string `json:"description"` Status string `json:"status"` Price float64 `json:"price"` EnableTrial bool `json:"enable_trial"` PreviewSeconds int `json:"preview_seconds"` Assets []AssetDTO `json:"assets"` } type CreatorContentItem struct { ID string `json:"id"` Title string `json:"title"` Genre string `json:"genre"` Key string `json:"key"` Price float64 `json:"price"` Views int `json:"views"` Likes int `json:"likes"` Cover string `json:"cover"` ImageCount int `json:"image_count"` VideoCount int `json:"video_count"` AudioCount int `json:"audio_count"` Status string `json:"status"` IsPurchased bool `json:"is_purchased"` } type AssetDTO struct { ID string `json:"id"` Role string `json:"role"` Type string `json:"type"` URL string `json:"url"` Name string `json:"name"` Size string `json:"size"` Sort int `json:"sort"` } type CreatorContentListFilter struct { requests.Pagination Status *string `query:"status"` Genre *string `query:"genre"` Keyword *string `query:"keyword"` } type CreatorOrderListFilter struct { requests.Pagination Status *string `query:"status"` Keyword *string `query:"keyword"` } type RefundForm struct { Action string `json:"action"` // accept, reject Reason string `json:"reason"` } type Settings struct { Name string `json:"name"` Bio string `json:"bio"` Avatar string `json:"avatar"` Cover string `json:"cover"` Description string `json:"description"` } type PayoutAccount struct { ID string `json:"id"` Type string `json:"type"` // bank, alipay Name string `json:"name"` Account string `json:"account"` Realname string `json:"realname"` } type WithdrawForm struct { Amount float64 `json:"amount"` Method string `json:"method"` // wallet, external AccountID string `json:"account_id"` }