78 lines
2.2 KiB
Go
78 lines
2.2 KiB
Go
package dto
|
|
|
|
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"`
|
|
Price float64 `json:"price"`
|
|
MediaIDs []string `json:"media_ids"`
|
|
}
|
|
|
|
type ContentUpdateForm struct {
|
|
Title string `json:"title"`
|
|
Genre string `json:"genre"`
|
|
Price float64 `json:"price"`
|
|
MediaIDs []string `json:"media_ids"`
|
|
}
|
|
|
|
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"`
|
|
}
|
|
|
|
// Re-export or Wrap
|
|
// Since ContentItem and Order are in the same package 'dto',
|
|
// we don't need type aliases unless we want to rename them.
|
|
// If creator.go uses them, it can use dto.ContentItem directly.
|
|
// But creator.go is in `v1` (package v1) and imports `dto`.
|
|
// So it uses `dto.ContentItem`.
|
|
// So we don't need aliases here if the original types are in this package.
|
|
|
|
// However, if the originals were in `content/dto` and `user/dto` and we moved them to `v1/dto` (this package),
|
|
// then we just have them defined in `content.go` (dto) and `user.go` (dto).
|
|
// So aliases are not needed if they are in the same package.
|