summaryrefslogblamecommitdiffstatshomepage
path: root/frontend/operations.graphql
blob: 09364f623c6885a138a219284eb5cba77abaf959 (plain) (tree)























                           

                 


























































































































































































































































































































































































                                                                                                
                              








                                                                                                   
                                                 








                                                         
                                                 







                                
























                                          







































































































































































































































































                                                                         
fragment Image on Image {
	hash
	width
	height
}

fragment Page on Page {
	id
	path
	image {
		id
		hash
		aspectRatio
		width
		height
	}
	comicId
}

fragment Comic on Comic {
	id
	title
	originalTitle
	favourite
	date
	pageCount
	cover {
		...Image
	}
	tags {
		name
		description
	}
	artists {
		name
	}
	characters {
		name
	}
	worlds {
		name
	}
	circles {
		name
	}
}

fragment FullArchive on FullArchive {
	id
	name
	path
	size
	createdAt
	mtime
	organized
	pageCount
	pages {
		...Page
	}
	comics {
		...Comic
	}
}

fragment Archive on Archive {
	id
	name
	size
	pageCount
	cover {
		...Image
	}
}

fragment FullComic on FullComic {
	id
	title
	originalTitle
	url
	language
	direction
	date
	layout
	rating
	category
	censorship
	favourite
	createdAt
	updatedAt
	organized
	bookmarked
	pages {
		...Page
	}
	archive {
		id
	}
	tags {
		id
		name
		description
	}
	artists {
		id
		name
	}
	characters {
		id
		name
	}
	worlds {
		id
		name
	}
	circles {
		id
		name
	}
}

fragment ComicScraper on ComicScraper {
	id
	name
}

fragment ScrapeComicResult on ScrapeComicResult {
	data {
		artists
		category
		censorship
		characters
		circles
		date
		direction
		language
		layout
		originalTitle
		url
		rating
		tags
		title
		worlds
	}
	warnings
}

query comics($pagination: Pagination!, $filter: ComicFilterInput, $sort: ComicSortInput) {
	comics(pagination: $pagination, filter: $filter, sort: $sort) {
		edges {
			...Comic
		}
		count
	}
}

query archives($pagination: Pagination!, $filter: ArchiveFilterInput, $sort: ArchiveSortInput) {
	archives(pagination: $pagination, filter: $filter, sort: $sort) {
		edges {
			...Archive
		}
		count
	}
}

query archive($id: Int!) {
	archive(id: $id) {
		... on FullArchive {
			...FullArchive
		}
		... on Error {
			message
		}
	}
}

query comic($id: Int!) {
	comic(id: $id) {
		... on FullComic {
			...FullComic
		}
		... on Error {
			message
		}
	}
}

query tag($id: Int!) {
	tag(id: $id) {
		... on FullTag {
			id
			name
			description
			namespaces {
				id
				name
			}
		}
		... on Error {
			message
		}
	}
}

query tags($pagination: Pagination!, $filter: TagFilterInput, $sort: TagSortInput) {
	tags(pagination: $pagination, filter: $filter, sort: $sort) {
		edges {
			id
			name
			description
		}
		count
	}
}

query namespace($id: Int!) {
	namespace(id: $id) {
		... on Namespace {
			id
			name
			sortName
		}
		... on Error {
			message
		}
	}
}

query namespaces(
	$pagination: Pagination!
	$filter: NamespaceFilterInput
	$sort: NamespaceSortInput
) {
	namespaces(pagination: $pagination, filter: $filter, sort: $sort) {
		count
		edges {
			id
			name
		}
	}
}

query comicTagList($forFilter: Boolean = false) {
	comicTags(forFilter: $forFilter) {
		edges {
			id
			name
		}
	}
}

query artistList {
	artists {
		edges {
			id
			name
		}
	}
}

query characterList {
	characters {
		edges {
			id
			name
		}
	}
}

query circleList {
	circles {
		edges {
			id
			name
		}
	}
}

query worldList {
	worlds {
		edges {
			id
			name
		}
	}
}

query namespaceList {
	namespaces {
		edges {
			id
			name
		}
	}
}

query artists($pagination: Pagination!, $filter: ArtistFilterInput, $sort: ArtistSortInput) {
	artists(pagination: $pagination, filter: $filter, sort: $sort) {
		count
		edges {
			id
			name
		}
	}
}

query artist($id: Int!) {
	artist(id: $id) {
		... on Artist {
			id
			name
		}
		... on Error {
			message
		}
	}
}

query characters(
	$pagination: Pagination!
	$filter: CharacterFilterInput
	$sort: CharacterSortInput
) {
	characters(pagination: $pagination, filter: $filter, sort: $sort) {
		count
		edges {
			id
			name
		}
	}
}

query character($id: Int!) {
	character(id: $id) {
		... on Character {
			id
			name
		}
		... on Error {
			message
		}
	}
}

query circles($pagination: Pagination!, $filter: CircleFilterInput, $sort: CircleSortInput) {
	circles(pagination: $pagination, filter: $filter, sort: $sort) {
		count
		edges {
			id
			name
		}
	}
}

query circle($id: Int!) {
	circle(id: $id) {
		... on Circle {
			id
			name
		}
		... on Error {
			message
		}
	}
}

query worlds($pagination: Pagination!, $filter: WorldFilterInput, $sort: WorldSortInput) {
	worlds(pagination: $pagination, filter: $filter, sort: $sort) {
		count
		edges {
			id
			name
		}
	}
}

query world($id: Int!) {
	world(id: $id) {
		... on World {
			id
			name
		}
		... on Error {
			message
		}
	}
}

query comicScrapers($id: Int!) {
	comicScrapers(id: $id) {
		id
		name
	}
}

query scrapeComic($id: Int!, $scraper: String!) {
	scrapeComic(id: $id, scraper: $scraper) {
		... on ScrapeComicResult {
			...ScrapeComicResult
		}
		... on Error {
			message
		}
	}
}

query frontpage($seed: Int!) {
	recent: comics(pagination: { items: 6 }, sort: { on: CREATED_AT, direction: DESCENDING }) {
		edges {
			...Comic
		}
		count
	}
	favourites: comics(
		pagination: { items: 6 }
		filter: { include: { favourite: true } }
		sort: { on: RANDOM, seed: $seed }
	) {
		edges {
			...Comic
		}
		count
	}
	bookmarked: comics(
		pagination: { items: 6 }
		filter: { include: { bookmarked: true } }
		sort: { on: RANDOM, seed: $seed }
	) {
		edges {
			...Comic
		}
		count
	}
}

query statistics {
	statistics {
		total {
			archives
			artists
			characters
			circles
			comic {
				artists
				characters
				circles
				tags
				worlds
			}
			comics
			images
			scrapers
			pages
			namespaces
			tags
			worlds
		}
	}
}

mutation addComic($input: AddComicInput!) {
	addComic(input: $input) {
		... on AddComicSuccess {
			message
			archivePagesRemaining
		}
		... on Error {
			message
		}
	}
}

mutation updateArchives($ids: [Int!]!, $input: UpdateArchiveInput!) {
	updateArchives(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateComics($ids: [Int!]!, $input: UpdateComicInput!) {
	updateComics(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation upsertComics($ids: [Int!]!, $input: UpsertComicInput!) {
	upsertComics(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteArchives($ids: [Int!]!) {
	deleteArchives(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteComics($ids: [Int!]!) {
	deleteComics(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation addTag($input: AddTagInput!) {
	addTag(input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateTags($ids: [Int!]!, $input: UpdateTagInput!) {
	updateTags(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteTags($ids: [Int!]!) {
	deleteTags(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation addNamespace($input: AddNamespaceInput!) {
	addNamespace(input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateNamespaces($ids: [Int!]!, $input: UpdateNamespaceInput!) {
	updateNamespaces(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteNamespaces($ids: [Int!]!) {
	deleteNamespaces(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation addArtist($input: AddArtistInput!) {
	addArtist(input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateArtists($ids: [Int!]!, $input: UpdateArtistInput!) {
	updateArtists(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteArtists($ids: [Int!]!) {
	deleteArtists(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation addCharacter($input: AddCharacterInput!) {
	addCharacter(input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateCharacters($ids: [Int!]!, $input: UpdateCharacterInput!) {
	updateCharacters(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteCharacters($ids: [Int!]!) {
	deleteCharacters(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation addCircle($input: AddCircleInput!) {
	addCircle(input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateCircles($ids: [Int!]!, $input: UpdateCircleInput!) {
	updateCircles(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteCircles($ids: [Int!]!) {
	deleteCircles(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation addWorld($input: AddWorldInput!) {
	addWorld(input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation updateWorlds($ids: [Int!]!, $input: UpdateWorldInput!) {
	updateWorlds(ids: $ids, input: $input) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}

mutation deleteWorlds($ids: [Int!]!) {
	deleteWorlds(ids: $ids) {
		... on Success {
			message
		}
		... on Error {
			message
		}
	}
}