go-common/app/interface/main/playlist/model/playlist.go

95 lines
2.1 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package model
import (
"go-common/library/time"
arcmdl "go-common/app/service/main/archive/api"
favmdl "go-common/app/service/main/favorite/model"
xtime "go-common/library/time"
)
// PlDBusType databus type playlist
const PlDBusType = "playlist"
// ArcSort struct.
type ArcSort struct {
Aid int64 `json:"aid"`
Sort int64 `json:"sort"`
Desc string `json:"desc"`
}
// Videos add video result.
type Videos struct {
RightAids []int64 `json:"right_aids"`
WrongAids []int64 `json:"wrong_aids"`
}
// Playlist struct.
type Playlist struct {
Pid int64 `json:"pid"`
*favmdl.Folder
Stat *Stat `json:"stat,omitempty"`
Author *arcmdl.Author `json:"owner,omitempty"`
FavoriteTime time.Time `json:"favorite_time,omitempty"`
IsFavorite bool `json:"is_favorite"`
}
// Stat playlist stat.
type Stat struct {
Pid int64 `json:"pid"`
View int64 `json:"view"`
Fav int64 `json:"favorite"`
Reply int64 `json:"reply"`
Share int64 `json:"share"`
}
// PlStat playlist stat
type PlStat struct {
ID int64 `json:"id"`
Mid int64 `json:"mid"`
Fid int64 `json:"fid"`
View int64 `json:"view"`
Reply int64 `json:"reply"`
Fav int64 `json:"favorite"`
Share int64 `json:"share"`
MTime xtime.Time `json:"mtime"`
}
// View arc view.
type View struct {
*arcmdl.Arc
Pages []*arcmdl.Page `json:"pages"`
}
// PlView playlist view struct
type PlView struct {
*View
PlayDesc string `json:"play_desc"`
}
// ArcList playlist archive list.
type ArcList struct {
List []*PlView `json:"list"`
}
// ToView to view page struct.
type ToView struct {
*Playlist
List []*View `json:"list"`
Favorite bool `json:"favorite"`
}
// SearchArc search archive struct
type SearchArc struct {
Aid int64 `json:"aid"`
Title string `json:"title"`
Pic string `json:"pic"`
Duration string `json:"duration"`
Mid int64 `json:"mid"`
Author string `json:"author"`
Play int64 `json:"play"`
Review int64 `json:"review"`
VideoReview int64 `json:"video_review"`
Favorites int64 `json:"favorites"`
}