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.