Files
suwayomi-material-you-webui/src/lib/graphql/mutations/MangaMutation.ts

197 lines
5.0 KiB
TypeScript
Raw Normal View History

/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import gql from 'graphql-tag';
import { MANGA_META_FIELDS, MANGA_SCREEN_FIELDS } from '@/lib/graphql/fragments/MangaFragments.ts';
export const DELETE_MANGA_METADATA = gql`
${MANGA_META_FIELDS}
mutation DELETE_MANGA_METADATA($input: DeleteMangaMetaInput!) {
deleteMangaMeta(input: $input) {
meta {
...MANGA_META_FIELDS
}
}
}
`;
// makes the server fetch and return the manga
export const GET_MANGA_FETCH = gql`
2024-07-08 18:02:50 +02:00
${MANGA_SCREEN_FIELDS}
mutation GET_MANGA_FETCH($input: FetchMangaInput!) {
fetchManga(input: $input) {
manga {
2024-07-08 18:02:50 +02:00
...MANGA_SCREEN_FIELDS
}
}
}
`;
// makes the server fetch and return the manga
export const GET_MANGA_TO_MIGRATE_TO_FETCH = gql`
2024-04-20 23:51:47 +02:00
mutation GET_MANGA_TO_MIGRATE_TO_FETCH(
$id: Int!
$migrateChapters: Boolean!
$migrateCategories: Boolean!
$migrateTracking: Boolean!
) {
fetchManga(input: { id: $id }) {
manga {
id
title
inLibrary
categories @include(if: $migrateCategories) {
nodes {
id
}
}
2024-04-20 23:51:47 +02:00
trackRecords @include(if: $migrateTracking) {
nodes {
id
remoteId
trackerId
}
}
}
}
fetchChapters(input: { mangaId: $id }) @include(if: $migrateChapters) {
chapters {
id
manga {
id
}
chapterNumber
isRead
isDownloaded
isBookmarked
}
}
}
`;
export const SET_MANGA_METADATA = gql`
${MANGA_META_FIELDS}
mutation SET_MANGA_METADATA($input: SetMangaMetaInput!) {
setMangaMeta(input: $input) {
meta {
...MANGA_META_FIELDS
}
}
}
`;
export const UPDATE_MANGA = gql`
mutation UPDATE_MANGA(
$input: UpdateMangaInput!
$updateCategoryInput: UpdateMangaCategoriesInput!
$updateCategories: Boolean!
) {
updateMangaCategories(input: $updateCategoryInput) @include(if: $updateCategories) {
manga {
id
categories {
nodes {
id
mangas {
totalCount
}
}
totalCount
}
}
}
updateManga(input: $input) {
manga {
id
inLibrary
inLibraryAt
}
}
}
`;
export const UPDATE_MANGAS = gql`
mutation UPDATE_MANGAS(
$input: UpdateMangasInput!
$updateCategoryInput: UpdateMangasCategoriesInput!
$updateCategories: Boolean!
) {
updateMangasCategories(input: $updateCategoryInput) @include(if: $updateCategories) {
mangas {
id
categories {
nodes {
id
mangas {
totalCount
}
}
totalCount
}
}
}
updateMangas(input: $input) {
mangas {
id
inLibrary
inLibraryAt
categories {
nodes {
id
mangas {
totalCount
}
}
totalCount
}
}
}
}
`;
export const UPDATE_MANGA_CATEGORIES = gql`
mutation UPDATE_MANGA_CATEGORIES($input: UpdateMangaCategoriesInput!) {
updateMangaCategories(input: $input) {
manga {
id
categories {
nodes {
id
mangas {
totalCount
}
}
totalCount
}
}
}
}
`;
export const UPDATE_MANGAS_CATEGORIES = gql`
mutation UPDATE_MANGAS_CATEGORIES($input: UpdateMangasCategoriesInput!) {
updateMangasCategories(input: $input) {
mangas {
id
categories {
nodes {
id
mangas {
totalCount
}
}
totalCount
}
}
}
}
`;