Files
VLoop/backend/internal/feed/entity.go
2025-12-25 22:40:20 +08:00

59 lines
1.6 KiB
Go

package feed
type FeedAuthor struct {
ID uint `json:"id"`
Username string `json:"username"`
}
type FeedVideoItem struct {
ID uint `json:"id"`
Author FeedAuthor `json:"author"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
PlayURL string `json:"play_url"`
CoverURL string `json:"cover_url"`
CreateTime int64 `json:"create_time"`
LikesCount int64 `json:"likes_count"`
IsLiked bool `json:"is_liked"`
}
type ListLatestRequest struct {
Limit int `json:"limit"`
LatestTime int64 `json:"latest_time"`
}
type ListLatestResponse struct {
VideoList []FeedVideoItem `json:"video_list"`
NextTime int64 `json:"next_time"`
HasMore bool `json:"has_more"`
}
type ListLikesCountRequest struct {
Limit int `json:"limit"`
LikesCountBefore *int64 `json:"likes_count_before,omitempty"`
IDBefore *uint `json:"id_before,omitempty"`
}
type LikesCountCursor struct {
LikesCount int64
ID uint
}
type ListLikesCountResponse struct {
VideoList []FeedVideoItem `json:"video_list"`
NextLikesCountBefore *int64 `json:"next_likes_count_before,omitempty"`
NextIDBefore *uint `json:"next_id_before,omitempty"`
HasMore bool `json:"has_more"`
}
type ListByFollowingRequest struct {
Limit int `json:"limit"`
LatestTime int64 `json:"latest_time"`
}
type ListByFollowingResponse struct {
VideoList []FeedVideoItem `json:"video_list"`
NextTime int64 `json:"next_time"`
HasMore bool `json:"has_more"`
}