thedrummeraki/tanoshimu

View on GitHub
schema.graphql

Summary

Maintainability
Test Coverage
schema {
  query: Root
  mutation: Mutation
}

type AgeRating {
  guide: String
  rating: String!
}

type AiringSchedule {
  airingAt: Int!
  episodeNumber: Int!
  timeUntilAiring: Int!
}

"""
The airing status of a show. Enum values.
"""
enum AiringStatus {
  COMING_SOON
  CURRENT
  FINISHED
  TBA
  UNRELEASED
  UPCOMING
}

"""
A valid representation of a country.
"""
scalar Country

type CountryTimezone {
  country: Country!
  isDefault: Boolean!
  timezone: String!
}

scalar Dimensions

enum FeaturedProp {
  AIRING_AT
  FRIENDLY_STATUS
  NEXT_EPISODE
  YEAR
}

enum Filter {
  """
  Sort a show by it's airing date, i.e. when it's next airing.
  """
  AIRING_AT

  """
  Sort a show by popularity (rank). The smaller the popularity, the more popular it is.
  """
  POPULARITY

  """
  Sort a show by it's start date, i.e. when it started airing.
  """
  START_DATE

  """
  Sort a show by title.
  """
  TITLE
}

type HomePageCategory {
  canFetchMore: Boolean!
  description: String
  featuredProps: [FeaturedProp!]!
  key: String!
  layout: Layout!
  shows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  title: String!
  warning: String
}

"""
The connection type for HomePageCategory.
"""
type HomePageCategoryConnection {
  """
  A list of edges.
  """
  edges: [HomePageCategoryEdge]

  """
  A list of nodes.
  """
  nodes: [HomePageCategory]

  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
}

"""
An edge in a connection.
"""
type HomePageCategoryEdge {
  """
  A cursor for use in pagination.
  """
  cursor: String!

  """
  The item at the end of the edge.
  """
  node: HomePageCategory
}

"""
An ISO 8601-encoded datetime
"""
scalar ISO8601DateTime

type KitsuResult {
  canonicalTitle: String!
  nsfw: Boolean!
  platforms(focusOn: String, regionLocked: RegionLocked): [Platform!]!
  posterImage: Poster!
  slug: String!
  status: String!
  titles: Map!
  year: Int
}

enum Layout {
  EXPANDED
  SIMPLE
}

type Link {
  color: String
  platform: Platform
  urlType: String!
  value: String!
}

"""
A loose key-value map in GraphQL
"""
scalar Map

type Mutation {
  addToMainQueue(slug: String!): Show
  removeFromMainQueue(slug: String!): Show

  """
  An example field added by the generator
  """
  testField: String!
}

"""
Information about pagination in a connection.
"""
type PageInfo {
  """
  When paginating forwards, the cursor to continue.
  """
  endCursor: String

  """
  When paginating forwards, are there more items?
  """
  hasNextPage: Boolean!

  """
  When paginating backwards, are there more items?
  """
  hasPreviousPage: Boolean!

  """
  When paginating backwards, the cursor to continue.
  """
  startCursor: String
}

type PaginationInfo {
  endCursor: String
  hasNextPage: Boolean!
  hasPreviousPage: Boolean!
  startCursor: String
  totalCount: Int!
}

type Platform {
  activeShows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  activeShowsCount: Int!
  airingNow(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  anyAiringNow: Boolean!
  anyComingSoon: Boolean!
  availableInMyCountry: Boolean!
  blocked: Boolean!
  colour: String!
  comingSoon(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  countries: [Country!]
  global: Boolean!
  icon: String!
  image: String!
  name: String!
  otherShows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  shows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  showsCount: Int!
  title: String!
  url: String!
}

"""
The connection type for Platform.
"""
type PlatformConnection {
  """
  A list of edges.
  """
  edges: [PlatformEdge]

  """
  A list of nodes.
  """
  nodes: [Platform]
  pageInfo: PaginationInfo!
}

"""
An edge in a connection.
"""
type PlatformEdge {
  """
  A cursor for use in pagination.
  """
  cursor: String!

  """
  The item at the end of the edge.
  """
  node: Platform
}

type Poster {
  large: String
  medium: String
  original: String!
  small: String
  tiny: String
}

"""
A valid representation of a region locked scalar. If true, it returns the {for_country: string}.
"""
scalar RegionLocked

type Root {
  browseAll(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): ShowConnection!
  countryTimezone: CountryTimezone!
  homePageCategories(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): HomePageCategoryConnection!
  homePageCategory(slug: String!): HomePageCategory
  homePageCategoryShows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
    platforms: [String!]
    searchTerm: String
    season: String
    showTypes: [String!]
    slug: String!
    tags: [TagFilter!]
    year: Int
  ): ShowConnection!
  kitsuSearch(text: String!): [KitsuResult!]!
  nextAiringEpisode(slug: String!): AiringSchedule
  platform(name: String!): Platform
  search(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
    limit: Int!
    query: String!
    tags: [TagFilter!]
  ): ShowConnection!
  show(slug: String!): Show
  showPlatforms(regionLocked: RegionLocked): [Platform!]!
  showSeasonYears: [Int!]!
  showSeasons: [Season!]!
  showTags(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
  ): TagConnection!
  showTypes: [String!]!
  shows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int!

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
    slugs: [String!]!
  ): ShowConnection!
  streamableShows(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String
    airing: Boolean

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String
    direction: [Boolean!]

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
    limit: Int
    regionLocked: Boolean
    sortFilters: [Filter!]
  ): ShowConnection!
  topPlatforms(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
    regionLocked: Boolean
  ): PlatformConnection!
  trending(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: String

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: String

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the last _n_ elements from the list.
    """
    last: Int
    limit: Int
    tags: [TagFilter!]
  ): ShowConnection!
}

type Season {
  value: String!
}

type Show {
  addedToMainQueue: Boolean
  ageRating: AgeRating!
  airingAt: ISO8601DateTime
  bannerUrl: String!
  description: String!
  dislikes: Int!
  endedOn: ISO8601DateTime
  episodesCount: Int!
  friendlyStatus: String
  likes: Int!
  links(regionLocked: RegionLocked): [Link!]!
  loves: Int!
  nextEpisode: Int
  nsfw: Boolean!
  otherLinks: [Link!]!
  platforms(focusOn: String, regionLocked: RegionLocked): [Platform!]!
  popularity: Int!
  popularityPercentage: Int!
  poster: Poster!
  posterUrl(dimensions: Dimensions): String!
  rank: Int
  relatedShows: [Show!]!
  relativePopularity: Int!
  showCategory: String
  showType: String!
  slug: String!
  startsOn: ISO8601DateTime
  status: AiringStatus
  tags: [Tag!]!
  title: String!
  titleRecord: Title!
  titles: Map!
  year: Int
  youtubeTrailerUrl: String
}

"""
The connection type for Show.
"""
type ShowConnection {
  """
  A list of edges.
  """
  edges: [ShowEdge]

  """
  A list of nodes.
  """
  nodes: [Show]
  pageInfo: PaginationInfo!
}

"""
An edge in a connection.
"""
type ShowEdge {
  """
  A cursor for use in pagination.
  """
  cursor: String!

  """
  The item at the end of the edge.
  """
  node: Show
}

type Tag {
  refId: String
  refUrl: String
  tagType: String!
  value: String!
}

"""
The connection type for Tag.
"""
type TagConnection {
  """
  A list of edges.
  """
  edges: [TagEdge]

  """
  A list of nodes.
  """
  nodes: [Tag]

  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
}

"""
An edge in a connection.
"""
type TagEdge {
  """
  A cursor for use in pagination.
  """
  cursor: String!

  """
  The item at the end of the edge.
  """
  node: Tag
}

scalar TagFilter

type Title {
  en: String
  jp: String
}