133 lines
3.5 KiB
Go
133 lines
3.5 KiB
Go
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"`
|
|
IsPinned *bool `json:"is_pinned"`
|
|
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"`
|
|
Visibility string `json:"visibility"`
|
|
CreatedAt string `json:"created_at"`
|
|
IsPinned bool `json:"is_pinned"`
|
|
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"`
|
|
Visibility *string `query:"visibility"`
|
|
Genre *string `query:"genre"`
|
|
Key *string `query:"key"`
|
|
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 {
|
|
ID string `json:"id"`
|
|
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"`
|
|
}
|