2023-08-05 01:03:40 +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';
|
|
|
|
|
|
|
|
|
|
export const PAGE_INFO = gql`
|
|
|
|
|
fragment PAGE_INFO on PageInfo {
|
|
|
|
|
endCursor
|
|
|
|
|
hasNextPage
|
|
|
|
|
hasPreviousPage
|
|
|
|
|
startCursor
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const GLOBAL_METADATA = gql`
|
|
|
|
|
fragment GLOBAL_METADATA on GlobalMetaType {
|
|
|
|
|
key
|
|
|
|
|
value
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_CATEGORY_FIELDS = gql`
|
|
|
|
|
fragment FULL_CATEGORY_FIELDS on CategoryType {
|
|
|
|
|
default
|
|
|
|
|
id
|
|
|
|
|
includeInUpdate
|
|
|
|
|
name
|
|
|
|
|
order
|
|
|
|
|
meta {
|
|
|
|
|
key
|
|
|
|
|
value
|
|
|
|
|
}
|
|
|
|
|
mangas {
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const PARTIAL_SOURCE_FIELDS = gql`
|
|
|
|
|
fragment PARTIAL_SOURCE_FIELDS on SourceType {
|
|
|
|
|
displayName
|
|
|
|
|
iconUrl
|
|
|
|
|
id
|
|
|
|
|
isConfigurable
|
|
|
|
|
isNsfw
|
|
|
|
|
lang
|
|
|
|
|
name
|
|
|
|
|
supportsLatest
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_SOURCE_FIELDS = gql`
|
|
|
|
|
${PARTIAL_SOURCE_FIELDS}
|
|
|
|
|
fragment FULL_SOURCE_FIELDS on SourceType {
|
|
|
|
|
...PARTIAL_SOURCE_FIELDS
|
|
|
|
|
preferences {
|
|
|
|
|
... on CheckBoxPreference {
|
|
|
|
|
type: __typename
|
|
|
|
|
CheckBoxCheckBoxCurrentValue: currentValue
|
|
|
|
|
summary
|
|
|
|
|
CheckBoxDefault: default
|
|
|
|
|
key
|
|
|
|
|
CheckBoxTitle: title
|
|
|
|
|
}
|
|
|
|
|
... on EditTextPreference {
|
|
|
|
|
type: __typename
|
|
|
|
|
EditTextPreferenceCurrentValue: currentValue
|
|
|
|
|
EditTextPreferenceDefault: default
|
|
|
|
|
EditTextPreferenceTitle: title
|
|
|
|
|
text
|
|
|
|
|
summary
|
|
|
|
|
key
|
|
|
|
|
dialogTitle
|
|
|
|
|
dialogMessage
|
|
|
|
|
}
|
|
|
|
|
... on SwitchPreference {
|
|
|
|
|
type: __typename
|
|
|
|
|
SwitchPreferenceCurrentValue: currentValue
|
|
|
|
|
summary
|
|
|
|
|
key
|
|
|
|
|
SwitchPreferenceDefault: default
|
|
|
|
|
SwitchPreferenceTitle: title
|
|
|
|
|
}
|
|
|
|
|
... on MultiSelectListPreference {
|
|
|
|
|
type: __typename
|
|
|
|
|
dialogMessage
|
|
|
|
|
dialogTitle
|
|
|
|
|
MultiSelectListPreferenceTitle: title
|
|
|
|
|
summary
|
|
|
|
|
key
|
|
|
|
|
entryValues
|
|
|
|
|
entries
|
|
|
|
|
MultiSelectListPreferenceDefault: default
|
|
|
|
|
MultiSelectListPreferenceCurrentValue: currentValue
|
|
|
|
|
}
|
|
|
|
|
... on ListPreference {
|
|
|
|
|
type: __typename
|
|
|
|
|
ListPreferenceCurrentValue: currentValue
|
|
|
|
|
ListPreferenceDefault: default
|
|
|
|
|
ListPreferenceTitle: title
|
|
|
|
|
summary
|
|
|
|
|
key
|
|
|
|
|
entryValues
|
|
|
|
|
entries
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
filters {
|
|
|
|
|
... on TriStateFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
TriStateFilterDefault: default
|
|
|
|
|
}
|
|
|
|
|
... on CheckBoxFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
CheckBoxFilterDefault: default
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on TextFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
TextFilterDefault: default
|
|
|
|
|
}
|
|
|
|
|
... on SortFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
values
|
|
|
|
|
name
|
|
|
|
|
SortFilterDefault: default {
|
|
|
|
|
ascending
|
|
|
|
|
index
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
... on SeparatorFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on SelectFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
values
|
|
|
|
|
name
|
|
|
|
|
SelectFilterDefault: default
|
|
|
|
|
}
|
|
|
|
|
... on HeaderFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on GroupFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
filters {
|
|
|
|
|
... on CheckBoxFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
CheckBoxFilterDefault: default
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on HeaderFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on SelectFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
SelectFilterDefault: default
|
|
|
|
|
name
|
|
|
|
|
values
|
|
|
|
|
}
|
|
|
|
|
... on TriStateFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
TriStateFilterDefault: default
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on TextFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
TextFilterDefault: default
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
... on SortFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
SorSortFilterDefault: default {
|
|
|
|
|
ascending
|
|
|
|
|
index
|
|
|
|
|
}
|
|
|
|
|
name
|
|
|
|
|
values
|
|
|
|
|
}
|
|
|
|
|
... on SeparatorFilter {
|
|
|
|
|
type: __typename
|
|
|
|
|
name
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const BASE_MANGA_FIELDS = gql`
|
|
|
|
|
${PARTIAL_SOURCE_FIELDS}
|
|
|
|
|
fragment BASE_MANGA_FIELDS on MangaType {
|
|
|
|
|
artist
|
|
|
|
|
author
|
|
|
|
|
chaptersLastFetchedAt
|
|
|
|
|
description
|
|
|
|
|
genre
|
|
|
|
|
id
|
|
|
|
|
inLibrary
|
|
|
|
|
inLibraryAt
|
|
|
|
|
initialized
|
|
|
|
|
lastFetchedAt
|
|
|
|
|
meta {
|
|
|
|
|
key
|
|
|
|
|
value
|
|
|
|
|
}
|
|
|
|
|
realUrl
|
|
|
|
|
source {
|
|
|
|
|
...PARTIAL_SOURCE_FIELDS
|
|
|
|
|
}
|
|
|
|
|
status
|
|
|
|
|
thumbnailUrl
|
|
|
|
|
title
|
|
|
|
|
url
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const PARTIAL_MANGA_FIELDS = gql`
|
|
|
|
|
${BASE_MANGA_FIELDS}
|
|
|
|
|
${FULL_CATEGORY_FIELDS}
|
|
|
|
|
${PARTIAL_SOURCE_FIELDS}
|
|
|
|
|
fragment PARTIAL_MANGA_FIELDS on MangaType {
|
|
|
|
|
...BASE_MANGA_FIELDS
|
|
|
|
|
unreadCount
|
|
|
|
|
downloadCount
|
|
|
|
|
categories {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_CATEGORY_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
chapters {
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_CHAPTER_FIELDS = gql`
|
|
|
|
|
${PARTIAL_MANGA_FIELDS}
|
|
|
|
|
fragment FULL_CHAPTER_FIELDS on ChapterType {
|
|
|
|
|
chapterNumber
|
|
|
|
|
fetchedAt
|
|
|
|
|
id
|
|
|
|
|
isBookmarked
|
|
|
|
|
isDownloaded
|
|
|
|
|
isRead
|
|
|
|
|
lastPageRead
|
|
|
|
|
lastReadAt
|
|
|
|
|
manga {
|
|
|
|
|
...PARTIAL_MANGA_FIELDS
|
|
|
|
|
}
|
|
|
|
|
meta {
|
|
|
|
|
key
|
|
|
|
|
value
|
|
|
|
|
}
|
|
|
|
|
name
|
|
|
|
|
pageCount
|
|
|
|
|
realUrl
|
|
|
|
|
scanlator
|
|
|
|
|
sourceOrder
|
|
|
|
|
uploadDate
|
|
|
|
|
url
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_MANGA_FIELDS = gql`
|
|
|
|
|
${PARTIAL_MANGA_FIELDS}
|
|
|
|
|
${FULL_CHAPTER_FIELDS}
|
|
|
|
|
fragment FULL_MANGA_FIELDS on MangaType {
|
|
|
|
|
...PARTIAL_MANGA_FIELDS
|
|
|
|
|
lastReadChapter {
|
|
|
|
|
...FULL_CHAPTER_FIELDS
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_EXTENSION_FIELDS = gql`
|
|
|
|
|
fragment FULL_EXTENSION_FIELDS on ExtensionType {
|
|
|
|
|
apkName
|
|
|
|
|
hasUpdate
|
|
|
|
|
iconUrl
|
|
|
|
|
isInstalled
|
|
|
|
|
isNsfw
|
|
|
|
|
isObsolete
|
|
|
|
|
lang
|
|
|
|
|
name
|
|
|
|
|
pkgName
|
|
|
|
|
versionCode
|
|
|
|
|
versionName
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_DOWNLOAD_STATUS = gql`
|
|
|
|
|
${FULL_CHAPTER_FIELDS}
|
|
|
|
|
fragment FULL_DOWNLOAD_STATUS on DownloadStatus {
|
|
|
|
|
queue {
|
|
|
|
|
chapter {
|
|
|
|
|
...FULL_CHAPTER_FIELDS
|
|
|
|
|
}
|
|
|
|
|
progress
|
|
|
|
|
state
|
|
|
|
|
tries
|
|
|
|
|
}
|
|
|
|
|
state
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const PARTIAL_UPDATER_STATUS = gql`
|
|
|
|
|
fragment PARTIAL_UPDATER_STATUS on UpdateStatus {
|
|
|
|
|
isRunning
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const FULL_UPDATER_STATUS = gql`
|
|
|
|
|
${FULL_MANGA_FIELDS}
|
|
|
|
|
${PARTIAL_UPDATER_STATUS}
|
|
|
|
|
${FULL_CATEGORY_FIELDS}
|
|
|
|
|
fragment FULL_UPDATER_STATUS on UpdateStatus {
|
|
|
|
|
...PARTIAL_UPDATER_STATUS
|
|
|
|
|
completeJobs {
|
|
|
|
|
mangas {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_MANGA_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
failedJobs {
|
|
|
|
|
mangas {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_MANGA_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
pendingJobs {
|
|
|
|
|
mangas {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_MANGA_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
runningJobs {
|
|
|
|
|
mangas {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_MANGA_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
skippedJobs {
|
|
|
|
|
mangas {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_MANGA_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
updatingCategories {
|
|
|
|
|
categories {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_CATEGORY_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
skippedCategories {
|
|
|
|
|
categories {
|
|
|
|
|
nodes {
|
|
|
|
|
...FULL_CATEGORY_FIELDS
|
|
|
|
|
}
|
|
|
|
|
totalCount
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const WEBUI_UPDATE_INFO = gql`
|
|
|
|
|
fragment WEBUI_UPDATE_INFO on WebUIUpdateInfo {
|
|
|
|
|
channel
|
|
|
|
|
tag
|
|
|
|
|
updateAvailable
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const WEBUI_UPDATE_STATUS = gql`
|
|
|
|
|
${WEBUI_UPDATE_INFO}
|
|
|
|
|
fragment WEBUI_UPDATE_STATUS on WebUIUpdateStatus {
|
|
|
|
|
info {
|
|
|
|
|
...WEBUI_UPDATE_INFO
|
|
|
|
|
}
|
|
|
|
|
progress
|
|
|
|
|
state
|
|
|
|
|
}
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
export const SERVER_SETTINGS = gql`
|
|
|
|
|
fragment SERVER_SETTINGS on SettingsType {
|
2023-11-04 14:40:43 +01:00
|
|
|
# Server ip and port bindings
|
2023-08-05 01:03:40 +02:00
|
|
|
ip
|
|
|
|
|
port
|
2023-11-04 14:40:43 +01:00
|
|
|
|
|
|
|
|
# Socks proxy
|
2023-08-05 01:03:40 +02:00
|
|
|
socksProxyEnabled
|
|
|
|
|
socksProxyHost
|
|
|
|
|
socksProxyPort
|
2023-11-04 14:40:43 +01:00
|
|
|
|
|
|
|
|
# webUI
|
2023-08-05 01:03:40 +02:00
|
|
|
webUIFlavor
|
2023-11-04 14:40:43 +01:00
|
|
|
initialOpenInBrowserEnabled
|
2023-08-05 01:03:40 +02:00
|
|
|
webUIInterface
|
2023-11-04 14:40:43 +01:00
|
|
|
electronPath
|
|
|
|
|
webUIChannel
|
2023-08-05 01:03:40 +02:00
|
|
|
webUIUpdateCheckInterval
|
2023-11-04 14:40:43 +01:00
|
|
|
|
|
|
|
|
# downloader
|
|
|
|
|
downloadAsCbz
|
|
|
|
|
downloadsPath
|
|
|
|
|
autoDownloadNewChapters
|
|
|
|
|
excludeEntryWithUnreadChapters
|
|
|
|
|
autoDownloadAheadLimit
|
|
|
|
|
|
|
|
|
|
# requests
|
|
|
|
|
maxSourcesInParallel
|
|
|
|
|
|
|
|
|
|
# updater
|
|
|
|
|
excludeUnreadChapters
|
|
|
|
|
excludeNotStarted
|
|
|
|
|
excludeCompleted
|
|
|
|
|
globalUpdateInterval
|
|
|
|
|
updateMangas
|
|
|
|
|
|
|
|
|
|
# Authentication
|
|
|
|
|
basicAuthEnabled
|
|
|
|
|
basicAuthUsername
|
|
|
|
|
basicAuthPassword
|
|
|
|
|
|
|
|
|
|
# misc
|
|
|
|
|
debugLogsEnabled
|
|
|
|
|
gqlDebugLogsEnabled
|
|
|
|
|
systemTrayEnabled
|
|
|
|
|
|
|
|
|
|
# backup
|
|
|
|
|
backupPath
|
|
|
|
|
backupTime
|
|
|
|
|
backupInterval
|
|
|
|
|
backupTTL
|
2023-11-18 19:55:44 +01:00
|
|
|
|
|
|
|
|
# local source
|
|
|
|
|
localSourcePath
|
2023-08-05 01:03:40 +02:00
|
|
|
}
|
|
|
|
|
`;
|