Documentation
¶
Index ¶
- Constants
- Variables
- func BadRequest(message string) error
- func Forbidden(message string) error
- func FromError(c *fiber.Ctx, err error, code int, message string) error
- func InternalError(c *fiber.Ctx, err error, message string) error
- func JSON(c *fiber.Ctx, v interface{}) error
- func NewError(code int, message string) error
- func NotFound(message string) error
- func Unauthorized(message string) error
- type Actor
- type Avatar
- type CharacterRelatedPerson
- type CharacterRelatedSubject
- type CharacterRevision
- type CharacterRevisionDataItem
- type CharacterV0
- type Collection
- type Count
- type Creator
- type Episode
- type Error
- type Extra
- type HTTPError
- type Index
- type LoginRemain
- type Paged
- type PersonImages
- type PersonRelatedCharacter
- type PersonRelatedSubject
- type PersonRevision
- type PersonRevisionDataItem
- type PersonV0
- type Profession
- type Rating
- type SlimSubjectV0
- type Stat
- type Subject
- type SubjectCollectionStat
- type SubjectImages
- type SubjectRelatedCharacter
- type SubjectRelatedPerson
- type SubjectRelatedSubject
- type SubjectRevision
- type SubjectRevisionData
- type SubjectV0
- type User
Constants ¶
View Source
const (
DefaultImageURL = "https://lain.bgm.tv/img/no_icon_subject.png"
)
Variables ¶
View Source
var ErrNotFound = NewError(http.StatusNotFound, "resource can't be found in the database or has been removed")
Functions ¶
func BadRequest ¶ added in v0.20.4
func InternalError ¶
func Unauthorized ¶ added in v0.20.4
Types ¶
type Avatar ¶
type Avatar struct { Large string `json:"large"` Medium string `json:"medium"` Small string `json:"small"` }
func UserAvatar ¶ added in v0.20.4
type CharacterRelatedPerson ¶
type CharacterRelatedSubject ¶
type CharacterRevision ¶
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 model.CharacterID `json:"id"` Redirect model.CharacterID `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.SubjectID `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 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.EpisodeID `json:"id"` SubjectID model.SubjectID `json:"subject_id"` Comment uint32 `json:"comment"` Type model.EpType `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 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.IndexID `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 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.SubjectID `json:"subject_id"` ID model.CharacterID `json:"id"` Type uint8 `json:"type" doc:"character type"` }
type PersonRelatedSubject ¶
type PersonRevision ¶
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 model.PersonID `json:"-"` ID model.PersonID `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 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 model.SubjectID `json:"id"` TypeID model.SubjectType `json:"type"` }
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.SubjectID `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 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.CharacterID `json:"id"` }
type SubjectRelatedPerson ¶
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.SubjectID `json:"id"` }
type SubjectRevision ¶
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.SubjectID `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.SubjectID `json:"id"` Eps uint32 `json:"eps"` Volumes uint32 `json:"volumes"` Redirect model.SubjectID `json:"-"` Locked bool `json:"locked"` NSFW bool `json:"nsfw"` TypeID model.SubjectType `json:"type"` }
Click to show internal directories.
Click to hide internal directories.