anilist

package
v0.0.0-...-28a87cb Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2023 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const (
	Anime = MediaType("ANIME")
	Mange = MediaType("MANGA")
)
View Source
const ALDomain = "https://anilist.co"
View Source
const ApiEndpoint = "https://graphql.anilist.co"

Variables

View Source
var InvalidToken = errors.New("Invalid token")

Functions

func DeleteMediaListEntry

func DeleteMediaListEntry(entry *MediaListEntry, token oauth2.OAuthToken) error

func QueryAuthenticatedUser

func QueryAuthenticatedUser(user *User, token oauth2.OAuthToken) error

func QueryAuthenticatedUserWaitAnimation

func QueryAuthenticatedUserWaitAnimation(user *User, token oauth2.OAuthToken) error

func SaveMediaListEntry

func SaveMediaListEntry(entry *MediaListEntry, token oauth2.OAuthToken) error

func SaveMediaListEntryWaitAnimation

func SaveMediaListEntryWaitAnimation(entry *MediaListEntry, token oauth2.OAuthToken) error

Types

type AiringNotification

type AiringNotification struct {
	Id        int      `json:"id"`
	Type      string   `json:"type"`
	AnimeId   int      `json:"animeId"`
	Episode   int      `json:"episode"`
	Contexts  []string `json:"contexts"`
	CreatedAt int      `json:"createdAt"`
	Title     struct {
		MediaTitle `json:"title"`
	} `json:"media"`
}

func QueryAiringNotification

func QueryAiringNotification(markRead bool, token oauth2.OAuthToken) (AiringNotification, error)

func QueryAiringNotifications

func QueryAiringNotifications(page, perPage int, markRead bool, token oauth2.OAuthToken) (
	[]AiringNotification, error,
)

func QueryAiringNotificationsWaitAnimation

func QueryAiringNotificationsWaitAnimation(page, perPage int, markRead bool, token oauth2.OAuthToken) (
	[]AiringNotification, error,
)

type AiringSchedule

type AiringSchedule struct {
	Id              int `json:"id"`
	AiringAt        int `json:"airingAt"`
	TimeUntilAiring int `json:"timeUntilAiring"`
	Episode         int `json:"episode"`
}

func QueryAiringSchedule

func QueryAiringSchedule(mediaId, episode int, token oauth2.OAuthToken) (AiringSchedule, error)

func QueryAiringScheduleWaitAnimation

func QueryAiringScheduleWaitAnimation(mediaId, episode int, token oauth2.OAuthToken) (
	AiringSchedule, error,
)

type FuzzyDate

type FuzzyDate struct {
	Year  int `json:"year"`
	Month int `json:"month"`
	Day   int `json:"day"`
}

type GqlError

type GqlError struct {
	Message   string     `json:"message"`
	Status    int        `json:"status"`
	Locations []Location `json:"locations"`
}

type Location

type Location struct {
	Line   int `json:"line"`
	Column int `json:"column"`
}

type MediaCoverImage

type MediaCoverImage struct {
	Large  string `json:"large"`
	Medium string `json:"medium"`
}

type MediaDeficient

type MediaDeficient struct {
	Id       int        `json:"id"`
	IdMal    int        `json:"idMal"`
	Title    MediaTitle `json:"title"`
	Type     string     `json:"type"`
	Format   string     `json:"format"`
	Status   string     `json:"status"`
	Season   string     `json:"season"`
	Episodes int        `json:"episodes"`
	Duration int        `json:"duration"`
	Synonyms []string   `json:"synonyms"`
}

type MediaFull

type MediaFull struct {
	Id                int             `json:"id"`
	IdMal             int             `json:"idMal"`
	Title             MediaTitle      `json:"title"`
	Type              MediaType       `json:"type"`
	Format            string          `json:"format"`
	Status            string          `json:"status"`
	Description       string          `json:"description"`
	StartDate         FuzzyDate       `json:"startDate"`
	EndDate           FuzzyDate       `json:"endDate"`
	Season            string          `json:"season"`
	Episodes          int             `json:"episodes"`
	Duration          int             `json:"duration"`
	Chapters          int             `json:"chapters"`
	Volumes           int             `json:"volumes"`
	CountryOfOrigin   string          `json:"countryOfOrigin"`
	IsLicensed        bool            `json:"isLicensed"`
	Source            string          `json:"source"`
	HashTag           string          `json:"hashtag"`
	Trailer           MediaTrailer    `json:"trailer"`
	UpdatedAt         int             `json:"updatedAt"`
	CoverImage        MediaCoverImage `json:"coverImage"`
	BannerImage       string          `json:"bannerImage"`
	Genres            []string        `json:"genres"`
	Synonyms          []string        `json:"synonyms"`
	AverageScore      int             `json:"averageScore"`
	MeanScore         int             `json:"meanScore"`
	Popularity        int             `json:"popularity"`
	Trending          int             `json:"trending"`
	Tags              []MediaTag      `json:"tags"`
	IsFavourite       bool            `json:"isFavourite"`
	IsAdult           bool            `json:"isAdult"`
	NextAiringEpisode AiringSchedule  `json:"nextAiringEpisode"`
	SiteUrl           string          `json:"siteUrl"`
}
func Search(query string, page, perPage int, mtype MediaType, token oauth2.OAuthToken) ([]MediaFull, error)

type MediaListCollection

type MediaListCollection struct {
	Lists []MediaListGroup `json:"lists"`
}

type MediaListEntry

type MediaListEntry struct {
	ListId    int             `json:"id"`
	Status    MediaListStatus `json:"status"`
	Score     float32         `json:"score"`
	Progress  int             `json:"progress"`
	Repeat    int             `json:"repeat"`
	UpdatedAt int             `json:"updatedAt"`

	MediaDeficient `json:"media"`
}

func AddMediaListEntry

func AddMediaListEntry(id int, status MediaListStatus, token oauth2.OAuthToken) (
	MediaListEntry, error,
)

type MediaListGroup

type MediaListGroup struct {
	Entries              []MediaListEntry `json:"entries"`
	Name                 string           `json:"name"`
	IsCustomList         bool             `json:"isCustomList"`
	IsSplitCompletedList bool             `json:"isSplitCompletedList"`
	Status               MediaListStatus  `json:"status"`
}

func QueryUserLists

func QueryUserLists(userId int, scoreFormat ScoreFormat, token oauth2.OAuthToken) ([]MediaListGroup, error)

TODO downloading only given list like watching/completed

func QueryUserListsWaitAnimation

func QueryUserListsWaitAnimation(userId int, scoreFormat ScoreFormat, token oauth2.OAuthToken) ([]MediaListGroup, error)

type MediaListOptions

type MediaListOptions struct {
	ScoreFormat ScoreFormat `json:"scoreFormat"`
}

type MediaListStatus

type MediaListStatus string
const (
	All       MediaListStatus = ""
	Current   MediaListStatus = "CURRENT"
	Planning  MediaListStatus = "PLANNING"
	Completed MediaListStatus = "COMPLETED"
	Dropped   MediaListStatus = "DROPPED"
	Paused    MediaListStatus = "PAUSED"
	Repeating MediaListStatus = "REPEATING"
)

func ParseStatus

func ParseStatus(status string) MediaListStatus

func (MediaListStatus) String

func (status MediaListStatus) String() string

type MediaTag

type MediaTag struct {
	Id               int    `json:"id"`
	Name             string `json:"name"`
	Description      string `json:"description"`
	Category         string `json:"category"`
	Rank             int    `json:"rank"`
	IsGeneralSpoiler bool   `json:"isGeneralSpoiler"`
	IsMediaSpoiler   bool   `json:"isMediaSpoiler"`
	IsAdult          bool   `json:"isAdult"`
}

type MediaTitle

type MediaTitle struct {
	Romaji        string `json:"romaji"`
	English       string `json:"english"`
	Native        string `json:"native"`
	UserPreferred string `json:"userPreferred"`
}

type MediaTrailer

type MediaTrailer struct {
	Id   string `json:"id"`
	Site string `json:"site"`
}

type MediaType

type MediaType string

type ScoreFormat

type ScoreFormat string
const (
	Point100       ScoreFormat = "POINT_100"
	Point10Decimal ScoreFormat = "POINT_10_DECIMAL"
	Point10        ScoreFormat = "POINT_10"
	Point5         ScoreFormat = "POINT_5"
	Point3         ScoreFormat = "POINT_3"
)

type User

type User struct {
	Id                      int              `json:"id"`
	Name                    string           `json:"name"`
	About                   string           `json:"about"`
	BannerImage             string           `json:"bannerImage"`
	Stats                   UserStats        `json:"stats"`
	UnreadNotificationCount int              `json:"unreadNotificationCount"`
	SiteUrl                 string           `json:"siteUrl"`
	DonatorTier             int              `json:"donatorTier"`
	ModeratorStatus         string           `json:"moderatorStatus"`
	UpdatedAt               int              `json:"updatedAt"`
	MediaListOptions        MediaListOptions `json:"mediaListOptions"`
}

type UserStats

type UserStats struct {
	WatchedTime int `json:"watchedTime"`
}

Jump to

Keyboard shortcuts

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