feat: implement new structure
This commit is contained in:
77
backend/app/http/v1/dto/creator.go
Normal file
77
backend/app/http/v1/dto/creator.go
Normal file
@@ -0,0 +1,77 @@
|
||||
package dto
|
||||
|
||||
type ApplyForm struct {
|
||||
Name string `json:"name"`
|
||||
Bio string `json:"bio"`
|
||||
Avatar string `json:"avatar"`
|
||||
}
|
||||
|
||||
type DashboardStats struct {
|
||||
TotalFollowers IntStatItem `json:"totalFollowers"`
|
||||
TotalRevenue FloatStatItem `json:"totalRevenue"`
|
||||
PendingRefunds int `json:"pendingRefunds"`
|
||||
NewMessages int `json:"newMessages"`
|
||||
}
|
||||
|
||||
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:"mediaIds"`
|
||||
}
|
||||
|
||||
type ContentUpdateForm struct {
|
||||
Title string `json:"title"`
|
||||
Genre string `json:"genre"`
|
||||
Price float64 `json:"price"`
|
||||
MediaIDs []string `json:"mediaIds"`
|
||||
}
|
||||
|
||||
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:"accountId"`
|
||||
}
|
||||
|
||||
// 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.
|
||||
Reference in New Issue
Block a user