AniListApi

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
data class AniListAvatar(val large: String?)
Link copied to clipboard
data class AniListData(val viewer: AniListApi.AniListViewer?)
Link copied to clipboard
Link copied to clipboard
data class AniListRoot(val data: AniListApi.AniListData?)
Link copied to clipboard
data class AniListTitleHolder(val title: AniListApi.Title?, val isFavourite: Boolean?, val id: Int?, val progress: Int?, val episodes: Int?, val score: Int?, val type: AniListApi.Companion.AniListStatusType?)
Link copied to clipboard
data class AniListUser(val id: Int, val name: String, val picture: String?)
Link copied to clipboard
data class AniListViewer(val id: Int, val name: String, val avatar: AniListApi.AniListAvatar?, val favourites: AniListApi.AniListFavourites?)
Link copied to clipboard
data class Character(val name: AniListApi.CharacterName?, val age: String?, val image: AniListApi.CharacterImage?)
Link copied to clipboard
Link copied to clipboard
data class CharacterEdge(val id: Int?, val role: String?, val name: String?, val voiceActors: List<AniListApi.Staff>?, val favouriteOrder: Int?, val media: List<AniListApi.SeasonMedia>?, val node: AniListApi.Character?)
Link copied to clipboard
data class CharacterImage(val large: String?, val medium: String?)
Link copied to clipboard
data class CharacterName(val first: String?, val middle: String?, val last: String?, val full: String?, val native: String?, val alternative: List<String>?, val alternativeSpoiler: List<String>?, val userPreferred: String?)
Link copied to clipboard
object Companion
Link copied to clipboard
data class CompletedAt(val year: Int, val month: Int, val day: Int)
Link copied to clipboard
data class CoverImage(val medium: String?, val large: String?, val extraLarge: String?)
Link copied to clipboard
data class Data(val mediaListCollection: AniListApi.MediaListCollection)
Link copied to clipboard
data class Entries(val status: String?, val completedAt: AniListApi.CompletedAt, val startedAt: AniListApi.StartedAt, val updatedAt: Int, val progress: Int, val score: Int, val private: Boolean, val media: AniListApi.Media)
Link copied to clipboard
data class FullAnilistList(val data: AniListApi.Data?)
Link copied to clipboard
data class GetDataData(val media: AniListApi.GetDataMedia?)
Link copied to clipboard
data class GetDataMedia(val isFavourite: Boolean?, val episodes: Int?, val title: AniListApi.Title?, val mediaListEntry: AniListApi.GetDataMediaListEntry?)
Link copied to clipboard
data class GetDataMediaListEntry(val progress: Int?, val status: String?, val score: Int?)
Link copied to clipboard
data class GetDataRoot(val data: AniListApi.GetDataData?)
Link copied to clipboard
Link copied to clipboard
data class GetSearchMedia(val id: Int, val idMal: Int?, val seasonYear: Int, val title: AniListApi.GetSearchTitle, val startDate: AniListApi.StartedAt, val averageScore: Int?, val meanScore: Int?, val bannerImage: String?, val trailer: AniListApi.TrailerObject?, val nextAiringEpisode: AniListApi.SeasonNextAiringEpisode?, val recommendations: AniListApi.Recommendations?, val relations: AniListApi.SeasonEdges?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class GetSearchTitle(val romaji: String?)
Link copied to clipboard
data class LikeAnime(val nodes: List<AniListApi.LikeNode>?, val pageInfo: AniListApi.LikePageInfo?)
Link copied to clipboard
data class LikeData(val viewer: AniListApi.LikeViewer?)
Link copied to clipboard
data class LikeFavourites(val anime: AniListApi.LikeAnime?)
Link copied to clipboard
data class LikeNode(val id: Int?)
Link copied to clipboard
data class LikePageInfo(val total: Int?, val currentPage: Int?, val lastPage: Int?, val perPage: Int?, val hasNextPage: Boolean?)
Link copied to clipboard
data class LikeRoot(val data: AniListApi.LikeData?)
Link copied to clipboard
data class LikeViewer(val favourites: AniListApi.LikeFavourites?)
Link copied to clipboard
data class Lists(val status: String?, val entries: List<AniListApi.Entries>)
Link copied to clipboard
data class Media(val id: Int, val idMal: Int?, val season: String?, val seasonYear: Int, val format: String?, val episodes: Int, val title: AniListApi.Title, val description: String?, val coverImage: AniListApi.CoverImage, val synonyms: List<String>, val nextAiringEpisode: AniListApi.SeasonNextAiringEpisode?)
Link copied to clipboard
data class MediaCoverImage(val extraLarge: String?, val large: String?, val medium: String?, val color: String?)
Link copied to clipboard
data class MediaListCollection(val lists: List<AniListApi.Lists>)
Link copied to clipboard
data class MediaListId(val id: Long? = null)
Link copied to clipboard
data class MediaListItem(val mediaList: AniListApi.MediaListId? = null)
Link copied to clipboard
data class MediaListItemRoot(val data: AniListApi.MediaListItem? = null)

Used to query a saved MediaItem on the list to get the id for removal

Link copied to clipboard
data class MediaRecommendation(val id: Int, val title: AniListApi.Title?, val idMal: Int?, val coverImage: AniListApi.CoverImage?, val averageScore: Int?)
Link copied to clipboard
data class MediaTitle(val romaji: String?, val english: String?, val native: String?, val userPreferred: String?)
Link copied to clipboard
data class MediaTrailer(val id: String?, val site: String?, val thumbnail: String?)
Link copied to clipboard
data class Nodes(val id: Int?, val mediaRecommendation: AniListApi.MediaRecommendation?)
Link copied to clipboard
data class Recommendation(val id: Long, val mediaRecommendation: AniListApi.SeasonMedia?)
Link copied to clipboard
data class RecommendationConnection(val edges: List<AniListApi.RecommendationEdge> = emptyList(), val nodes: List<AniListApi.Recommendation> = emptyList())
Link copied to clipboard
Link copied to clipboard
data class Recommendations(val nodes: List<AniListApi.Nodes>?)
Link copied to clipboard
data class SeasonData(val media: AniListApi.SeasonMedia)
Link copied to clipboard
data class SeasonEdge(val id: Int?, val relationType: String?, val node: AniListApi.SeasonNode?)
Link copied to clipboard
data class SeasonEdges(val edges: List<AniListApi.SeasonEdge>?)
Link copied to clipboard
data class SeasonMedia(val id: Int?, val title: AniListApi.MediaTitle?, val idMal: Int?, val format: String?, val nextAiringEpisode: AniListApi.SeasonNextAiringEpisode?, val relations: AniListApi.SeasonEdges?, val coverImage: AniListApi.MediaCoverImage?, val duration: Int?, val episodes: Int?, val genres: List<String>?, val synonyms: List<String>?, val averageScore: Int?, val isAdult: Boolean?, val trailer: AniListApi.MediaTrailer?, val description: String?, val characters: AniListApi.CharacterConnection?, val recommendations: AniListApi.RecommendationConnection?)
Link copied to clipboard
data class SeasonNextAiringEpisode(val episode: Int?, val timeUntilAiring: Int?)
Link copied to clipboard
data class SeasonNode(val id: Int, val format: String?, val title: AniListApi.Title?, val idMal: Int?, val coverImage: AniListApi.CoverImage?, val averageScore: Int?)
Link copied to clipboard
Link copied to clipboard
data class Staff(val image: AniListApi.StaffImage?, val name: AniListApi.StaffName?, val age: Int?)
Link copied to clipboard
data class StaffImage(val large: String?, val medium: String?)
Link copied to clipboard
data class StaffName(val first: String?, val middle: String?, val last: String?, val full: String?, val native: String?, val alternative: List<String>?, val userPreferred: String?)
Link copied to clipboard
data class StartedAt(val year: String?, val month: String?, val day: String?)
Link copied to clipboard
data class Title(val english: String?, val romaji: String?)
Link copied to clipboard
data class TrailerObject(val id: String?, val thumbnail: String?, val site: String?)

Properties

Link copied to clipboard
open override val createAccountUrl: String

Link to a website for creating a new account

Link copied to clipboard
open val hasInApp: Boolean = false

Has in app login support, aka login with a dialog

Link copied to clipboard
open override val hasOAuth2: Boolean = true

Has OAuth2 login support, including login, loginRequest and refreshToken

Link copied to clipboard
open val hasPin: Boolean = false

Has on device pin support, aka login with a QR code

Link copied to clipboard
open override val icon: ERROR CLASS: Unresolved name: ic_anilist_icon

Drawable icon of the service

Link copied to clipboard
open override val idPrefix: String
Link copied to clipboard

The requirements to login in app

Link copied to clipboard
val key: String
Link copied to clipboard
open override var mainUrl: String
Link copied to clipboard
open override var name: String
Link copied to clipboard
open override val redirectUrlIdentifier: String

The sensitive redirect URL from OAuth should contain "/redirectUrlIdentifier" to trigger the login

Link copied to clipboard
open override var requireLibraryRefresh: Boolean

Set this to true if the user updates something on the list like watch status or score

Link copied to clipboard
open val requiresLogin: Boolean = true

If this service requires an account to use

Link copied to clipboard

Currently unused, but will be used to correctly render the UI. This should specify what sync watch types can be used with this service.

Link copied to clipboard
open override val syncIdName: SyncIdName

Allows certain providers to open pages from library links.

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend fun invalidateToken(token: AuthToken): Nothing

An optional security measure to make sure that even if an attacker gets ahold of the token, it will be invalid.

Link copied to clipboard

Is this url a valid redirect url for this service?

Link copied to clipboard
open suspend override fun library(auth: AuthData?): SyncAPI.LibraryMetadata?

Get the current library/bookmarks of this service

Link copied to clipboard
open suspend override fun load(auth: AuthData?, id: String): SyncAPI.SyncResult?

Get metadata about an item

Link copied to clipboard
open suspend fun login(form: AuthLoginResponse): AuthToken?

In app login

open suspend fun login(payload: AuthPinData): AuthToken?

Pin login, this will be called periodically while logging in to check if the pin has been verified by the user

open suspend override fun login(redirectUrl: String, payload: String?): AuthToken?

OAuth2 login from a valid redirectUrl, and payload given in loginRequest

Link copied to clipboard
Link copied to clipboard
open override fun loginRequest(): AuthLoginPage?

OAuth2 login request, asking the service to provide a url to open in the browser

Link copied to clipboard
open suspend fun pinRequest(): AuthPinData?

Pin login request, asking the service to provide an verificationUrl to display with a QR code

Link copied to clipboard
open suspend override fun refreshToken(token: AuthToken): AuthToken?

OAuth2 token refresh, this ensures that all token passed to other functions will be valid

Link copied to clipboard
open suspend override fun search(auth: AuthData?, query: String): List<SyncAPI.SyncSearchResult>?

Search this service for any results for a given query

Link copied to clipboard
open suspend override fun status(auth: AuthData?, id: String): SyncAPI.AbstractSyncStatus?

Get the current status of an item

Link copied to clipboard
suspend fun toggleLike(auth: AuthData, id: Int): Boolean
Link copied to clipboard
Link copied to clipboard
open suspend override fun updateStatus(auth: AuthData?, id: String, newStatus: SyncAPI.AbstractSyncStatus): Boolean

Modify the current status of an item

Link copied to clipboard
open override fun urlToId(url: String): String?

Helper function, may be used in the future

Link copied to clipboard
open suspend override fun user(token: AuthToken?): AuthUser?

Get the visible user account