model

package
v0.23.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2022 License: AGPL-3.0, AGPL-3.0-only Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RevisionTypeSubject                  = 1  // 条目
	RevisionTypeSubjectCharacterRelation = 5  // 条目->角色关联
	RevisionTypeSubjectCastRelation      = 6  // 条目->声优关联
	RevisionTypeSubjectPersonRelation    = 10 // 条目->人物关联
	RevisionTypeSubjectMerge             = 11 // 条目管理
	RevisionTypeSubjectErase             = 12
	RevisionTypeSubjectRelation          = 17 // 条目关联
	RevisionTypeSubjectLock              = 103
	RevisionTypeSubjectUnlock            = 104
	RevisionTypeCharacter                = 2  // 角色
	RevisionTypeCharacterSubjectRelation = 4  // 角色->条目关联
	RevisionTypeCharacterCastRelation    = 7  // 角色->声优关联
	RevisionTypeCharacterMerge           = 13 // 角色管理
	RevisionTypeCharacterErase           = 14
	RevisionTypePerson                   = 3  // 人物
	RevisionTypePersonCastRelation       = 8  // 人物->声优关联
	RevisionTypePersonSubjectRelation    = 9  // 人物->条目关联
	RevisionTypePersonMerge              = 15 // 人物管理
	RevisionTypePersonErase              = 16
	RevisionTypeEp                       = 18  // 章节
	RevisionTypeEpMerge                  = 181 // 章节管理
	RevisionTypeEpMove                   = 182
	RevisionTypeEpLock                   = 183
	RevisionTypeEpUnlock                 = 184
	RevisionTypeEpErase                  = 185
)
View Source
const (
	// CollectPrivacyNone 默认公开收藏。
	CollectPrivacyNone = 0
	// CollectPrivacySelf 私有收藏,正常计入评分。
	CollectPrivacySelf = 1
	// CollectPrivacyBan Shadow Ban, 显示为私有收藏,不计入评分。
	CollectPrivacyBan = 2
)

Variables

This section is empty.

Functions

func CharacterRevisionTypes

func CharacterRevisionTypes() []uint8

func PersonRevisionTypes

func PersonRevisionTypes() []uint8

func SubjectTypeString

func SubjectTypeString(s uint8) string

Types

type Character

type Character struct {
	Name           string
	Image          string
	Infobox        string
	Summary        string
	ID             CharacterID
	Redirect       CharacterID
	CollectCount   uint32
	CommentCount   uint32
	FieldBirthYear uint16
	Producer       bool
	Type           uint8
	Artist         bool
	Seiyu          bool
	Writer         bool
	Illustrator    bool
	Actor          bool
	FieldBloodType uint8
	FieldGender    uint8
	FieldBirthMon  uint8
	Locked         bool
	FieldBirthDay  uint8
	NSFW           bool
}

type CharacterID added in v0.20.2

type CharacterID uint32

func (CharacterID) Value added in v0.20.2

func (v CharacterID) Value() (driver.Value, error)

type CharacterRevision

type CharacterRevision struct {
	Data CharacterRevisionData
	RevisionCommon
}

CharacterRevision concrete revision data type.

type CharacterRevisionData

type CharacterRevisionData map[string]CharacterRevisionDataItem

type CharacterRevisionDataItem added in v0.16.9

type CharacterRevisionDataItem struct {
	Name    string `json:"name" mapstructure:"crt_name"`
	InfoBox string `json:"infobox" mapstructure:"crt_infobox"`
	Summary string `json:"summary"`
	Extra   Extra  `json:"extra"`
}

type Comment added in v0.22.0

type Comment struct {
	CreatedAt   time.Time
	Content     string
	SubComments []SubComment
	CreatorID   UserID
	ID          CommentID
	State       CommentState
}

type CommentID added in v0.22.0

type CommentID uint32

type CommentState added in v0.22.0

type CommentState uint8
const (
	CommentStateNone CommentState = 0 // 正常
	// CommentStateAdminCloseTopic 管理员关闭主题 https://bgm.tv/subject/topic/12629#post_108127
	CommentStateAdminCloseTopic CommentState = 1 // 关闭
	CommentStateAdminReopen     CommentState = 2 // 重开
	CommentStateAdminPin        CommentState = 3 // 置顶
	CommentStateAdminMerge      CommentState = 4 // 合并
	// CommentStateAdminSilentTopic 管理员下沉 https://bgm.tv/subject/topic/18784#post_160402
	CommentStateAdminSilentTopic CommentState = 5 // 下沉
	CommentStateUserDelete       CommentState = 6 // 自行删除
	CommentStateAdminDelete      CommentState = 7 // 管理员删除
)

type Count

type Count struct {
	Field1  uint32
	Field2  uint32
	Field3  uint32
	Field4  uint32
	Field5  uint32
	Field6  uint32
	Field7  uint32
	Field8  uint32
	Field9  uint32
	Field10 uint32
}

type EpType added in v0.20.2

type EpType = uint8
const (
	EpTypeNormal  EpType = 0
	EpTypeSpecial EpType = 1
	EpTypeOpening EpType = 2
	EpTypeEnding  EpType = 3
	EpTypeMad     EpType = 4
	EpTypeOther   EpType = 6
)

type Episode

type Episode struct {
	Airdate     string
	Name        string
	NameCN      string
	Duration    string
	Description string
	Ep          float32
	SubjectID   SubjectID
	Sort        float32
	Comment     uint32
	ID          EpisodeID
	Type        EpType
	Disc        uint8
}

type EpisodeCollection added in v0.22.5

type EpisodeCollection uint8
const (
	EpisodeCollectionAll     EpisodeCollection = 0 // 全部
	EpisodeCollectionWish    EpisodeCollection = 1 // 想看
	EpisodeCollectionDone    EpisodeCollection = 2 // 看过
	EpisodeCollectionDropped EpisodeCollection = 3 // 抛弃
)

type EpisodeID added in v0.20.2

type EpisodeID uint32

func (EpisodeID) Value added in v0.20.2

func (v EpisodeID) Value() (driver.Value, error)

type Extra

type Extra struct {
	Img string `json:"img,omitempty"`
}

type Group added in v0.20.9

type Group struct {
	CreatedAt   time.Time
	Name        string
	Icon        string
	Description string
	Title       string
	ID          GroupID
	NSFW        bool
	MemberCount int64
}

type GroupID

type GroupID uint16

func (GroupID) Value added in v0.20.9

func (v GroupID) Value() (driver.Value, error)

type GroupMember added in v0.20.9

type GroupMember struct {
	JoinAt time.Time
	UserID UserID
	Mod    bool
}

type Index

type Index struct {
	CreatedAt   time.Time
	Title       string
	Description string
	CreatorID   UserID
	Total       uint32
	ID          IndexID
	Comments    uint32
	Collects    uint32
	Ban         bool
	NSFW        bool
}

type IndexID added in v0.20.2

type IndexID = uint32

type Person

type Person struct {
	Name           string
	Image          string
	Infobox        string
	Summary        string
	ID             PersonID
	Redirect       PersonID
	CollectCount   uint32
	CommentCount   uint32
	FieldBirthYear uint16
	Producer       bool
	Mangaka        bool
	Type           uint8
	Artist         bool
	Seiyu          bool
	Writer         bool
	Illustrator    bool
	Actor          bool
	FieldBloodType uint8
	FieldGender    uint8
	FieldBirthMon  uint8
	Locked         bool
	FieldBirthDay  uint8
}

func (Person) Careers

func (p Person) Careers() []string

type PersonCharacterRelation

type PersonCharacterRelation struct {
	Character Character
	Person    Person
	Subject   Subject
}

type PersonID added in v0.20.2

type PersonID uint32

func (PersonID) Value added in v0.20.2

func (v PersonID) Value() (driver.Value, error)

type PersonRevision added in v0.16.9

type PersonRevision struct {
	Data PersonRevisionData
	RevisionCommon
}

type PersonRevisionData added in v0.16.9

type PersonRevisionData map[string]PersonRevisionDataItem

type PersonRevisionDataItem

type PersonRevisionDataItem struct {
	Name       string     `json:"name" mapstructure:"prsn_name"`
	InfoBox    string     `json:"infobox" mapstructure:"prsn_infobox"`
	Summary    string     `json:"summary" mapstructure:"prsn_summary"`
	Profession Profession `json:"profession"`
	Extra      Extra      `json:"extra"`
}

type Platform

type Platform struct {
	Alias        string `json:"alias"`
	Type         string `json:"type"`
	TypeCN       string `json:"type_cn"`
	WikiTpl      string `json:"wiki_tpl"`
	SearchString string `json:"search_string"`
	ID           int    `json:"id"`
	EnableHeader bool   `json:"enable_header"`
}

func (Platform) String

func (p Platform) String() string

type Profession

type Profession struct {
	Writer      string `json:"writer,omitempty"`
	Producer    string `json:"producer,omitempty"`
	Mangaka     string `json:"mangaka,omitempty"`
	Artist      string `json:"artist,omitempty"`
	Seiyu       string `json:"seiyu,omitempty"`
	Illustrator string `json:"illustrator,omitempty"`
	Actor       string `json:"actor,omitempty"`
}

type Rating

type Rating struct {
	Rank  uint32
	Total uint32
	Count Count
	Score float64
}

type RevisionCommon

type RevisionCommon struct {
	CreatedAt time.Time
	Summary   string
	ID        RevisionID
	CreatorID UserID
	Type      uint8
}

RevisionCommon common parts in revision.

type RevisionID added in v0.20.2

type RevisionID = uint32

type RevisionType added in v0.20.2

type RevisionType = uint8

type SubComment added in v0.22.0

type SubComment struct {
	CreatedAt time.Time
	Content   string
	CreatorID UserID
	Related   CommentID
	State     CommentState
	ID        CommentID
	ObjectID  TopicID
}

type Subject

type Subject struct {
	Image         string
	Summary       string
	Name          string
	Date          string // first release date
	NameCN        string
	Infobox       string
	CompatRawTags []byte // compat field for old tags
	Tags          []Tag
	OnHold        uint32
	Dropped       uint32
	Volumes       uint32
	Eps           uint32
	Wish          uint32
	Collect       uint32
	Doing         uint32
	ID            SubjectID
	PlatformID    uint16
	TypeID        SubjectType
	Ban           uint8
	Airtime       uint8 // air weekday, start from
	NSFW          bool
	Rating        Rating
	Redirect      SubjectID
}

func (Subject) Locked

func (s Subject) Locked() bool

type SubjectCharacterRelation

type SubjectCharacterRelation struct {
	Character Character
	Subject   Subject
	TypeID    uint8
}

type SubjectCollection added in v0.20.9

type SubjectCollection uint8
const (
	SubjectCollectionAll     SubjectCollection = 0 // 全部
	SubjectCollectionWish    SubjectCollection = 1 // 想看
	SubjectCollectionDone    SubjectCollection = 2 // 看过
	SubjectCollectionDoing   SubjectCollection = 3 // 在看
	SubjectCollectionOnHold  SubjectCollection = 4 // 搁置
	SubjectCollectionDropped SubjectCollection = 5 // 抛弃
)

type SubjectID added in v0.20.2

type SubjectID uint32

func (SubjectID) Value added in v0.20.2

func (v SubjectID) Value() (driver.Value, error)

type SubjectInternalRelation

type SubjectInternalRelation struct {
	Source      Subject
	Destination Subject
	TypeID      uint16
}

type SubjectPersonRelation

type SubjectPersonRelation struct {
	Person  Person
	Subject Subject
	TypeID  uint16
}

type SubjectRevision added in v0.16.9

type SubjectRevision struct {
	Data *SubjectRevisionData
	RevisionCommon
}

type SubjectRevisionData

type SubjectRevisionData struct {
	Name         string
	NameCN       string
	VoteField    string
	FieldInfobox string
	FieldSummary string
	Platform     uint16
	TypeID       uint16
	SubjectID    SubjectID
	FieldEps     uint32
	Type         uint8
}

type SubjectType

type SubjectType = uint8
const (
	SubjectTypeAll   SubjectType = 0
	SubjectTypeBook  SubjectType = 1 // 书籍
	SubjectTypeAnime SubjectType = 2 // 动画
	SubjectTypeMusic SubjectType = 3 // 音乐
	SubjectTypeGame  SubjectType = 4 // 游戏
	SubjectTypeReal  SubjectType = 6 // 三次元
)

type Tag added in v0.21.1

type Tag struct {
	Name  string
	Count int
}

type Topic added in v0.22.0

type Topic struct {
	CreatedAt time.Time
	UpdatedAt time.Time
	Title     string
	ID        TopicID
	CreatorID UserID
	Replies   uint32
	ObjectID  uint32
	State     CommentState
	Status    TopicStatus
}

type TopicDetail added in v0.23.2

type TopicDetail struct {
	Content string
	Replies []Comment
	Topic
}

type TopicID added in v0.22.0

type TopicID uint32

type TopicStatus added in v0.22.0

type TopicStatus uint8
const (
	TopicStatusBan    TopicStatus = 0
	TopicStatusNormal TopicStatus = 1
	TopicStatusReview TopicStatus = 2
)

type User

type User struct {
	RegistrationTime time.Time
	NickName         string
	Avatar           string
	Sign             string
	UserName         string
	ID               UserID
	UserGroup        UserGroupID
}

User is visible for everyone.

type UserEpisodeCollection added in v0.23.0

type UserEpisodeCollection struct {
	ID   EpisodeID
	Type EpisodeCollection
}

type UserGroupID added in v0.20.2

type UserGroupID = uint8

type UserID added in v0.20.2

type UserID uint32

func (UserID) Value added in v0.20.2

func (v UserID) Value() (driver.Value, error)

type UserSubjectCollection added in v0.22.5

type UserSubjectCollection struct {
	UpdatedAt   time.Time
	Comment     string
	Tags        []string
	VolStatus   uint32
	EpStatus    uint32
	SubjectID   SubjectID
	SubjectType uint8
	Rate        uint8
	Type        SubjectCollection
	Private     bool
}

type UserSubjectEpisodesCollection added in v0.23.0

type UserSubjectEpisodesCollection map[EpisodeID]UserEpisodeCollection

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL