mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-11-13 09:38:48 +01:00
91 lines
3.4 KiB
GraphQL
91 lines
3.4 KiB
GraphQL
"""
|
|
Represents a version of an anime theme.
|
|
|
|
For example, the ED theme of the Bakemonogatari anime has three anime theme entries to represent three versions.
|
|
"""
|
|
type AnimeThemeEntry @model(class: "App\\Models\\Wiki\\Entry") {
|
|
"The primary key of the resource"
|
|
id: Int! @rename(attribute: "entry_id")
|
|
|
|
"The episodes that the theme is used for"
|
|
episodes: String
|
|
|
|
"Any additional information for this sequence"
|
|
notes: String
|
|
|
|
"Is not safe for work content included?"
|
|
nsfw: Boolean!
|
|
|
|
"Is content included that may spoil the viewer?"
|
|
spoiler: Boolean!
|
|
|
|
"The version number of the theme"
|
|
version: Int!
|
|
|
|
"The number of likes recorded for the resource"
|
|
likesCount: Int! @rename(attribute: "favorites_count")
|
|
|
|
"The number of tracks belonging to the resource"
|
|
tracksCount: Int! @rename(attribute: "tracks_count")
|
|
|
|
"The date that the resource was created"
|
|
createdAt(format: String! = "Y-m-d H:i:s"): String @timestamp(attribute: "created_at")
|
|
|
|
"The date that the resource was updated"
|
|
updatedAt(format: String! = "Y-m-d H:i:s"): String @timestamp(attribute: "updated_at")
|
|
|
|
animetheme: AnimeTheme! @belongsTo
|
|
|
|
resources(
|
|
site: ResourceSite @eq
|
|
externalId: Int @eq(key: "external_id")
|
|
where: _ @whereConditions(columnsEnum: ExternalResourceFilterableColumns, handler: "App\\GraphQL\\WhereConditions\\WhereConditionsHandler")
|
|
sort: [ExternalResourceSort!] @sort
|
|
): [ExternalResource!]! @belongsToManyCustom(type: CONNECTION, edgeType: "ExternalResourceEdge")
|
|
|
|
videos(
|
|
basename: String @eq
|
|
filename: String @eq
|
|
lyrics: Boolean @eq
|
|
mimetype: String @eq
|
|
nc: Boolean @eq
|
|
overlap: VideoOverlap @eq
|
|
path: String @eq
|
|
path_like: String @like(key: "path")
|
|
resolution: Int @eq
|
|
resolution_lesser: Int @where(operator: "<", key: "resolution")
|
|
resolution_greater: Int @where(operator: ">", key: "resolution")
|
|
size_lesser: Int @where(operator: "<", key: "size")
|
|
size_greater: Int @where(operator: ">", key: "size")
|
|
source: VideoSource @eq
|
|
subbed: Boolean @eq
|
|
uncen: Boolean @eq
|
|
where: _ @whereConditions(columnsEnum: VideoFilterableColumns, handler: "App\\GraphQL\\WhereConditions\\WhereConditionsHandler")
|
|
sort: [VideoSort!] @sort
|
|
): [Video!]! @belongsToManyCustom(type: CONNECTION, edgeType: "AnimeThemeEntryVideoEdge")
|
|
}
|
|
|
|
type AnimeThemeEntryVideoEdge @model(class: "App\\Pivots\\Wiki\\EntryVideo") {
|
|
"The Video node."
|
|
node: Video!
|
|
|
|
"The date that the resource was created"
|
|
createdAt(format: String! = "Y-m-d H:i:s"): String @timestamp(attribute: "created_at")
|
|
|
|
"The date that the resource was updated"
|
|
updatedAt(format: String! = "Y-m-d H:i:s"): String @timestamp(attribute: "updated_at")
|
|
}
|
|
|
|
extend type Query {
|
|
animethemeentryPagination(
|
|
episodes: String @eq
|
|
episodes_like: String @like(key: "episodes")
|
|
nsfw: Boolean @eq
|
|
spoiler: Boolean @eq
|
|
version: Int @eq
|
|
version_lesser: Int @where(operator: "<", key: "version")
|
|
version_greater: Int @where(operator: ">", key: "version")
|
|
where: _ @whereConditions(columnsEnum: AnimeThemeEntryFilterableColumns, handler: "App\\GraphQL\\WhereConditions\\WhereConditionsHandler")
|
|
sort: [AnimeThemeEntrySort!] @sort
|
|
): [AnimeThemeEntry!]! @paginate
|
|
} |