2024-07-08 18:02:50 +02:00
|
|
|
/*
|
|
|
|
|
* 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';
|
2025-12-22 14:00:44 +01:00
|
|
|
import { SOURCE_BASE_FIELDS } from '@/lib/graphql/source/SourceFragments.ts';
|
2024-07-08 18:02:50 +02:00
|
|
|
|
2024-09-22 02:46:01 +02:00
|
|
|
export const MANGA_META_FIELDS = gql`
|
|
|
|
|
fragment MANGA_META_FIELDS on MangaMetaType {
|
|
|
|
|
mangaId
|
|
|
|
|
key
|
|
|
|
|
value
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
export const MANGA_BASE_FIELDS = gql`
|
|
|
|
|
fragment MANGA_BASE_FIELDS on MangaType {
|
|
|
|
|
id
|
|
|
|
|
title
|
|
|
|
|
|
|
|
|
|
thumbnailUrl
|
|
|
|
|
thumbnailUrlLastFetched
|
|
|
|
|
inLibrary
|
|
|
|
|
initialized
|
|
|
|
|
sourceId
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const MANGA_CHAPTER_STAT_FIELDS = gql`
|
|
|
|
|
fragment MANGA_CHAPTER_STAT_FIELDS on MangaType {
|
|
|
|
|
id
|
|
|
|
|
unreadCount
|
|
|
|
|
downloadCount
|
|
|
|
|
bookmarkCount
|
2024-07-28 23:14:42 +02:00
|
|
|
hasDuplicateChapters
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
chapters {
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
2024-07-26 13:42:33 +02:00
|
|
|
export const MANGA_CHAPTER_NODE_FIELDS = gql`
|
|
|
|
|
fragment MANGA_CHAPTER_NODE_FIELDS on MangaType {
|
|
|
|
|
firstUnreadChapter {
|
|
|
|
|
id
|
|
|
|
|
sourceOrder
|
2024-12-06 23:59:39 +01:00
|
|
|
isRead
|
|
|
|
|
mangaId
|
2025-09-18 20:37:51 +02:00
|
|
|
chapterNumber
|
|
|
|
|
name
|
|
|
|
|
scanlator
|
2024-07-26 13:42:33 +02:00
|
|
|
}
|
|
|
|
|
lastReadChapter {
|
|
|
|
|
id
|
|
|
|
|
sourceOrder
|
|
|
|
|
lastReadAt
|
|
|
|
|
}
|
|
|
|
|
latestReadChapter {
|
|
|
|
|
id
|
|
|
|
|
sourceOrder
|
|
|
|
|
lastReadAt
|
|
|
|
|
}
|
|
|
|
|
latestFetchedChapter {
|
|
|
|
|
id
|
|
|
|
|
fetchedAt
|
|
|
|
|
}
|
|
|
|
|
latestUploadedChapter {
|
|
|
|
|
id
|
|
|
|
|
uploadDate
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
export const MANGA_READER_FIELDS = gql`
|
|
|
|
|
${MANGA_BASE_FIELDS}
|
2024-09-22 02:46:01 +02:00
|
|
|
${MANGA_META_FIELDS}
|
2024-12-26 17:15:50 +01:00
|
|
|
${SOURCE_BASE_FIELDS}
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
fragment MANGA_READER_FIELDS on MangaType {
|
|
|
|
|
...MANGA_BASE_FIELDS
|
|
|
|
|
|
2024-12-26 17:15:50 +01:00
|
|
|
genre
|
|
|
|
|
source {
|
|
|
|
|
...SOURCE_BASE_FIELDS
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
meta {
|
2024-09-22 02:46:01 +02:00
|
|
|
...MANGA_META_FIELDS
|
2024-07-08 18:02:50 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
chapters {
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
trackRecords {
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const MANGA_LIBRARY_FIELDS = gql`
|
|
|
|
|
${MANGA_BASE_FIELDS}
|
|
|
|
|
${MANGA_CHAPTER_STAT_FIELDS}
|
2024-07-26 13:42:33 +02:00
|
|
|
${MANGA_CHAPTER_NODE_FIELDS}
|
2025-07-08 22:02:25 +02:00
|
|
|
${MANGA_META_FIELDS}
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
fragment MANGA_LIBRARY_FIELDS on MangaType {
|
|
|
|
|
...MANGA_BASE_FIELDS
|
|
|
|
|
...MANGA_CHAPTER_STAT_FIELDS
|
2024-07-26 13:42:33 +02:00
|
|
|
...MANGA_CHAPTER_NODE_FIELDS
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
genre
|
|
|
|
|
lastFetchedAt
|
|
|
|
|
inLibraryAt
|
2024-09-15 00:48:32 +02:00
|
|
|
status
|
2024-07-08 18:02:50 +02:00
|
|
|
|
2024-08-14 22:40:53 +02:00
|
|
|
artist
|
|
|
|
|
author
|
|
|
|
|
description
|
|
|
|
|
|
2025-07-08 22:02:25 +02:00
|
|
|
meta {
|
|
|
|
|
...MANGA_META_FIELDS
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-14 22:40:53 +02:00
|
|
|
source {
|
|
|
|
|
id
|
|
|
|
|
displayName
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
trackRecords {
|
|
|
|
|
totalCount
|
|
|
|
|
|
|
|
|
|
nodes {
|
|
|
|
|
id
|
|
|
|
|
trackerId
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const MANGA_SCREEN_FIELDS = gql`
|
|
|
|
|
${MANGA_LIBRARY_FIELDS}
|
2025-04-20 21:40:28 +02:00
|
|
|
${MANGA_META_FIELDS}
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
fragment MANGA_SCREEN_FIELDS on MangaType {
|
|
|
|
|
...MANGA_LIBRARY_FIELDS
|
|
|
|
|
|
|
|
|
|
artist
|
|
|
|
|
author
|
|
|
|
|
description
|
|
|
|
|
|
|
|
|
|
status
|
|
|
|
|
realUrl
|
|
|
|
|
|
2025-04-20 21:40:28 +02:00
|
|
|
meta {
|
|
|
|
|
...MANGA_META_FIELDS
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
sourceId
|
|
|
|
|
source {
|
|
|
|
|
id
|
|
|
|
|
displayName
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
trackRecords {
|
|
|
|
|
totalCount
|
|
|
|
|
|
|
|
|
|
nodes {
|
|
|
|
|
id
|
|
|
|
|
trackerId
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const MANGA_LIBRARY_DUPLICATE_SCREEN_FIELDS = gql`
|
|
|
|
|
${MANGA_BASE_FIELDS}
|
|
|
|
|
${MANGA_CHAPTER_STAT_FIELDS}
|
|
|
|
|
|
|
|
|
|
fragment MANGA_LIBRARY_DUPLICATE_SCREEN_FIELDS on MangaType {
|
|
|
|
|
...MANGA_BASE_FIELDS
|
|
|
|
|
...MANGA_CHAPTER_STAT_FIELDS
|
|
|
|
|
|
|
|
|
|
description
|
|
|
|
|
}
|
|
|
|
|
`;
|