73 lines
2.0 KiB
Go
73 lines
2.0 KiB
Go
package dto
|
|
|
|
type ContentItem struct {
|
|
ID string `json:"id"`
|
|
Title string `json:"title"`
|
|
Cover string `json:"cover"`
|
|
Genre string `json:"genre"`
|
|
Type string `json:"type"` // video, audio, article
|
|
Price float64 `json:"price"`
|
|
AuthorID string `json:"author_id"`
|
|
AuthorName string `json:"author_name"`
|
|
AuthorAvatar string `json:"author_avatar"`
|
|
Views int `json:"views"`
|
|
Likes int `json:"likes"`
|
|
IsPurchased bool `json:"is_purchased"`
|
|
}
|
|
|
|
type ContentDetail struct {
|
|
ContentItem
|
|
Description string `json:"description"`
|
|
Body string `json:"body"`
|
|
MediaUrls []MediaURL `json:"media_urls"`
|
|
Meta Meta `json:"meta"`
|
|
IsLiked bool `json:"is_liked"`
|
|
IsFavorited bool `json:"is_favorited"`
|
|
}
|
|
|
|
type MediaURL struct {
|
|
Type string `json:"type"`
|
|
URL string `json:"url"`
|
|
Duration int `json:"duration"`
|
|
}
|
|
|
|
type Meta struct {
|
|
Role string `json:"role"`
|
|
Key string `json:"key"`
|
|
Beat string `json:"beat"`
|
|
}
|
|
|
|
type Comment struct {
|
|
ID string `json:"id"`
|
|
Content string `json:"content"`
|
|
UserID string `json:"user_id"`
|
|
UserNickname string `json:"user_nickname"`
|
|
UserAvatar string `json:"user_avatar"`
|
|
CreateTime string `json:"create_time"`
|
|
Likes int `json:"likes"`
|
|
IsLiked bool `json:"is_liked"`
|
|
ReplyTo string `json:"reply_to"`
|
|
}
|
|
|
|
type CommentCreateForm struct {
|
|
Content string `json:"content"`
|
|
ReplyTo string `json:"reply_to"`
|
|
}
|
|
|
|
type Topic struct {
|
|
ID string `json:"id"`
|
|
Title string `json:"title"`
|
|
Cover string `json:"cover"`
|
|
Tag string `json:"tag"`
|
|
Count int `json:"count"`
|
|
}
|
|
|
|
type ContentPrice struct {
|
|
Currency string `json:"currency"`
|
|
PriceAmount float64 `json:"price_amount"`
|
|
DiscountType string `json:"discount_type"`
|
|
DiscountValue float64 `json:"discount_value"`
|
|
DiscountStartAt string `json:"discount_start_at"`
|
|
DiscountEndAt string `json:"discount_end_at"`
|
|
}
|