Update GraphQL schemas

This commit is contained in:
Timothy Warren 2021-02-22 15:38:29 -05:00
parent 3aecaf9161
commit d3732d1a54
2 changed files with 100 additions and 105 deletions

View File

@ -240,6 +240,7 @@ type Character {
isFavourite: Boolean! isFavourite: Boolean!
"Media that includes the character" "Media that includes the character"
media( media(
onList: Boolean,
"The page" "The page"
page: Int, page: Int,
"The amount of entries per page, max 25" "The amount of entries per page, max 25"
@ -855,7 +856,7 @@ type InternalPage {
mediaType: MediaType, mediaType: MediaType,
"The order the results will be returned in" "The order the results will be returned in"
sort: [ReviewSort], sort: [ReviewSort],
"Filter by media id" "Filter by user id"
userId: Int userId: Int
): [Review] ): [Review]
revisionHistory( revisionHistory(
@ -1114,7 +1115,10 @@ type Media {
startDate: FuzzyDate startDate: FuzzyDate
stats: MediaStats stats: MediaStats
"The current releasing status of the media" "The current releasing status of the media"
status: MediaStatus status(
"Provide 2 to use new version 2 of sources enum"
version: Int
): MediaStatus
"Data and links to legal streaming episodes on external sites" "Data and links to legal streaming episodes on external sites"
streamingEpisodes: [MediaStreamingEpisode] streamingEpisodes: [MediaStreamingEpisode]
"The companies who produced the media" "The companies who produced the media"
@ -1297,8 +1301,7 @@ type MediaListOptions {
sharedTheme: Json @deprecated(reason : "No longer used") sharedTheme: Json @deprecated(reason : "No longer used")
"If the shared theme should be used instead of the individual list themes" "If the shared theme should be used instead of the individual list themes"
sharedThemeEnabled: Boolean @deprecated(reason : "No longer used") sharedThemeEnabled: Boolean @deprecated(reason : "No longer used")
"(Site only) If the user should be using legacy css-supporting list versions" useLegacyLists: Boolean @deprecated(reason : "No longer used")
useLegacyLists: Boolean
} }
"A user's list options for anime or manga lists" "A user's list options for anime or manga lists"
@ -1832,6 +1835,8 @@ type Mutation {
rowOrder: String, rowOrder: String,
"The user's list scoring system" "The user's list scoring system"
scoreFormat: ScoreFormat, scoreFormat: ScoreFormat,
"Timezone offset format: -?HH:MM"
timezone: String,
"User's title language" "User's title language"
titleLanguage: UserTitleLanguage titleLanguage: UserTitleLanguage
): User ): User
@ -2258,7 +2263,7 @@ type Page {
mediaType: MediaType, mediaType: MediaType,
"The order the results will be returned in" "The order the results will be returned in"
sort: [ReviewSort], sort: [ReviewSort],
"Filter by media id" "Filter by user id"
userId: Int userId: Int
): [Review] ): [Review]
staff( staff(
@ -2837,7 +2842,7 @@ type Query {
mediaType: MediaType, mediaType: MediaType,
"The order the results will be returned in" "The order the results will be returned in"
sort: [ReviewSort], sort: [ReviewSort],
"Filter by media id" "Filter by user id"
userId: Int userId: Int
): Review ): Review
"Site statistics query" "Site statistics query"
@ -3127,6 +3132,15 @@ type SiteTrendEdge {
"Voice actors or production staff" "Voice actors or production staff"
type Staff { type Staff {
"Media the actor voiced characters in. (Same data as characters with media as node instead of characters)"
characterMedia(
onList: Boolean,
"The page"
page: Int,
"The amount of entries per page, max 25"
perPage: Int,
sort: [MediaSort]
): MediaConnection
"Characters voiced by the actor" "Characters voiced by the actor"
characters( characters(
"The page" "The page"
@ -3160,6 +3174,7 @@ type Staff {
staff: Staff staff: Staff
"Media where the staff member has a production role" "Media where the staff member has a production role"
staffMedia( staffMedia(
onList: Boolean,
"The page" "The page"
page: Int, page: Int,
"The amount of entries per page, max 25" "The amount of entries per page, max 25"
@ -3264,6 +3279,7 @@ type Studio {
media( media(
"If the studio was the primary animation studio of the media" "If the studio was the primary animation studio of the media"
isMain: Boolean, isMain: Boolean,
onList: Boolean,
"The page" "The page"
page: Int, page: Int,
"The amount of entries per page, max 25" "The amount of entries per page, max 25"
@ -3671,6 +3687,8 @@ type UserOptions {
notificationOptions: [NotificationOption] notificationOptions: [NotificationOption]
"Profile highlight color (blue, purple, pink, orange, red, green, gray)" "Profile highlight color (blue, purple, pink, orange, red, green, gray)"
profileColor: String profileColor: String
"The user's timezone offset (Auth user only)"
timezone: String
"The language the user wants to see media titles in" "The language the user wants to see media titles in"
titleLanguage: UserTitleLanguage titleLanguage: UserTitleLanguage
} }
@ -4058,6 +4076,8 @@ enum MediaStatus {
CANCELLED CANCELLED
"Has completed and is no longer being released" "Has completed and is no longer being released"
FINISHED FINISHED
"Version 2 only. Is currently paused from releasing and will resume at a later date"
HIATUS
"To be released at a later date" "To be released at a later date"
NOT_YET_RELEASED NOT_YET_RELEASED
"Currently releasing" "Currently releasing"

View File

@ -20,16 +20,6 @@ interface AmountConsumed {
units: Int! units: Int!
} }
"Generic error fields used by all errors."
interface Base {
"The error code."
code: String
"A description of the error"
message: String!
"Which input value this error came from"
path: [String!]
}
"Generic Category Breakdown based on Media" "Generic Category Breakdown based on Media"
interface CategoryBreakdown { interface CategoryBreakdown {
"A Map of category_id -> count for all categories present on the library entries" "A Map of category_id -> count for all categories present on the library entries"
@ -65,6 +55,16 @@ interface Episodic {
totalLength: Int totalLength: Int
} }
"Generic error fields used by all errors."
interface Error {
"The error code."
code: String
"A description of the error"
message: String!
"Which input value this error came from"
path: [String!]
}
"A media in the Kitsu database" "A media in the Kitsu database"
interface Media { interface Media {
"The recommended minimum age group for this media" "The recommended minimum age group for this media"
@ -445,15 +445,13 @@ type AnimeConnection {
"Autogenerated return type of AnimeCreate" "Autogenerated return type of AnimeCreate"
type AnimeCreatePayload { type AnimeCreatePayload {
anime: Anime anime: Anime
"Graphql Errors" errors: [Error!]
errors: [Generic!]
} }
"Autogenerated return type of AnimeDelete" "Autogenerated return type of AnimeDelete"
type AnimeDeletePayload { type AnimeDeletePayload {
anime: GenericDelete anime: GenericDelete
"Graphql Errors" errors: [Error!]
errors: [Generic!]
} }
"An edge in a connection." "An edge in a connection."
@ -464,7 +462,7 @@ type AnimeEdge {
node: Anime node: Anime
} }
type AnimeMutation { type AnimeMutations {
"Create an Anime." "Create an Anime."
create( create(
"Create an Anime." "Create an Anime."
@ -485,8 +483,7 @@ type AnimeMutation {
"Autogenerated return type of AnimeUpdate" "Autogenerated return type of AnimeUpdate"
type AnimeUpdatePayload { type AnimeUpdatePayload {
anime: Anime anime: Anime
"Graphql Errors" errors: [Error!]
errors: [Generic!]
} }
"Information about a specific Category" "Information about a specific Category"
@ -736,15 +733,13 @@ type EpisodeConnection {
"Autogenerated return type of EpisodeCreate" "Autogenerated return type of EpisodeCreate"
type EpisodeCreatePayload { type EpisodeCreatePayload {
episode: Episode episode: Episode
"Graphql Errors" errors: [Error!]
errors: [Generic!]
} }
"Autogenerated return type of EpisodeDelete" "Autogenerated return type of EpisodeDelete"
type EpisodeDeletePayload { type EpisodeDeletePayload {
episode: GenericDelete episode: GenericDelete
"Graphql Errors" errors: [Error!]
errors: [Generic!]
} }
"An edge in a connection." "An edge in a connection."
@ -755,7 +750,7 @@ type EpisodeEdge {
node: Episode node: Episode
} }
type EpisodeMutation { type EpisodeMutations {
"Create an Episode." "Create an Episode."
create( create(
"Create an Episode" "Create an Episode"
@ -776,8 +771,7 @@ type EpisodeMutation {
"Autogenerated return type of EpisodeUpdate" "Autogenerated return type of EpisodeUpdate"
type EpisodeUpdatePayload { type EpisodeUpdatePayload {
episode: Episode episode: Episode
"Graphql Errors" errors: [Error!]
errors: [Generic!]
} }
"Favorite media, characters, and people for a user" "Favorite media, characters, and people for a user"
@ -811,7 +805,7 @@ type FavoriteEdge {
node: Favorite node: Favorite
} }
type Generic implements Base { type Generic implements Error {
"The error code." "The error code."
code: String code: String
"A description of the error" "A description of the error"
@ -991,15 +985,13 @@ type LibraryEntryConnection {
"Autogenerated return type of LibraryEntryCreate" "Autogenerated return type of LibraryEntryCreate"
type LibraryEntryCreatePayload { type LibraryEntryCreatePayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryDelete" "Autogenerated return type of LibraryEntryDelete"
type LibraryEntryDeletePayload { type LibraryEntryDeletePayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: GenericDelete libraryEntry: GenericDelete
} }
@ -1011,7 +1003,7 @@ type LibraryEntryEdge {
node: LibraryEntry node: LibraryEntry
} }
type LibraryEntryMutation { type LibraryEntryMutations {
"Create a library entry" "Create a library entry"
create( create(
"Create a Library Entry" "Create a Library Entry"
@ -1061,50 +1053,43 @@ type LibraryEntryMutation {
"Autogenerated return type of LibraryEntryUpdate" "Autogenerated return type of LibraryEntryUpdate"
type LibraryEntryUpdatePayload { type LibraryEntryUpdatePayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryUpdateProgressById" "Autogenerated return type of LibraryEntryUpdateProgressById"
type LibraryEntryUpdateProgressByIdPayload { type LibraryEntryUpdateProgressByIdPayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryUpdateProgressByMedia" "Autogenerated return type of LibraryEntryUpdateProgressByMedia"
type LibraryEntryUpdateProgressByMediaPayload { type LibraryEntryUpdateProgressByMediaPayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryUpdateRatingById" "Autogenerated return type of LibraryEntryUpdateRatingById"
type LibraryEntryUpdateRatingByIdPayload { type LibraryEntryUpdateRatingByIdPayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryUpdateRatingByMedia" "Autogenerated return type of LibraryEntryUpdateRatingByMedia"
type LibraryEntryUpdateRatingByMediaPayload { type LibraryEntryUpdateRatingByMediaPayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryUpdateStatusById" "Autogenerated return type of LibraryEntryUpdateStatusById"
type LibraryEntryUpdateStatusByIdPayload { type LibraryEntryUpdateStatusByIdPayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
"Autogenerated return type of LibraryEntryUpdateStatusByMedia" "Autogenerated return type of LibraryEntryUpdateStatusByMedia"
type LibraryEntryUpdateStatusByMediaPayload { type LibraryEntryUpdateStatusByMediaPayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
libraryEntry: LibraryEntry libraryEntry: LibraryEntry
} }
@ -1145,13 +1130,6 @@ type LibraryEventEdge {
node: LibraryEvent node: LibraryEvent
} }
"Autogenerated return type of LockPost"
type LockPostPayload {
"Graphql Errors"
errors: [Generic!]
post: Post
}
type Manga implements Media & WithTimestamps { type Manga implements Media & WithTimestamps {
"The recommended minimum age group for this media" "The recommended minimum age group for this media"
ageRating: AgeRatingEnum ageRating: AgeRatingEnum
@ -1361,15 +1339,13 @@ type MappingConnection {
"Autogenerated return type of MappingCreate" "Autogenerated return type of MappingCreate"
type MappingCreatePayload { type MappingCreatePayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
mapping: Mapping mapping: Mapping
} }
"Autogenerated return type of MappingDelete" "Autogenerated return type of MappingDelete"
type MappingDeletePayload { type MappingDeletePayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
mapping: GenericDelete mapping: GenericDelete
} }
@ -1381,7 +1357,7 @@ type MappingEdge {
node: Mapping node: Mapping
} }
type MappingMutation { type MappingMutations {
"Create a Mapping" "Create a Mapping"
create( create(
"Create a Mapping" "Create a Mapping"
@ -1401,8 +1377,7 @@ type MappingMutation {
"Autogenerated return type of MappingUpdate" "Autogenerated return type of MappingUpdate"
type MappingUpdatePayload { type MappingUpdatePayload {
"Graphql Errors" errors: [Error!]
errors: [Generic!]
mapping: Mapping mapping: Mapping
} }
@ -1584,12 +1559,12 @@ type MediaStaffEdge {
} }
type Mutation { type Mutation {
anime: AnimeMutation anime: AnimeMutations
episode: EpisodeMutation episode: EpisodeMutations
libraryEntry: LibraryEntryMutation libraryEntry: LibraryEntryMutations
mapping: MappingMutation mapping: MappingMutations
post: PostMutation post: PostMutations
pro: ProMutation! pro: ProMutations!
} }
"Information about pagination in a connection." "Information about pagination in a connection."
@ -1723,32 +1698,54 @@ type PostEdge {
node: Post node: Post
} }
type PostMutation { "Autogenerated return type of PostLock"
type PostLockPayload {
errors: [Error!]
post: Post
}
type PostMutations {
"Lock a Post." "Lock a Post."
lock( lock(
"Lock a Post." "Lock a Post."
input: LockInput! input: LockInput!
): LockPostPayload ): PostLockPayload
"Unlock a Post." "Unlock a Post."
unlock( unlock(
"Unlock a Post." "Unlock a Post."
input: UnlockInput! input: UnlockInput!
): UnlockPostPayload ): PostUnlockPayload
} }
type ProMutation { "Autogenerated return type of PostUnlock"
type PostUnlockPayload {
errors: [Error!]
post: Post
}
type ProMutations {
"Set the user's discord tag" "Set the user's discord tag"
setDiscord( setDiscord(
"Your discord tag (Name#1234)" "Your discord tag (Name#1234)"
discord: String! discord: String!
): SetDiscordPayload ): ProSetDiscordPayload
"Set the user's Hall-of-Fame message" "Set the user's Hall-of-Fame message"
setMessage( setMessage(
"The message to set for your Hall of Fame entry" "The message to set for your Hall of Fame entry"
message: String! message: String!
): SetMessagePayload ): ProSetMessagePayload
"End the user's pro subscription" "End the user's pro subscription"
unsubscribe: UnsubscribePayload unsubscribe: ProUnsubscribePayload
}
"Autogenerated return type of ProSetDiscord"
type ProSetDiscordPayload {
discord: String!
}
"Autogenerated return type of ProSetMessage"
type ProSetMessagePayload {
message: String!
} }
"A subscription to Kitsu PRO" "A subscription to Kitsu PRO"
@ -1763,6 +1760,11 @@ type ProSubscription implements WithTimestamps {
updatedAt: ISO8601DateTime! updatedAt: ISO8601DateTime!
} }
"Autogenerated return type of ProUnsubscribe"
type ProUnsubscribePayload {
expiresAt: ISO8601DateTime
}
"A company involved in the creation or localization of media" "A company involved in the creation or localization of media"
type Producer implements WithTimestamps { type Producer implements WithTimestamps {
createdAt: ISO8601DateTime! createdAt: ISO8601DateTime!
@ -2223,20 +2225,6 @@ type Session {
profile: Profile profile: Profile
} }
"Autogenerated return type of SetDiscord"
type SetDiscordPayload {
discord: String!
"Graphql Errors"
errors: [Generic!]
}
"Autogenerated return type of SetMessage"
type SetMessagePayload {
"Graphql Errors"
errors: [Generic!]
message: String!
}
"A link to a user's profile on an external site." "A link to a user's profile on an external site."
type SiteLink implements WithTimestamps { type SiteLink implements WithTimestamps {
"The user profile the site is linked to." "The user profile the site is linked to."
@ -2349,20 +2337,6 @@ type TitlesList {
localized(locales: [String!]): Map! localized(locales: [String!]): Map!
} }
"Autogenerated return type of UnlockPost"
type UnlockPostPayload {
"Graphql Errors"
errors: [Generic!]
post: Post
}
"Autogenerated return type of Unsubscribe"
type UnsubscribePayload {
"Graphql Errors"
errors: [Generic!]
expiresAt: ISO8601DateTime
}
"The media video." "The media video."
type Video implements Streamable & WithTimestamps { type Video implements Streamable & WithTimestamps {
createdAt: ISO8601DateTime! createdAt: ISO8601DateTime!
@ -2770,6 +2744,7 @@ input MappingUpdateInput {
input TitlesListInput { input TitlesListInput {
alternatives: [String!] alternatives: [String!]
canonical: String
canonicalLocale: String canonicalLocale: String
localized: Map localized: Map
} }