res

package
v0.18.2 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2022 License: AGPL-3.0, AGPL-3.0-only Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultImageURL = "https://lain.bgm.tv/img/no_icon_subject.png"
)

Variables

This section is empty.

Functions

func HTTPError

func HTTPError(c *fiber.Ctx, code int, message string) error

func InternalError

func InternalError(c *fiber.Ctx, err error, message string) error

func JSON

func JSON(c *fiber.Ctx, v interface{}) error

func SelectPersonImageURL added in v0.17.0

func SelectPersonImageURL(s PersonImages, key string) (string, bool)

func SelectSubjectImageURL added in v0.17.0

func SelectSubjectImageURL(s SubjectImages, key string) (string, bool)

func WithError

func WithError(c *fiber.Ctx, err error, code int, message string) error

Types

type Actor

type Actor struct {
	Images       PersonImages       `json:"images"`
	Name         string             `json:"name"`
	ShortSummary string             `json:"short_summary"`
	Career       []string           `json:"career"`
	ID           model.PersonIDType `json:"id"`
	Type         uint8              `json:"type"`
	Locked       bool               `json:"locked"`
}

type Avatar

type Avatar struct {
	Large  string `json:"large"`
	Medium string `json:"medium"`
	Small  string `json:"small"`
}

func (Avatar) Fill

func (a Avatar) Fill(s string) Avatar

type CharacterRelatedPerson

type CharacterRelatedPerson struct {
	Images        PersonImages `json:"images"`
	Name          string
	SubjectName   string                `json:"subject_name"`
	SubjectNameCn string                `json:"subject_name_cn"`
	SubjectID     model.SubjectIDType   `json:"subject_id"`
	ID            model.CharacterIDType `json:"id"`
	Type          uint8                 `json:"type" doc:"person type"`
}

type CharacterRelatedSubject

type CharacterRelatedSubject struct {
	Staff  string              `json:"staff"`
	Name   string              `json:"name"`
	NameCn string              `json:"name_cn"`
	Image  string              `json:"image"`
	ID     model.SubjectIDType `json:"id"`
}

type CharacterRevision

type CharacterRevision struct {
	CreatedAt time.Time                            `json:"created_at"`
	Data      map[string]CharacterRevisionDataItem `json:"data,omitempty"`
	Creator   Creator                              `json:"creator"`
	Summary   string                               `json:"summary"`
	ID        uint32                               `json:"id"`
	Type      uint8                                `json:"type"`
}

type CharacterRevisionDataItem

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 CharacterV0

type CharacterV0 struct {
	BirthMon  *uint8       `json:"birth_mon"`
	Gender    *string      `json:"gender"`
	BirthDay  *uint8       `json:"birth_day"`
	BirthYear *uint16      `json:"birth_year"`
	BloodType *uint8       `json:"blood_type"`
	Images    PersonImages `json:"images"`
	Summary   string       `json:"summary"`
	Name      string       `json:"name"`
	Infobox   v0wiki       `json:"infobox"`
	Stat      Stat         `json:"stat"`
	ID        uint32       `json:"id"`
	Redirect  uint32       `json:"-"`
	Locked    bool         `json:"locked"`
	Type      uint8        `json:"type"`
	NSFW      bool         `json:"nsfw"`
}

type Collection

type Collection struct {
	UpdatedAt   time.Time           `json:"updated_at"`
	Comment     *string             `json:"comment"`
	Tags        []string            `json:"tags"`
	SubjectID   model.SubjectIDType `json:"subject_id"`
	EpStatus    uint32              `json:"ep_status"`
	VolStatus   uint32              `json:"vol_status"`
	SubjectType uint8               `json:"subject_type"`
	Type        uint8               `json:"type"`
	Rate        uint8               `json:"rate"`
	Private     bool                `json:"private"`
}

type Count

type Count struct {
	Field1  uint32 `json:"1"`
	Field2  uint32 `json:"2"`
	Field3  uint32 `json:"3"`
	Field4  uint32 `json:"4"`
	Field5  uint32 `json:"5"`
	Field6  uint32 `json:"6"`
	Field7  uint32 `json:"7"`
	Field8  uint32 `json:"8"`
	Field9  uint32 `json:"9"`
	Field10 uint32 `json:"10"`
}

type Creator

type Creator struct {
	Username string `json:"username"`
	Nickname string `json:"nickname"`
}

type Episode

type Episode struct {
	Airdate     string              `json:"airdate"`
	Name        string              `json:"name"`
	NameCN      string              `json:"name_cn"`
	Duration    string              `json:"duration"`
	Description string              `json:"desc"`
	Ep          float32             `json:"ep"`
	Sort        float32             `json:"sort"`
	ID          model.EpisodeIDType `json:"id"`
	SubjectID   model.SubjectIDType `json:"subject_id"`
	Comment     uint32              `json:"comment"`
	Type        model.EpTypeType    `json:"type"`
	Disc        uint8               `json:"disc"`
}

type Error

type Error struct {
	Title       string      `json:"title"`
	Details     interface{} `json:"details,omitempty"`
	Description string      `json:"description"`
}

Error default error response.

type Extra

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

type Index

type Index struct {
	CreatedAt   time.Time         `json:"created_at"`
	Creator     Creator           `json:"creator"`
	Title       string            `json:"title"`
	Description string            `json:"desc"`
	Total       uint32            `json:"total"`
	ID          model.IndexIDType `json:"id"`
	Stat        Stat              `json:"stat"`
	Ban         bool              `json:"ban"`
	NSFW        bool              `json:"nsfw" doc:"if index contains any nsfw subjects"`
}

type LoginRemain

type LoginRemain struct {
	Remain int `json:"remain"`
}

type Paged

type Paged struct {
	Data   interface{} `json:"data"`
	Total  int64       `json:"total"`
	Limit  int         `json:"limit"`
	Offset int         `json:"offset"`
}

type PersonImages

type PersonImages struct {
	Small  string `json:"small"`
	Grid   string `json:"grid"`
	Large  string `json:"large"`
	Medium string `json:"medium"`
}

func PersonImage

func PersonImage(s string) PersonImages

type PersonRelatedCharacter

type PersonRelatedCharacter struct {
	Images        PersonImages          `json:"images"`
	Name          string                `json:"name"`
	SubjectName   string                `json:"subject_name"`
	SubjectNameCn string                `json:"subject_name_cn"`
	SubjectID     model.SubjectIDType   `json:"subject_id"`
	ID            model.CharacterIDType `json:"id"`
	Type          uint8                 `json:"type" doc:"character type"`
}

type PersonRelatedSubject

type PersonRelatedSubject struct {
	Staff     string              `json:"staff"`
	Name      string              `json:"name"`
	NameCn    string              `json:"name_cn"`
	Image     string              `json:"image"`
	SubjectID model.SubjectIDType `json:"id"`
}

type PersonRevision

type PersonRevision struct {
	CreatedAt time.Time                         `json:"created_at"`
	Data      map[string]PersonRevisionDataItem `json:"data"`
	Creator   Creator                           `json:"creator"`
	Summary   string                            `json:"summary"`
	ID        uint32                            `json:"id"`
	Type      uint8                             `json:"type"`
}

type PersonRevisionDataItem

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

type PersonV0

type PersonV0 struct {
	LastModified time.Time    `json:"last_modified"`
	BloodType    *uint8       `json:"blood_type"`
	BirthYear    *uint16      `json:"birth_year"`
	BirthDay     *uint8       `json:"birth_day"`
	BirthMon     *uint8       `json:"birth_mon"`
	Gender       *string      `json:"gender"`
	Images       PersonImages `json:"images"`
	Summary      string       `json:"summary"`
	Name         string       `json:"name"`
	Img          string       `json:"img"`
	Infobox      v0wiki       `json:"infobox"`
	Career       []string     `json:"career"`
	Stat         Stat         `json:"stat"`
	Redirect     uint32       `json:"-"`
	ID           uint32       `json:"id"`
	Locked       bool         `json:"locked"`
	Type         uint8        `json:"type"`
}

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  `json:"rank"`
	Total uint32  `json:"total"`
	Count Count   `json:"count"`
	Score float64 `json:"score"`
}

type SlimSubjectV0

type SlimSubjectV0 struct {
	AddedAt time.Time         `json:"added_at"`
	Date    *string           `json:"date"`
	Image   SubjectImages     `json:"images"`
	Name    string            `json:"name"`
	NameCN  string            `json:"name_cn"`
	Comment string            `json:"comment"`
	Infobox v0wiki            `json:"infobox"`
	ID      uint32            `json:"id"`
	TypeID  model.SubjectType `json:"type"`
}

type Stat

type Stat struct {
	Comments uint32 `json:"comments"`
	Collects uint32 `json:"collects"`
}

type Subject

type Subject struct {
	Image        SubjectImages         `json:"images"`
	Infobox      string                `json:"infobox"`
	Name         string                `json:"name"`
	NameCN       string                `json:"name_cn"`
	Summary      string                `json:"summary"`
	PlatformText string                `json:"platform_text"`
	TypeText     string                `json:"type_text"`
	Wiki         wiki.Wiki             `json:"wiki"`
	Tags         []compat.Tag          `json:"tags"`
	Rating       Rating                `json:"rating"`
	Collection   SubjectCollectionStat `json:"collection"`
	Volumes      uint32                `json:"volumes"`
	Eps          uint32                `json:"eps"`
	ID           model.SubjectIDType   `json:"id"`
	Redirect     uint32                `json:"-"`
	Platform     uint16                `json:"platform_id"`
	Airtime      uint8                 `json:"air_time"`
	Locked       bool                  `json:"locked"`
	NSFW         bool                  `json:"nsfw"`
	TypeID       model.SubjectType     `json:"type_id"`
}

type SubjectCollectionStat

type SubjectCollectionStat struct {
	OnHold  uint32 `json:"on_hold"`
	Dropped uint32 `json:"dropped"`
	Wish    uint32 `json:"wish"`
	Collect uint32 `json:"collect"`
	Doing   uint32 `json:"doing"`
}

type SubjectImages

type SubjectImages struct {
	Small  string `json:"small"`
	Grid   string `json:"grid"`
	Large  string `json:"large"`
	Medium string `json:"medium"`
	Common string `json:"common"`
}

func SubjectImage

func SubjectImage(s string) SubjectImages

type SubjectRelatedCharacter

type SubjectRelatedCharacter struct {
	Images   PersonImages       `json:"images"`
	Name     string             `json:"name"`
	Relation string             `json:"relation"`
	Actors   []Actor            `json:"actors"`
	Type     uint8              `json:"type"`
	ID       model.PersonIDType `json:"id"`
}

type SubjectRelatedPerson

type SubjectRelatedPerson struct {
	Images   PersonImages       `json:"images"`
	Name     string             `json:"name" doc:"person name"`
	Relation string             `json:"relation"`
	Career   []string           `json:"career"`
	Type     uint8              `json:"type"`
	ID       model.PersonIDType `json:"id" doc:"person ID"`
}

type SubjectRelatedSubject

type SubjectRelatedSubject struct {
	Images    SubjectImages       `json:"images"`
	Name      string              `json:"name"`
	NameCn    string              `json:"name_cn"`
	Relation  string              `json:"relation"`
	Type      model.SubjectType   `json:"type"`
	SubjectID model.SubjectIDType `json:"id"`
}

type SubjectRevision

type SubjectRevision struct {
	CreatedAt time.Time            `json:"created_at"`
	Data      *SubjectRevisionData `json:"data"`
	Creator   Creator              `json:"creator"`
	Summary   string               `json:"summary"`
	ID        uint32               `json:"id"`
	Type      uint8                `json:"type"`
}

type SubjectRevisionData

type SubjectRevisionData struct {
	Name         string              `json:"name"`
	NameCN       string              `json:"name_cn"`
	VoteField    string              `json:"vote_field"`
	FieldInfobox string              `json:"field_infobox"`
	FieldSummary string              `json:"field_summary"`
	Platform     uint16              `json:"platform"`
	TypeID       uint16              `json:"type_id"`
	SubjectID    model.SubjectIDType `json:"subject_id"`
	FieldEps     uint32              `json:"field_eps"`
	Type         uint8               `json:"type"`
}

type SubjectV0

type SubjectV0 struct {
	Date          *string               `json:"date"`
	Platform      *string               `json:"platform"`
	Image         SubjectImages         `json:"images"`
	Summary       string                `json:"summary"`
	Name          string                `json:"name"`
	NameCN        string                `json:"name_cn"`
	Tags          []compat.Tag          `json:"tags"`
	Infobox       v0wiki                `json:"infobox"`
	Rating        Rating                `json:"rating"`
	TotalEpisodes int64                 `json:"total_episodes"`
	Collection    SubjectCollectionStat `json:"collection"`
	ID            model.SubjectIDType   `json:"id"`
	Eps           uint32                `json:"eps"`
	Volumes       uint32                `json:"volumes"`
	Redirect      uint32                `json:"-"`
	Locked        bool                  `json:"locked"`
	NSFW          bool                  `json:"nsfw"`
	TypeID        model.SubjectType     `json:"type"`
}

type User

type User struct {
	Avatar    Avatar `json:"avatar"`
	Sign      string `json:"sign"`
	URL       string `json:"url"`
	Username  string `json:"username"`
	Nickname  string `json:"nickname"`
	ID        uint32 `json:"id"`
	UserGroup uint8  `json:"user_group"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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