2026-05-15 20:40:31 +02:00
|
|
|
/** Internal type. DO NOT USE DIRECTLY. */
|
|
|
|
|
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
|
|
|
|
|
/** Internal type. DO NOT USE DIRECTLY. */
|
2023-08-07 23:32:36 +02:00
|
|
|
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
|
2026-05-15 20:40:31 +02:00
|
|
|
import type * as Types from './graphql-base.types';
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type CreateBackupMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.CreateBackupInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
2024-07-04 22:00:39 +02:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type CreateBackupMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
createBackup: { __typename: 'CreateBackupPayload'; url: string };
|
|
|
|
|
};
|
2024-07-04 22:00:39 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type RestoreBackupMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
backup: unknown;
|
|
|
|
|
flags?: Types.PartialBackupFlagsInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
2024-07-06 15:10:55 +02:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type RestoreBackupMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
restoreBackup: {
|
|
|
|
|
__typename: 'RestoreBackupPayload';
|
|
|
|
|
id: string;
|
|
|
|
|
status: {
|
|
|
|
|
__typename: 'BackupRestoreStatus';
|
|
|
|
|
mangaProgress: number;
|
|
|
|
|
state: Types.BackupRestoreState;
|
|
|
|
|
totalManga: number;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-03-16 21:01:24 +01:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type ValidateBackupQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
backup: unknown;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
2025-03-16 21:01:24 +01:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type ValidateBackupQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
validateBackup: {
|
|
|
|
|
__typename: 'ValidateBackupResult';
|
|
|
|
|
missingSources: Array<{ __typename: 'ValidateBackupSource'; id: string; name: string }>;
|
|
|
|
|
missingTrackers: Array<{ __typename: 'ValidateBackupTracker'; name: string }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-06 15:10:55 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type GetRestoreStatusQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: string;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetRestoreStatusQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
restoreStatus: {
|
|
|
|
|
__typename: 'BackupRestoreStatus';
|
|
|
|
|
mangaProgress: number;
|
|
|
|
|
state: Types.BackupRestoreState;
|
|
|
|
|
totalManga: number;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CategoryMetaFieldsFragment = {
|
|
|
|
|
__typename: 'CategoryMetaType';
|
|
|
|
|
categoryId: number;
|
|
|
|
|
key: string;
|
|
|
|
|
value: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CategoryBaseFieldsFragment = {
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
default: boolean;
|
|
|
|
|
order: number;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CategoryLibraryFieldsFragment = {
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
default: boolean;
|
|
|
|
|
order: number;
|
|
|
|
|
meta: Array<{ __typename: 'CategoryMetaType'; categoryId: number; key: string; value: string }>;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CategorySettingFieldsFragment = {
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
includeInUpdate: Types.IncludeOrExclude;
|
|
|
|
|
includeInDownload: Types.IncludeOrExclude;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
default: boolean;
|
|
|
|
|
order: number;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type CreateCategoryMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.CreateCategoryInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type CreateCategoryMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
createCategory: {
|
|
|
|
|
__typename: 'CreateCategoryPayload';
|
|
|
|
|
category: {
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
includeInUpdate: Types.IncludeOrExclude;
|
|
|
|
|
includeInDownload: Types.IncludeOrExclude;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
default: boolean;
|
|
|
|
|
order: number;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type DeleteCategoryMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.DeleteCategoryInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type DeleteCategoryMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
deleteCategory: {
|
|
|
|
|
__typename: 'DeleteCategoryPayload';
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number } | null;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateCategoryMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateCategoryInput;
|
|
|
|
|
getDefault: boolean;
|
|
|
|
|
getIncludeInUpdate: boolean;
|
|
|
|
|
getIncludeInDownload: boolean;
|
|
|
|
|
getName: boolean;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateCategoryMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateCategory: {
|
|
|
|
|
__typename: 'UpdateCategoryPayload';
|
|
|
|
|
category: {
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
default?: boolean;
|
|
|
|
|
includeInUpdate?: Types.IncludeOrExclude;
|
|
|
|
|
includeInDownload?: Types.IncludeOrExclude;
|
|
|
|
|
name?: string;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateCategoriesMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateCategoriesInput;
|
|
|
|
|
getDefault: boolean;
|
|
|
|
|
getIncludeInUpdate: boolean;
|
|
|
|
|
getIncludeInDownload: boolean;
|
|
|
|
|
getName: boolean;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateCategoriesMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateCategories: {
|
|
|
|
|
__typename: 'UpdateCategoriesPayload';
|
|
|
|
|
categories: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
default?: boolean;
|
|
|
|
|
includeInUpdate?: Types.IncludeOrExclude;
|
|
|
|
|
includeInDownload?: Types.IncludeOrExclude;
|
|
|
|
|
name?: string;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateCategoryOrderMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateCategoryOrderInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateCategoryOrderMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateCategoryOrder: {
|
|
|
|
|
__typename: 'UpdateCategoryOrderPayload';
|
|
|
|
|
categories: Array<{ __typename: 'CategoryType'; id: number; order: number }>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2026-01-25 20:32:56 +01:00
|
|
|
export type UpdateCategoryMetadataMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
preUpdateDeleteInput: Types.DeleteCategoryMetasInput;
|
|
|
|
|
hasPreUpdateDeletions: boolean;
|
|
|
|
|
updateInput: Types.SetCategoryMetasInput;
|
|
|
|
|
hasUpdates: boolean;
|
|
|
|
|
postUpdateDeleteInput: Types.DeleteCategoryMetasInput;
|
|
|
|
|
hasPostUpdateDeletions: boolean;
|
|
|
|
|
migrateInput: Types.SetCategoryMetasInput;
|
|
|
|
|
isMigration: boolean;
|
2026-01-25 20:32:56 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateCategoryMetadataMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
preUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteCategoryMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'CategoryMetaType'; categoryId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
updatedMeta?: {
|
|
|
|
|
__typename: 'SetCategoryMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'CategoryMetaType'; categoryId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
postUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteCategoryMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'CategoryMetaType'; categoryId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
migrationMeta?: {
|
|
|
|
|
__typename: 'SetCategoryMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'CategoryMetaType'; categoryId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-01-25 20:32:56 +01:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type GetCategoriesBaseQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.CategoryConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.CategoryFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.CategoryOrderInput> | Types.CategoryOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetCategoriesBaseQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'CategoryType'; id: number; name: string; default: boolean; order: number }>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetCategoriesLibraryQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.CategoryConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.CategoryFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.CategoryOrderInput> | Types.CategoryOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetCategoriesLibraryQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
default: boolean;
|
|
|
|
|
order: number;
|
|
|
|
|
meta: Array<{ __typename: 'CategoryMetaType'; categoryId: number; key: string; value: string }>;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetCategoriesSettingsQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.CategoryConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.CategoryFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.CategoryOrderInput> | Types.CategoryOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetCategoriesSettingsQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
includeInUpdate: Types.IncludeOrExclude;
|
|
|
|
|
includeInDownload: Types.IncludeOrExclude;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
default: boolean;
|
|
|
|
|
order: number;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetCategoryMangasQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetCategoryMangasQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
category: {
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
mangas: {
|
|
|
|
|
__typename: 'MangaNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterMetaFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterMetaType';
|
|
|
|
|
chapterId: number;
|
|
|
|
|
key: string;
|
|
|
|
|
value: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterBaseFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterStateFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterReaderFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastPageRead: number;
|
|
|
|
|
pageCount: number;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterListFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterUpdateListFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ChapterHistoryListFieldsFragment = {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
2023-08-07 23:32:36 +02:00
|
|
|
export type GetChapterPagesFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.FetchChapterPagesInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetChapterPagesFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchChapterPages: {
|
|
|
|
|
__typename: 'FetchChapterPagesPayload';
|
|
|
|
|
pages: Array<string>;
|
2026-06-15 14:04:53 +02:00
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
pageCount: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; downloadCount: number };
|
|
|
|
|
};
|
2026-05-17 12:38:49 +02:00
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type GetMangaChaptersFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.FetchChaptersInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaChaptersFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchChapters: {
|
|
|
|
|
__typename: 'FetchChaptersPayload';
|
|
|
|
|
chapters: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateChapterMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateChapterInput;
|
|
|
|
|
getBookmarked: boolean;
|
|
|
|
|
getRead: boolean;
|
|
|
|
|
getLastPageRead: boolean;
|
|
|
|
|
chapterIdToDelete: number;
|
|
|
|
|
deleteChapter: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
trackProgress: boolean;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateChapterMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateChapter: {
|
|
|
|
|
__typename: 'UpdateChapterPayload';
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isBookmarked?: boolean;
|
|
|
|
|
isRead?: boolean;
|
|
|
|
|
lastReadAt?: string;
|
|
|
|
|
lastPageRead?: number;
|
|
|
|
|
manga?: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number } | null;
|
|
|
|
|
firstUnreadChapter: { __typename: 'ChapterType'; id: number } | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
deleteDownloadedChapter?: {
|
|
|
|
|
__typename: 'DeleteDownloadedChapterPayload';
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; downloadCount: number };
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
trackProgress?: {
|
|
|
|
|
__typename: 'TrackProgressPayload';
|
|
|
|
|
trackRecords: Array<{
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateChaptersMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateChaptersInput;
|
|
|
|
|
getBookmarked: boolean;
|
|
|
|
|
getRead: boolean;
|
|
|
|
|
getLastPageRead: boolean;
|
|
|
|
|
chapterIdsToDelete: Array<number> | number;
|
|
|
|
|
deleteChapters: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
trackProgress: boolean;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateChaptersMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateChapters: {
|
|
|
|
|
__typename: 'UpdateChaptersPayload';
|
|
|
|
|
chapters: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isBookmarked?: boolean;
|
|
|
|
|
isRead?: boolean;
|
|
|
|
|
lastReadAt?: string;
|
|
|
|
|
lastPageRead?: number;
|
|
|
|
|
manga?: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number } | null;
|
|
|
|
|
firstUnreadChapter: { __typename: 'ChapterType'; id: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
deleteDownloadedChapters?: {
|
|
|
|
|
__typename: 'DeleteDownloadedChaptersPayload';
|
|
|
|
|
chapters: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
trackProgress?: {
|
|
|
|
|
__typename: 'TrackProgressPayload';
|
|
|
|
|
trackRecords: Array<{
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2026-01-25 20:32:56 +01:00
|
|
|
export type UpdateChapterMetadataMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
preUpdateDeleteInput: Types.DeleteChapterMetasInput;
|
|
|
|
|
hasPreUpdateDeletions: boolean;
|
|
|
|
|
updateInput: Types.SetChapterMetasInput;
|
|
|
|
|
hasUpdates: boolean;
|
|
|
|
|
postUpdateDeleteInput: Types.DeleteChapterMetasInput;
|
|
|
|
|
hasPostUpdateDeletions: boolean;
|
|
|
|
|
migrateInput: Types.SetChapterMetasInput;
|
|
|
|
|
isMigration: boolean;
|
2026-01-25 20:32:56 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateChapterMetadataMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
preUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteChapterMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'ChapterMetaType'; chapterId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
updatedMeta?: {
|
|
|
|
|
__typename: 'SetChapterMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'ChapterMetaType'; chapterId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
postUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteChapterMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'ChapterMetaType'; chapterId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
migrationMeta?: {
|
|
|
|
|
__typename: 'SetChapterMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'ChapterMetaType'; chapterId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-01-25 20:32:56 +01:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type GetChaptersReaderQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.ChapterConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.ChapterFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.ChapterOrderInput> | Types.ChapterOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetChaptersReaderQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastPageRead: number;
|
|
|
|
|
pageCount: number;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetChaptersMangaQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.ChapterConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.ChapterFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.ChapterOrderInput> | Types.ChapterOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetChaptersMangaQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetChaptersUpdatesQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.ChapterConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.ChapterFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.ChapterOrderInput> | Types.ChapterOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetChaptersUpdatesQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
lastUpdateTimestamp: { __typename: 'LastUpdateTimestampPayload'; timestamp: string };
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetChaptersHistoryQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.ChapterConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.ChapterFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.ChapterOrderInput> | Types.ChapterOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetChaptersHistoryQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetMangasChapterIdsWithStateQueryVariables = Exact<{
|
2026-05-20 16:26:43 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.ChapterConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.ChapterFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.ChapterOrderInput> | Types.ChapterOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangasChapterIdsWithStateQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterNodeList';
|
2026-05-20 16:26:43 +02:00
|
|
|
totalCount: number;
|
2026-05-17 12:38:49 +02:00
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
id: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
}>;
|
2026-05-20 16:26:43 +02:00
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
2026-05-17 12:38:49 +02:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type PageInfoFragment = {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GlobalMetadataFragment = { __typename: 'GlobalMetaType'; key: string; value: string };
|
|
|
|
|
|
|
|
|
|
export type DownloadTypeFieldsFragment = {
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: { __typename: 'ChapterType'; id: number; name: string; sourceOrder: number; isDownloaded: boolean };
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type DownloadStatusFieldsFragment = {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: { __typename: 'ChapterType'; id: number; name: string; sourceOrder: number; isDownloaded: boolean };
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type DownloadUpdatesFieldsFragment = {
|
|
|
|
|
__typename: 'DownloadUpdates';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
omittedUpdates: boolean;
|
|
|
|
|
updates: Array<{
|
|
|
|
|
__typename: 'DownloadUpdate';
|
|
|
|
|
type: Types.DownloadUpdateType;
|
|
|
|
|
download: {
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
position: number;
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
2023-08-07 23:32:36 +02:00
|
|
|
export type ClearDownloaderMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.ClearDownloaderInput | null | undefined;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type ClearDownloaderMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
clearDownloader: {
|
|
|
|
|
__typename: 'ClearDownloaderPayload';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type DeleteDownloadedChapterMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.DeleteDownloadedChapterInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type DeleteDownloadedChapterMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
deleteDownloadedChapter: {
|
|
|
|
|
__typename: 'DeleteDownloadedChapterPayload';
|
|
|
|
|
chapters: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; downloadCount: number };
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type DeleteDownloadedChaptersMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.DeleteDownloadedChaptersInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type DeleteDownloadedChaptersMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
deleteDownloadedChapters: {
|
|
|
|
|
__typename: 'DeleteDownloadedChaptersPayload';
|
|
|
|
|
chapters: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type DequeueChapterDownloadMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.DequeueChapterDownloadInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type DequeueChapterDownloadMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
dequeueChapterDownload: {
|
|
|
|
|
__typename: 'DequeueChapterDownloadPayload';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type DequeueChapterDownloadsMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.DequeueChapterDownloadsInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type DequeueChapterDownloadsMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
dequeueChapterDownloads: {
|
|
|
|
|
__typename: 'DequeueChapterDownloadsPayload';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type EnqueueChapterDownloadMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.EnqueueChapterDownloadInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type EnqueueChapterDownloadMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
enqueueChapterDownload: {
|
|
|
|
|
__typename: 'EnqueueChapterDownloadPayload';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type EnqueueChapterDownloadsMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.EnqueueChapterDownloadsInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type EnqueueChapterDownloadsMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
enqueueChapterDownloads: {
|
|
|
|
|
__typename: 'EnqueueChapterDownloadsPayload';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type ReorderChapterDownloadMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.ReorderChapterDownloadInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type ReorderChapterDownloadMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
reorderChapterDownload: {
|
|
|
|
|
__typename: 'ReorderChapterDownloadPayload';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type StartDownloaderMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.StartDownloaderInput | null | undefined;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type StartDownloaderMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
startDownloader: {
|
|
|
|
|
__typename: 'StartDownloaderPayload';
|
|
|
|
|
downloadStatus: { __typename: 'DownloadStatus'; state: Types.DownloaderState };
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type StopDownloaderMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.StopDownloaderInput | null | undefined;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type StopDownloaderMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
stopDownloader: {
|
|
|
|
|
__typename: 'StopDownloaderPayload';
|
|
|
|
|
downloadStatus: { __typename: 'DownloadStatus'; state: Types.DownloaderState };
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetDownloadStatusQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetDownloadStatusQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
downloadStatus: {
|
|
|
|
|
__typename: 'DownloadStatus';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
queue: Array<{
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type DownloadStatusSubscriptionVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.DownloadChangedInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type DownloadStatusSubscription = {
|
|
|
|
|
__typename: 'Subscription';
|
|
|
|
|
downloadStatusChanged: {
|
|
|
|
|
__typename: 'DownloadUpdates';
|
|
|
|
|
state: Types.DownloaderState;
|
|
|
|
|
omittedUpdates: boolean;
|
|
|
|
|
updates: Array<{
|
|
|
|
|
__typename: 'DownloadUpdate';
|
|
|
|
|
type: Types.DownloadUpdateType;
|
|
|
|
|
download: {
|
|
|
|
|
__typename: 'DownloadType';
|
|
|
|
|
position: number;
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.DownloadState;
|
|
|
|
|
tries: number;
|
|
|
|
|
chapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
};
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; title: string; downloadCount: number };
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ExtensionListFieldsFragment = {
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetExtensionsFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.FetchExtensionsInput | null | undefined;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetExtensionsFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchExtensions: {
|
|
|
|
|
__typename: 'FetchExtensionsPayload';
|
|
|
|
|
extensions: Array<{
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateExtensionMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateExtensionInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateExtensionMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateExtension: {
|
|
|
|
|
__typename: 'UpdateExtensionPayload';
|
|
|
|
|
extension: {
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
} | null;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type UpdateExtensionsMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateExtensionsInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateExtensionsMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateExtensions: {
|
|
|
|
|
__typename: 'UpdateExtensionsPayload';
|
|
|
|
|
extensions: Array<{
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
|
|
|
|
export type InstallExternalExtensionMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
file: unknown;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type InstallExternalExtensionMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
installExternalExtension: {
|
|
|
|
|
__typename: 'InstallExternalExtensionPayload';
|
|
|
|
|
extension: {
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type GetExtensionQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
pkgName: string;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetExtensionQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
extension: {
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type GetExtensionsQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.ExtensionConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.ExtensionFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.ExtensionOrderInput> | Types.ExtensionOrderInput | null | undefined;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetExtensionsQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
extensions: {
|
|
|
|
|
__typename: 'ExtensionNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ExtensionType';
|
|
|
|
|
pkgName: string;
|
|
|
|
|
name: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
versionCode: number;
|
|
|
|
|
versionName: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
repo: string | null;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isInstalled: boolean;
|
|
|
|
|
isObsolete: boolean;
|
|
|
|
|
hasUpdate: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2023-12-09 14:16:52 +01:00
|
|
|
export type ClearServerCacheMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.ClearCachedImagesInput;
|
2023-12-09 14:16:52 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type ClearServerCacheMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
clearCachedImages: {
|
|
|
|
|
__typename: 'ClearCachedImagesPayload';
|
|
|
|
|
cachedPages: boolean | null;
|
|
|
|
|
cachedThumbnails: boolean | null;
|
|
|
|
|
downloadedThumbnails: boolean | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type KoSyncStatusFragment = {
|
|
|
|
|
__typename: 'KoSyncStatusPayload';
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
serverAddress: string | null;
|
|
|
|
|
username: string | null;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
2025-12-06 12:59:39 -06:00
|
|
|
export type KoSyncLoginMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
serverAddress: string;
|
|
|
|
|
username: string;
|
|
|
|
|
password: string;
|
2025-12-06 12:59:39 -06:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type KoSyncLoginMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
connectKoSyncAccount: {
|
|
|
|
|
__typename: 'KoSyncConnectPayload';
|
|
|
|
|
message: string | null;
|
|
|
|
|
status: {
|
|
|
|
|
__typename: 'KoSyncStatusPayload';
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
serverAddress: string | null;
|
|
|
|
|
username: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type KoSyncLogoutMutationVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type KoSyncLogoutMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
logoutKoSyncAccount: {
|
|
|
|
|
__typename: 'LogoutKoSyncAccountPayload';
|
|
|
|
|
status: {
|
|
|
|
|
__typename: 'KoSyncStatusPayload';
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
serverAddress: string | null;
|
|
|
|
|
username: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetKoSyncStatusQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetKoSyncStatusQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
koSyncStatus: {
|
|
|
|
|
__typename: 'KoSyncStatusPayload';
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
serverAddress: string | null;
|
|
|
|
|
username: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaMetaFieldsFragment = { __typename: 'MangaMetaType'; mangaId: number; key: string; value: string };
|
|
|
|
|
|
|
|
|
|
export type MangaBaseFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaChapterStatFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaChapterNodeFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaReaderFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
trackRecords: { __typename: 'TrackRecordNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaLibraryFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaMigrationFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
source: { __typename: 'SourceType'; id: string; name: string; displayName: string } | null;
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaScreenFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type MangaLibraryDuplicateScreenFieldsFragment = {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
description: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
2023-08-07 23:32:36 +02:00
|
|
|
export type GetMangaFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.FetchMangaInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchManga: {
|
|
|
|
|
__typename: 'FetchMangaPayload';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-04-23 19:34:43 +02:00
|
|
|
|
|
|
|
|
export type RefreshMangaMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
2026-04-23 19:34:43 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type RefreshMangaMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchChapters: {
|
|
|
|
|
__typename: 'FetchChaptersPayload';
|
|
|
|
|
chapters: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
fetchedAt: string;
|
|
|
|
|
uploadDate: string;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
fetchManga: {
|
|
|
|
|
__typename: 'FetchMangaPayload';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2024-01-26 20:50:51 +01:00
|
|
|
export type GetMangaToMigrateToFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
|
|
|
|
migrateChapters: boolean;
|
|
|
|
|
migrateCategories: boolean;
|
|
|
|
|
migrateTracking: boolean;
|
2024-01-26 20:50:51 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaToMigrateToFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchManga: {
|
|
|
|
|
__typename: 'FetchMangaPayload';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
categories?: { __typename: 'CategoryNodeList'; nodes: Array<{ __typename: 'CategoryType'; id: number }> };
|
|
|
|
|
trackRecords?: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; remoteId: string; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
fetchChapters?: {
|
|
|
|
|
__typename: 'FetchChaptersPayload';
|
|
|
|
|
chapters: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number };
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2024-01-26 20:50:51 +01:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UpdateMangaMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateMangaInput;
|
|
|
|
|
updateCategoryInput: Types.UpdateMangaCategoriesInput;
|
|
|
|
|
updateCategories: boolean;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateMangaMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateMangaCategories?: {
|
|
|
|
|
__typename: 'UpdateMangaCategoriesPayload';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
updateManga: {
|
|
|
|
|
__typename: 'UpdateMangaPayload';
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number; inLibrary: boolean; inLibraryAt: string };
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UpdateMangasMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateMangasInput;
|
|
|
|
|
updateCategoryInput: Types.UpdateMangasCategoriesInput;
|
|
|
|
|
updateCategories: boolean;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateMangasMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateMangasCategories?: {
|
|
|
|
|
__typename: 'UpdateMangasCategoriesPayload';
|
|
|
|
|
mangas: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
updateMangas: {
|
|
|
|
|
__typename: 'UpdateMangasPayload';
|
|
|
|
|
mangas: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UpdateMangaCategoriesMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateMangaCategoriesInput;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateMangaCategoriesMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateMangaCategories: {
|
|
|
|
|
__typename: 'UpdateMangaCategoriesPayload';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UpdateMangasCategoriesMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateMangasCategoriesInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
2025-12-06 12:59:39 -06:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateMangasCategoriesMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateMangasCategories: {
|
|
|
|
|
__typename: 'UpdateMangasCategoriesPayload';
|
|
|
|
|
mangas: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'CategoryType';
|
|
|
|
|
id: number;
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2025-12-06 12:59:39 -06:00
|
|
|
|
2026-01-25 20:32:56 +01:00
|
|
|
export type UpdateMangaMetadataMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
preUpdateDeleteInput: Types.DeleteMangaMetasInput;
|
|
|
|
|
hasPreUpdateDeletions: boolean;
|
|
|
|
|
updateInput: Types.SetMangaMetasInput;
|
|
|
|
|
hasUpdates: boolean;
|
|
|
|
|
postUpdateDeleteInput: Types.DeleteMangaMetasInput;
|
|
|
|
|
hasPostUpdateDeletions: boolean;
|
|
|
|
|
migrateInput: Types.SetMangaMetasInput;
|
|
|
|
|
isMigration: boolean;
|
2026-01-25 20:32:56 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateMangaMetadataMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
preUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteMangaMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
updatedMeta?: {
|
|
|
|
|
__typename: 'SetMangaMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
postUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteMangaMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
migrationMeta?: {
|
|
|
|
|
__typename: 'SetMangaMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-01-25 20:32:56 +01:00
|
|
|
|
2026-05-20 16:48:57 +02:00
|
|
|
export type GetMangaMetaQueryVariables = Exact<{
|
|
|
|
|
id: number;
|
|
|
|
|
}>;
|
|
|
|
|
|
|
|
|
|
export type GetMangaMetaQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
export type GetMangaScreenQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaScreenQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
realUrl: string | null;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
export type GetMangaReaderQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
2024-07-08 18:02:50 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaReaderQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
trackRecords: { __typename: 'TrackRecordNodeList'; totalCount: number };
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
export type GetMangaTrackRecordsQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
2024-07-08 18:02:50 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaTrackRecordsQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
export type GetMangaCategoriesQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
2024-07-08 18:02:50 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaCategoriesQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
categories: {
|
|
|
|
|
__typename: 'CategoryNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'CategoryType'; id: number }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2024-01-26 20:50:51 +01:00
|
|
|
export type GetMangaToMigrateQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: number;
|
|
|
|
|
getChapterData: boolean;
|
|
|
|
|
migrateCategories: boolean;
|
|
|
|
|
migrateTracking: boolean;
|
|
|
|
|
migrateMetadata: boolean;
|
2024-01-26 20:50:51 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangaToMigrateQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
title: string;
|
|
|
|
|
chapters?: {
|
|
|
|
|
__typename: 'ChapterNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
isDownloaded: boolean;
|
|
|
|
|
isBookmarked: boolean;
|
|
|
|
|
manga: { __typename: 'MangaType'; id: number };
|
|
|
|
|
meta?: Array<{ __typename: 'ChapterMetaType'; chapterId: number; key: string; value: string }>;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
categories?: { __typename: 'CategoryNodeList'; nodes: Array<{ __typename: 'CategoryType'; id: number }> };
|
|
|
|
|
trackRecords?: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
private: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
meta?: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-01-26 20:50:51 +01:00
|
|
|
|
2024-07-08 18:02:50 +02:00
|
|
|
export type GetMangasBaseQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.MangaConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.MangaFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.MangaOrderInput> | Types.MangaOrderInput | null | undefined;
|
2024-07-08 18:02:50 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangasBaseQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
mangas: {
|
|
|
|
|
__typename: 'MangaNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
export type GetMangasLibraryQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.MangaConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.MangaFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.MangaOrderInput> | Types.MangaOrderInput | null | undefined;
|
2024-07-08 18:02:50 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangasLibraryQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
mangas: {
|
|
|
|
|
__typename: 'MangaNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
genre: Array<string>;
|
|
|
|
|
lastFetchedAt: string | null;
|
|
|
|
|
inLibraryAt: string;
|
|
|
|
|
status: Types.MangaStatus;
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
description: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
meta: Array<{ __typename: 'MangaMetaType'; mangaId: number; key: string; value: string }>;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-08 18:02:50 +02:00
|
|
|
|
|
|
|
|
export type GetMangasDuplicatesQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.MangaConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.MangaFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.MangaOrderInput> | Types.MangaOrderInput | null | undefined;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMangasDuplicatesQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
mangas: {
|
|
|
|
|
__typename: 'MangaNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
description: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
}>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2024-01-26 20:50:51 +01:00
|
|
|
export type GetMigratableSourceMangasQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.MangaConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.MangaFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.MangaOrderInput> | Types.MangaOrderInput | null | undefined;
|
2024-01-26 20:50:51 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMigratableSourceMangasQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
mangas: {
|
|
|
|
|
__typename: 'MangaNodeList';
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
source: { __typename: 'SourceType'; id: string; name: string; displayName: string } | null;
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetLibraryMangaCountQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetLibraryMangaCountQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
mangas: { __typename: 'MangaNodeList'; totalCount: number };
|
|
|
|
|
};
|
2024-11-28 12:20:36 +01:00
|
|
|
|
2026-01-25 20:32:56 +01:00
|
|
|
export type UpdateGlobalMetadataMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
preUpdateDeleteInput: Types.DeleteGlobalMetasInput;
|
|
|
|
|
hasPreUpdateDeletions: boolean;
|
|
|
|
|
updateInput: Types.SetGlobalMetasInput;
|
|
|
|
|
hasUpdates: boolean;
|
|
|
|
|
postUpdateDeleteInput: Types.DeleteGlobalMetasInput;
|
|
|
|
|
hasPostUpdateDeletions: boolean;
|
|
|
|
|
migrateInput: Types.SetGlobalMetasInput;
|
|
|
|
|
isMigration: boolean;
|
2026-01-25 20:32:56 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateGlobalMetadataMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
preUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteGlobalMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'GlobalMetaType'; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
updatedMeta?: {
|
|
|
|
|
__typename: 'SetGlobalMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'GlobalMetaType'; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
postUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteGlobalMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'GlobalMetaType'; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
migrationMeta?: {
|
|
|
|
|
__typename: 'SetGlobalMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'GlobalMetaType'; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-01-25 20:32:56 +01:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type GetGlobalMetadataQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
key: string;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetGlobalMetadataQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
meta: { __typename: 'GlobalMetaType'; key: string; value: string };
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetGlobalMetadatasQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
after?: string | null | undefined;
|
|
|
|
|
before?: string | null | undefined;
|
|
|
|
|
condition?: Types.MetaConditionInput | null | undefined;
|
|
|
|
|
filter?: Types.MetaFilterInput | null | undefined;
|
|
|
|
|
first?: number | null | undefined;
|
|
|
|
|
last?: number | null | undefined;
|
|
|
|
|
offset?: number | null | undefined;
|
|
|
|
|
order?: Array<Types.MetaOrderInput> | Types.MetaOrderInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetGlobalMetadatasQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
metas: {
|
|
|
|
|
__typename: 'GlobalMetaNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'GlobalMetaType'; key: string; value: string }>;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type AboutWebuiFragment = {
|
|
|
|
|
__typename: 'AboutWebUI';
|
|
|
|
|
channel: Types.WebUiChannel;
|
|
|
|
|
tag: string;
|
|
|
|
|
updateTimestamp: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type WebuiUpdateCheckFragment = {
|
|
|
|
|
__typename: 'WebUIUpdateCheck';
|
|
|
|
|
channel: Types.WebUiChannel;
|
|
|
|
|
tag: string;
|
|
|
|
|
updateAvailable: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type WebuiUpdateInfoFragment = { __typename: 'WebUIUpdateInfo'; channel: Types.WebUiChannel; tag: string };
|
|
|
|
|
|
|
|
|
|
export type WebuiUpdateStatusFragment = {
|
|
|
|
|
__typename: 'WebUIUpdateStatus';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.UpdateState;
|
|
|
|
|
info: { __typename: 'WebUIUpdateInfo'; channel: Types.WebUiChannel; tag: string };
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type UpdateWebuiMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.WebUiUpdateInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateWebuiMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateWebUI: {
|
|
|
|
|
__typename: 'WebUIUpdatePayload';
|
|
|
|
|
updateStatus: {
|
|
|
|
|
__typename: 'WebUIUpdateStatus';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.UpdateState;
|
|
|
|
|
info: { __typename: 'WebUIUpdateInfo'; channel: Types.WebUiChannel; tag: string };
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ResetWebuiUpdateStatusMutationVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type ResetWebuiUpdateStatusMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
resetWebUIUpdateStatus: {
|
|
|
|
|
__typename: 'WebUIUpdateStatus';
|
|
|
|
|
state: Types.UpdateState;
|
|
|
|
|
info: { __typename: 'WebUIUpdateInfo'; channel: Types.WebUiChannel; tag: string };
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetAboutQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetAboutQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
aboutServer: {
|
|
|
|
|
__typename: 'AboutServerPayload';
|
|
|
|
|
buildTime: string;
|
|
|
|
|
buildType: string;
|
|
|
|
|
discord: string;
|
|
|
|
|
github: string;
|
|
|
|
|
name: string;
|
|
|
|
|
version: string;
|
|
|
|
|
};
|
|
|
|
|
aboutWebUI: { __typename: 'AboutWebUI'; channel: Types.WebUiChannel; tag: string; updateTimestamp: string };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CheckForServerUpdatesQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type CheckForServerUpdatesQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
checkForServerUpdates: Array<{
|
|
|
|
|
__typename: 'CheckForServerUpdatesPayload';
|
|
|
|
|
channel: string;
|
|
|
|
|
tag: string;
|
|
|
|
|
url: string;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type CheckForWebuiUpdateQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type CheckForWebuiUpdateQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
checkForWebUIUpdate: {
|
|
|
|
|
__typename: 'WebUIUpdateCheck';
|
|
|
|
|
channel: Types.WebUiChannel;
|
|
|
|
|
tag: string;
|
|
|
|
|
updateAvailable: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetWebuiUpdateStatusQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetWebuiUpdateStatusQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
getWebUIUpdateStatus: {
|
|
|
|
|
__typename: 'WebUIUpdateStatus';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.UpdateState;
|
|
|
|
|
info: { __typename: 'WebUIUpdateInfo'; channel: Types.WebUiChannel; tag: string };
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type WebuiUpdateSubscriptionVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type WebuiUpdateSubscription = {
|
|
|
|
|
__typename: 'Subscription';
|
|
|
|
|
webUIUpdateStatusChange: {
|
|
|
|
|
__typename: 'WebUIUpdateStatus';
|
|
|
|
|
progress: number;
|
|
|
|
|
state: Types.UpdateState;
|
|
|
|
|
info: { __typename: 'WebUIUpdateInfo'; channel: Types.WebUiChannel; tag: string };
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type ServerSettingsFragment = {
|
|
|
|
|
__typename: 'SettingsType';
|
|
|
|
|
ip: string;
|
|
|
|
|
port: number;
|
|
|
|
|
socksProxyEnabled: boolean;
|
|
|
|
|
socksProxyVersion: number;
|
|
|
|
|
socksProxyHost: string;
|
|
|
|
|
socksProxyPort: string;
|
|
|
|
|
socksProxyUsername: string;
|
|
|
|
|
socksProxyPassword: string;
|
|
|
|
|
webUIFlavor: Types.WebUiFlavor;
|
|
|
|
|
initialOpenInBrowserEnabled: boolean;
|
|
|
|
|
webUIInterface: Types.WebUiInterface;
|
|
|
|
|
electronPath: string;
|
|
|
|
|
webUIChannel: Types.WebUiChannel;
|
|
|
|
|
webUIUpdateCheckInterval: number;
|
|
|
|
|
downloadAsCbz: boolean;
|
|
|
|
|
downloadsPath: string;
|
|
|
|
|
autoDownloadNewChapters: boolean;
|
|
|
|
|
excludeEntryWithUnreadChapters: boolean;
|
|
|
|
|
autoDownloadNewChaptersLimit: number;
|
|
|
|
|
autoDownloadIgnoreReUploads: boolean;
|
|
|
|
|
extensionRepos: Array<string>;
|
|
|
|
|
maxSourcesInParallel: number;
|
|
|
|
|
excludeUnreadChapters: boolean;
|
|
|
|
|
excludeNotStarted: boolean;
|
|
|
|
|
excludeCompleted: boolean;
|
|
|
|
|
globalUpdateInterval: number;
|
|
|
|
|
updateMangas: boolean;
|
|
|
|
|
authMode: Types.AuthMode;
|
|
|
|
|
authPassword: string;
|
|
|
|
|
authUsername: string;
|
|
|
|
|
jwtAudience: string;
|
|
|
|
|
jwtTokenExpiry: string;
|
|
|
|
|
jwtRefreshExpiry: string;
|
|
|
|
|
debugLogsEnabled: boolean;
|
|
|
|
|
systemTrayEnabled: boolean;
|
|
|
|
|
maxLogFileSize: string;
|
|
|
|
|
maxLogFiles: number;
|
|
|
|
|
maxLogFolderSize: string;
|
|
|
|
|
backupPath: string;
|
|
|
|
|
backupTime: string;
|
|
|
|
|
backupInterval: number;
|
|
|
|
|
backupTTL: number;
|
|
|
|
|
autoBackupIncludeCategories: boolean;
|
|
|
|
|
autoBackupIncludeChapters: boolean;
|
|
|
|
|
autoBackupIncludeClientData: boolean;
|
|
|
|
|
autoBackupIncludeHistory: boolean;
|
|
|
|
|
autoBackupIncludeManga: boolean;
|
|
|
|
|
autoBackupIncludeServerSettings: boolean;
|
|
|
|
|
autoBackupIncludeTracking: boolean;
|
|
|
|
|
localSourcePath: string;
|
|
|
|
|
flareSolverrEnabled: boolean;
|
|
|
|
|
flareSolverrUrl: string;
|
|
|
|
|
flareSolverrTimeout: number;
|
|
|
|
|
flareSolverrSessionName: string;
|
|
|
|
|
flareSolverrSessionTtl: number;
|
|
|
|
|
flareSolverrAsResponseFallback: boolean;
|
|
|
|
|
opdsUseBinaryFileSizes: boolean;
|
|
|
|
|
opdsItemsPerPage: number;
|
|
|
|
|
opdsEnablePageReadProgress: boolean;
|
|
|
|
|
opdsMarkAsReadOnDownload: boolean;
|
|
|
|
|
opdsShowOnlyUnreadChapters: boolean;
|
|
|
|
|
opdsShowOnlyDownloadedChapters: boolean;
|
|
|
|
|
opdsChapterSortOrder: Types.SortOrder;
|
|
|
|
|
opdsCbzMimetype: Types.CbzMediaType;
|
|
|
|
|
koreaderSyncChecksumMethod: Types.KoreaderSyncChecksumMethod;
|
|
|
|
|
koreaderSyncStrategyBackward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncStrategyForward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncPercentageTolerance: number;
|
|
|
|
|
databaseType: Types.DatabaseType;
|
|
|
|
|
databaseUrl: string;
|
|
|
|
|
databaseUsername: string;
|
|
|
|
|
databasePassword: string;
|
|
|
|
|
useHikariConnectionPool: boolean;
|
2026-06-28 18:23:04 +02:00
|
|
|
kcefEnabled: boolean;
|
2026-05-17 12:38:49 +02:00
|
|
|
downloadConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{ __typename: 'SettingsDownloadConversionHeaderType'; name: string; value: string }> | null;
|
|
|
|
|
}>;
|
|
|
|
|
serveConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{ __typename: 'SettingsDownloadConversionHeaderType'; name: string; value: string }> | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type ResetServerSettingsMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.ResetSettingsInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type ResetServerSettingsMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
resetSettings: {
|
|
|
|
|
__typename: 'ResetSettingsPayload';
|
|
|
|
|
settings: {
|
|
|
|
|
__typename: 'SettingsType';
|
|
|
|
|
ip: string;
|
|
|
|
|
port: number;
|
|
|
|
|
socksProxyEnabled: boolean;
|
|
|
|
|
socksProxyVersion: number;
|
|
|
|
|
socksProxyHost: string;
|
|
|
|
|
socksProxyPort: string;
|
|
|
|
|
socksProxyUsername: string;
|
|
|
|
|
socksProxyPassword: string;
|
|
|
|
|
webUIFlavor: Types.WebUiFlavor;
|
|
|
|
|
initialOpenInBrowserEnabled: boolean;
|
|
|
|
|
webUIInterface: Types.WebUiInterface;
|
|
|
|
|
electronPath: string;
|
|
|
|
|
webUIChannel: Types.WebUiChannel;
|
|
|
|
|
webUIUpdateCheckInterval: number;
|
|
|
|
|
downloadAsCbz: boolean;
|
|
|
|
|
downloadsPath: string;
|
|
|
|
|
autoDownloadNewChapters: boolean;
|
|
|
|
|
excludeEntryWithUnreadChapters: boolean;
|
|
|
|
|
autoDownloadNewChaptersLimit: number;
|
|
|
|
|
autoDownloadIgnoreReUploads: boolean;
|
|
|
|
|
extensionRepos: Array<string>;
|
|
|
|
|
maxSourcesInParallel: number;
|
|
|
|
|
excludeUnreadChapters: boolean;
|
|
|
|
|
excludeNotStarted: boolean;
|
|
|
|
|
excludeCompleted: boolean;
|
|
|
|
|
globalUpdateInterval: number;
|
|
|
|
|
updateMangas: boolean;
|
|
|
|
|
authMode: Types.AuthMode;
|
|
|
|
|
authPassword: string;
|
|
|
|
|
authUsername: string;
|
|
|
|
|
jwtAudience: string;
|
|
|
|
|
jwtTokenExpiry: string;
|
|
|
|
|
jwtRefreshExpiry: string;
|
|
|
|
|
debugLogsEnabled: boolean;
|
|
|
|
|
systemTrayEnabled: boolean;
|
|
|
|
|
maxLogFileSize: string;
|
|
|
|
|
maxLogFiles: number;
|
|
|
|
|
maxLogFolderSize: string;
|
|
|
|
|
backupPath: string;
|
|
|
|
|
backupTime: string;
|
|
|
|
|
backupInterval: number;
|
|
|
|
|
backupTTL: number;
|
|
|
|
|
autoBackupIncludeCategories: boolean;
|
|
|
|
|
autoBackupIncludeChapters: boolean;
|
|
|
|
|
autoBackupIncludeClientData: boolean;
|
|
|
|
|
autoBackupIncludeHistory: boolean;
|
|
|
|
|
autoBackupIncludeManga: boolean;
|
|
|
|
|
autoBackupIncludeServerSettings: boolean;
|
|
|
|
|
autoBackupIncludeTracking: boolean;
|
|
|
|
|
localSourcePath: string;
|
|
|
|
|
flareSolverrEnabled: boolean;
|
|
|
|
|
flareSolverrUrl: string;
|
|
|
|
|
flareSolverrTimeout: number;
|
|
|
|
|
flareSolverrSessionName: string;
|
|
|
|
|
flareSolverrSessionTtl: number;
|
|
|
|
|
flareSolverrAsResponseFallback: boolean;
|
|
|
|
|
opdsUseBinaryFileSizes: boolean;
|
|
|
|
|
opdsItemsPerPage: number;
|
|
|
|
|
opdsEnablePageReadProgress: boolean;
|
|
|
|
|
opdsMarkAsReadOnDownload: boolean;
|
|
|
|
|
opdsShowOnlyUnreadChapters: boolean;
|
|
|
|
|
opdsShowOnlyDownloadedChapters: boolean;
|
|
|
|
|
opdsChapterSortOrder: Types.SortOrder;
|
|
|
|
|
opdsCbzMimetype: Types.CbzMediaType;
|
|
|
|
|
koreaderSyncChecksumMethod: Types.KoreaderSyncChecksumMethod;
|
|
|
|
|
koreaderSyncStrategyBackward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncStrategyForward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncPercentageTolerance: number;
|
|
|
|
|
databaseType: Types.DatabaseType;
|
|
|
|
|
databaseUrl: string;
|
|
|
|
|
databaseUsername: string;
|
|
|
|
|
databasePassword: string;
|
|
|
|
|
useHikariConnectionPool: boolean;
|
2026-06-28 18:23:04 +02:00
|
|
|
kcefEnabled: boolean;
|
2026-05-17 12:38:49 +02:00
|
|
|
downloadConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionHeaderType';
|
|
|
|
|
name: string;
|
|
|
|
|
value: string;
|
|
|
|
|
}> | null;
|
|
|
|
|
}>;
|
|
|
|
|
serveConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionHeaderType';
|
|
|
|
|
name: string;
|
|
|
|
|
value: string;
|
|
|
|
|
}> | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type UpdateServerSettingsMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.SetSettingsInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateServerSettingsMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
setSettings: {
|
|
|
|
|
__typename: 'SetSettingsPayload';
|
|
|
|
|
settings: {
|
|
|
|
|
__typename: 'SettingsType';
|
|
|
|
|
ip: string;
|
|
|
|
|
port: number;
|
|
|
|
|
socksProxyEnabled: boolean;
|
|
|
|
|
socksProxyVersion: number;
|
|
|
|
|
socksProxyHost: string;
|
|
|
|
|
socksProxyPort: string;
|
|
|
|
|
socksProxyUsername: string;
|
|
|
|
|
socksProxyPassword: string;
|
|
|
|
|
webUIFlavor: Types.WebUiFlavor;
|
|
|
|
|
initialOpenInBrowserEnabled: boolean;
|
|
|
|
|
webUIInterface: Types.WebUiInterface;
|
|
|
|
|
electronPath: string;
|
|
|
|
|
webUIChannel: Types.WebUiChannel;
|
|
|
|
|
webUIUpdateCheckInterval: number;
|
|
|
|
|
downloadAsCbz: boolean;
|
|
|
|
|
downloadsPath: string;
|
|
|
|
|
autoDownloadNewChapters: boolean;
|
|
|
|
|
excludeEntryWithUnreadChapters: boolean;
|
|
|
|
|
autoDownloadNewChaptersLimit: number;
|
|
|
|
|
autoDownloadIgnoreReUploads: boolean;
|
|
|
|
|
extensionRepos: Array<string>;
|
|
|
|
|
maxSourcesInParallel: number;
|
|
|
|
|
excludeUnreadChapters: boolean;
|
|
|
|
|
excludeNotStarted: boolean;
|
|
|
|
|
excludeCompleted: boolean;
|
|
|
|
|
globalUpdateInterval: number;
|
|
|
|
|
updateMangas: boolean;
|
|
|
|
|
authMode: Types.AuthMode;
|
|
|
|
|
authPassword: string;
|
|
|
|
|
authUsername: string;
|
|
|
|
|
jwtAudience: string;
|
|
|
|
|
jwtTokenExpiry: string;
|
|
|
|
|
jwtRefreshExpiry: string;
|
|
|
|
|
debugLogsEnabled: boolean;
|
|
|
|
|
systemTrayEnabled: boolean;
|
|
|
|
|
maxLogFileSize: string;
|
|
|
|
|
maxLogFiles: number;
|
|
|
|
|
maxLogFolderSize: string;
|
|
|
|
|
backupPath: string;
|
|
|
|
|
backupTime: string;
|
|
|
|
|
backupInterval: number;
|
|
|
|
|
backupTTL: number;
|
|
|
|
|
autoBackupIncludeCategories: boolean;
|
|
|
|
|
autoBackupIncludeChapters: boolean;
|
|
|
|
|
autoBackupIncludeClientData: boolean;
|
|
|
|
|
autoBackupIncludeHistory: boolean;
|
|
|
|
|
autoBackupIncludeManga: boolean;
|
|
|
|
|
autoBackupIncludeServerSettings: boolean;
|
|
|
|
|
autoBackupIncludeTracking: boolean;
|
|
|
|
|
localSourcePath: string;
|
|
|
|
|
flareSolverrEnabled: boolean;
|
|
|
|
|
flareSolverrUrl: string;
|
|
|
|
|
flareSolverrTimeout: number;
|
|
|
|
|
flareSolverrSessionName: string;
|
|
|
|
|
flareSolverrSessionTtl: number;
|
|
|
|
|
flareSolverrAsResponseFallback: boolean;
|
|
|
|
|
opdsUseBinaryFileSizes: boolean;
|
|
|
|
|
opdsItemsPerPage: number;
|
|
|
|
|
opdsEnablePageReadProgress: boolean;
|
|
|
|
|
opdsMarkAsReadOnDownload: boolean;
|
|
|
|
|
opdsShowOnlyUnreadChapters: boolean;
|
|
|
|
|
opdsShowOnlyDownloadedChapters: boolean;
|
|
|
|
|
opdsChapterSortOrder: Types.SortOrder;
|
|
|
|
|
opdsCbzMimetype: Types.CbzMediaType;
|
|
|
|
|
koreaderSyncChecksumMethod: Types.KoreaderSyncChecksumMethod;
|
|
|
|
|
koreaderSyncStrategyBackward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncStrategyForward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncPercentageTolerance: number;
|
|
|
|
|
databaseType: Types.DatabaseType;
|
|
|
|
|
databaseUrl: string;
|
|
|
|
|
databaseUsername: string;
|
|
|
|
|
databasePassword: string;
|
|
|
|
|
useHikariConnectionPool: boolean;
|
2026-06-28 18:23:04 +02:00
|
|
|
kcefEnabled: boolean;
|
2026-05-17 12:38:49 +02:00
|
|
|
downloadConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionHeaderType';
|
|
|
|
|
name: string;
|
|
|
|
|
value: string;
|
|
|
|
|
}> | null;
|
|
|
|
|
}>;
|
|
|
|
|
serveConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionHeaderType';
|
|
|
|
|
name: string;
|
|
|
|
|
value: string;
|
|
|
|
|
}> | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetServerSettingsQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetServerSettingsQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
settings: {
|
|
|
|
|
__typename: 'SettingsType';
|
|
|
|
|
ip: string;
|
|
|
|
|
port: number;
|
|
|
|
|
socksProxyEnabled: boolean;
|
|
|
|
|
socksProxyVersion: number;
|
|
|
|
|
socksProxyHost: string;
|
|
|
|
|
socksProxyPort: string;
|
|
|
|
|
socksProxyUsername: string;
|
|
|
|
|
socksProxyPassword: string;
|
|
|
|
|
webUIFlavor: Types.WebUiFlavor;
|
|
|
|
|
initialOpenInBrowserEnabled: boolean;
|
|
|
|
|
webUIInterface: Types.WebUiInterface;
|
|
|
|
|
electronPath: string;
|
|
|
|
|
webUIChannel: Types.WebUiChannel;
|
|
|
|
|
webUIUpdateCheckInterval: number;
|
|
|
|
|
downloadAsCbz: boolean;
|
|
|
|
|
downloadsPath: string;
|
|
|
|
|
autoDownloadNewChapters: boolean;
|
|
|
|
|
excludeEntryWithUnreadChapters: boolean;
|
|
|
|
|
autoDownloadNewChaptersLimit: number;
|
|
|
|
|
autoDownloadIgnoreReUploads: boolean;
|
|
|
|
|
extensionRepos: Array<string>;
|
|
|
|
|
maxSourcesInParallel: number;
|
|
|
|
|
excludeUnreadChapters: boolean;
|
|
|
|
|
excludeNotStarted: boolean;
|
|
|
|
|
excludeCompleted: boolean;
|
|
|
|
|
globalUpdateInterval: number;
|
|
|
|
|
updateMangas: boolean;
|
|
|
|
|
authMode: Types.AuthMode;
|
|
|
|
|
authPassword: string;
|
|
|
|
|
authUsername: string;
|
|
|
|
|
jwtAudience: string;
|
|
|
|
|
jwtTokenExpiry: string;
|
|
|
|
|
jwtRefreshExpiry: string;
|
|
|
|
|
debugLogsEnabled: boolean;
|
|
|
|
|
systemTrayEnabled: boolean;
|
|
|
|
|
maxLogFileSize: string;
|
|
|
|
|
maxLogFiles: number;
|
|
|
|
|
maxLogFolderSize: string;
|
|
|
|
|
backupPath: string;
|
|
|
|
|
backupTime: string;
|
|
|
|
|
backupInterval: number;
|
|
|
|
|
backupTTL: number;
|
|
|
|
|
autoBackupIncludeCategories: boolean;
|
|
|
|
|
autoBackupIncludeChapters: boolean;
|
|
|
|
|
autoBackupIncludeClientData: boolean;
|
|
|
|
|
autoBackupIncludeHistory: boolean;
|
|
|
|
|
autoBackupIncludeManga: boolean;
|
|
|
|
|
autoBackupIncludeServerSettings: boolean;
|
|
|
|
|
autoBackupIncludeTracking: boolean;
|
|
|
|
|
localSourcePath: string;
|
|
|
|
|
flareSolverrEnabled: boolean;
|
|
|
|
|
flareSolverrUrl: string;
|
|
|
|
|
flareSolverrTimeout: number;
|
|
|
|
|
flareSolverrSessionName: string;
|
|
|
|
|
flareSolverrSessionTtl: number;
|
|
|
|
|
flareSolverrAsResponseFallback: boolean;
|
|
|
|
|
opdsUseBinaryFileSizes: boolean;
|
|
|
|
|
opdsItemsPerPage: number;
|
|
|
|
|
opdsEnablePageReadProgress: boolean;
|
|
|
|
|
opdsMarkAsReadOnDownload: boolean;
|
|
|
|
|
opdsShowOnlyUnreadChapters: boolean;
|
|
|
|
|
opdsShowOnlyDownloadedChapters: boolean;
|
|
|
|
|
opdsChapterSortOrder: Types.SortOrder;
|
|
|
|
|
opdsCbzMimetype: Types.CbzMediaType;
|
|
|
|
|
koreaderSyncChecksumMethod: Types.KoreaderSyncChecksumMethod;
|
|
|
|
|
koreaderSyncStrategyBackward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncStrategyForward: Types.KoreaderSyncConflictStrategy;
|
|
|
|
|
koreaderSyncPercentageTolerance: number;
|
|
|
|
|
databaseType: Types.DatabaseType;
|
|
|
|
|
databaseUrl: string;
|
|
|
|
|
databaseUsername: string;
|
|
|
|
|
databasePassword: string;
|
|
|
|
|
useHikariConnectionPool: boolean;
|
2026-06-28 18:23:04 +02:00
|
|
|
kcefEnabled: boolean;
|
2026-05-17 12:38:49 +02:00
|
|
|
downloadConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{ __typename: 'SettingsDownloadConversionHeaderType'; name: string; value: string }> | null;
|
|
|
|
|
}>;
|
|
|
|
|
serveConversions: Array<{
|
|
|
|
|
__typename: 'SettingsDownloadConversionType';
|
|
|
|
|
mimeType: string;
|
|
|
|
|
target: string;
|
|
|
|
|
compressionLevel: number | null;
|
|
|
|
|
callTimeout: string | null;
|
|
|
|
|
connectTimeout: string | null;
|
|
|
|
|
headers: Array<{ __typename: 'SettingsDownloadConversionHeaderType'; name: string; value: string }> | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SourceMetaFieldsFragment = { __typename: 'SourceMetaType'; sourceId: string; key: string; value: string };
|
|
|
|
|
|
|
|
|
|
export type SourceBaseFieldsFragment = {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SourceListFieldsFragment = {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isConfigurable: boolean;
|
|
|
|
|
supportsLatest: boolean;
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
meta: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
extension: { __typename: 'ExtensionType'; pkgName: string; repo: string | null };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SourceBrowseFieldsFragment = {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
baseUrl: string | null;
|
|
|
|
|
isConfigurable: boolean;
|
|
|
|
|
supportsLatest: boolean;
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
meta: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
filters: Array<
|
|
|
|
|
| { __typename: 'CheckBoxFilter'; name: string; type: 'CheckBoxFilter'; CheckBoxFilterDefault: boolean }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'GroupFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'GroupFilter';
|
|
|
|
|
filters: Array<
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'CheckBoxFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'CheckBoxFilter';
|
|
|
|
|
CheckBoxFilterDefault: boolean;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'GroupFilter' }
|
|
|
|
|
| { __typename: 'HeaderFilter'; name: string; type: 'HeaderFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SelectFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SelectFilter';
|
|
|
|
|
SelectFilterDefault: number;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'SeparatorFilter'; name: string; type: 'SeparatorFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SortFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SortFilter';
|
|
|
|
|
SortFilterDefault: { __typename: 'SortSelection'; ascending: boolean; index: number } | null;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'TextFilter'; name: string; type: 'TextFilter'; TextFilterDefault: string }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'TriStateFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'TriStateFilter';
|
|
|
|
|
TriStateFilterDefault: Types.TriState;
|
|
|
|
|
}
|
|
|
|
|
>;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'HeaderFilter'; name: string; type: 'HeaderFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SelectFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SelectFilter';
|
|
|
|
|
SelectFilterDefault: number;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'SeparatorFilter'; name: string; type: 'SeparatorFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SortFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SortFilter';
|
|
|
|
|
SortFilterDefault: { __typename: 'SortSelection'; ascending: boolean; index: number } | null;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'TextFilter'; name: string; type: 'TextFilter'; TextFilterDefault: string }
|
|
|
|
|
| { __typename: 'TriStateFilter'; name: string; type: 'TriStateFilter'; TriStateFilterDefault: Types.TriState }
|
|
|
|
|
>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type SourceSettingFieldsFragment = {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
preferences: Array<
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'CheckBoxPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
type: 'CheckBoxPreference';
|
|
|
|
|
CheckBoxCheckBoxCurrentValue: boolean | null;
|
|
|
|
|
CheckBoxDefault: boolean;
|
|
|
|
|
CheckBoxTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'EditTextPreference';
|
|
|
|
|
text: string | null;
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
dialogTitle: string | null;
|
|
|
|
|
dialogMessage: string | null;
|
|
|
|
|
type: 'EditTextPreference';
|
|
|
|
|
EditTextPreferenceCurrentValue: string | null;
|
|
|
|
|
EditTextPreferenceDefault: string | null;
|
|
|
|
|
EditTextPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'ListPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
entryValues: Array<string>;
|
|
|
|
|
entries: Array<string>;
|
|
|
|
|
type: 'ListPreference';
|
|
|
|
|
ListPreferenceCurrentValue: string | null;
|
|
|
|
|
ListPreferenceDefault: string | null;
|
|
|
|
|
ListPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'MultiSelectListPreference';
|
|
|
|
|
dialogMessage: string | null;
|
|
|
|
|
dialogTitle: string | null;
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
entryValues: Array<string>;
|
|
|
|
|
entries: Array<string>;
|
|
|
|
|
type: 'MultiSelectListPreference';
|
|
|
|
|
MultiSelectListPreferenceTitle: string | null;
|
|
|
|
|
MultiSelectListPreferenceDefault: Array<string> | null;
|
|
|
|
|
MultiSelectListPreferenceCurrentValue: Array<string> | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SwitchPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
type: 'SwitchPreference';
|
|
|
|
|
SwitchPreferenceCurrentValue: boolean | null;
|
|
|
|
|
SwitchPreferenceDefault: boolean;
|
|
|
|
|
SwitchPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
>;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type GetSourceMangasFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.FetchSourceMangaInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetSourceMangasFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchSourceManga: {
|
|
|
|
|
__typename: 'FetchSourceMangaPayload';
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
mangas: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
2026-03-13 22:41:28 +01:00
|
|
|
export type GetMigrationSourceMangasFetchMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.FetchSourceMangaInput;
|
2026-03-13 22:41:28 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetMigrationSourceMangasFetchMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchSourceManga: {
|
|
|
|
|
__typename: 'FetchSourceMangaPayload';
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
mangas: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
artist: string | null;
|
|
|
|
|
author: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
thumbnailUrlLastFetched: string | null;
|
|
|
|
|
inLibrary: boolean;
|
|
|
|
|
initialized: boolean;
|
|
|
|
|
sourceId: string;
|
|
|
|
|
source: { __typename: 'SourceType'; id: string; name: string; displayName: string } | null;
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
}>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-03-13 22:41:28 +01:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UpdateSourcePreferencesMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateSourcePreferenceInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateSourcePreferencesMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateSourcePreference: {
|
|
|
|
|
__typename: 'UpdateSourcePreferencePayload';
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
preferences: Array<
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'CheckBoxPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
type: 'CheckBoxPreference';
|
|
|
|
|
CheckBoxCheckBoxCurrentValue: boolean | null;
|
|
|
|
|
CheckBoxDefault: boolean;
|
|
|
|
|
CheckBoxTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'EditTextPreference';
|
|
|
|
|
text: string | null;
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
dialogTitle: string | null;
|
|
|
|
|
dialogMessage: string | null;
|
|
|
|
|
type: 'EditTextPreference';
|
|
|
|
|
EditTextPreferenceCurrentValue: string | null;
|
|
|
|
|
EditTextPreferenceDefault: string | null;
|
|
|
|
|
EditTextPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'ListPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
entryValues: Array<string>;
|
|
|
|
|
entries: Array<string>;
|
|
|
|
|
type: 'ListPreference';
|
|
|
|
|
ListPreferenceCurrentValue: string | null;
|
|
|
|
|
ListPreferenceDefault: string | null;
|
|
|
|
|
ListPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'MultiSelectListPreference';
|
|
|
|
|
dialogMessage: string | null;
|
|
|
|
|
dialogTitle: string | null;
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
entryValues: Array<string>;
|
|
|
|
|
entries: Array<string>;
|
|
|
|
|
type: 'MultiSelectListPreference';
|
|
|
|
|
MultiSelectListPreferenceTitle: string | null;
|
|
|
|
|
MultiSelectListPreferenceDefault: Array<string> | null;
|
|
|
|
|
MultiSelectListPreferenceCurrentValue: Array<string> | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SwitchPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
type: 'SwitchPreference';
|
|
|
|
|
SwitchPreferenceCurrentValue: boolean | null;
|
|
|
|
|
SwitchPreferenceDefault: boolean;
|
|
|
|
|
SwitchPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
2026-01-25 20:32:56 +01:00
|
|
|
export type UpdateSourceMetadataMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
preUpdateDeleteInput: Types.DeleteSourceMetasInput;
|
|
|
|
|
hasPreUpdateDeletions: boolean;
|
|
|
|
|
updateInput: Types.SetSourceMetasInput;
|
|
|
|
|
hasUpdates: boolean;
|
|
|
|
|
postUpdateDeleteInput: Types.DeleteSourceMetasInput;
|
|
|
|
|
hasPostUpdateDeletions: boolean;
|
|
|
|
|
migrateInput: Types.SetSourceMetasInput;
|
|
|
|
|
isMigration: boolean;
|
2026-01-25 20:32:56 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateSourceMetadataMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
preUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteSourceMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
updatedMeta?: {
|
|
|
|
|
__typename: 'SetSourceMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
postUpdateDeletedMeta?: {
|
|
|
|
|
__typename: 'DeleteSourceMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
migrationMeta?: {
|
|
|
|
|
__typename: 'SetSourceMetasPayload';
|
|
|
|
|
metas: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2026-01-25 20:32:56 +01:00
|
|
|
|
2024-07-03 23:15:50 +02:00
|
|
|
export type GetSourceBrowseQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: string;
|
|
|
|
|
}>;
|
|
|
|
|
|
|
|
|
|
export type GetSourceBrowseQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
baseUrl: string | null;
|
|
|
|
|
isConfigurable: boolean;
|
|
|
|
|
supportsLatest: boolean;
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
meta: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
filters: Array<
|
|
|
|
|
| { __typename: 'CheckBoxFilter'; name: string; type: 'CheckBoxFilter'; CheckBoxFilterDefault: boolean }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'GroupFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'GroupFilter';
|
|
|
|
|
filters: Array<
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'CheckBoxFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'CheckBoxFilter';
|
|
|
|
|
CheckBoxFilterDefault: boolean;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'GroupFilter' }
|
|
|
|
|
| { __typename: 'HeaderFilter'; name: string; type: 'HeaderFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SelectFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SelectFilter';
|
|
|
|
|
SelectFilterDefault: number;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'SeparatorFilter'; name: string; type: 'SeparatorFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SortFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SortFilter';
|
|
|
|
|
SortFilterDefault: {
|
|
|
|
|
__typename: 'SortSelection';
|
|
|
|
|
ascending: boolean;
|
|
|
|
|
index: number;
|
|
|
|
|
} | null;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'TextFilter'; name: string; type: 'TextFilter'; TextFilterDefault: string }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'TriStateFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'TriStateFilter';
|
|
|
|
|
TriStateFilterDefault: Types.TriState;
|
|
|
|
|
}
|
|
|
|
|
>;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'HeaderFilter'; name: string; type: 'HeaderFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SelectFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SelectFilter';
|
|
|
|
|
SelectFilterDefault: number;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'SeparatorFilter'; name: string; type: 'SeparatorFilter' }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SortFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
values: Array<string>;
|
|
|
|
|
type: 'SortFilter';
|
|
|
|
|
SortFilterDefault: { __typename: 'SortSelection'; ascending: boolean; index: number } | null;
|
|
|
|
|
}
|
|
|
|
|
| { __typename: 'TextFilter'; name: string; type: 'TextFilter'; TextFilterDefault: string }
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'TriStateFilter';
|
|
|
|
|
name: string;
|
|
|
|
|
type: 'TriStateFilter';
|
|
|
|
|
TriStateFilterDefault: Types.TriState;
|
|
|
|
|
}
|
|
|
|
|
>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-03 23:15:50 +02:00
|
|
|
|
|
|
|
|
export type GetSourceSettingsQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: string;
|
2024-07-03 23:15:50 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetSourceSettingsQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
preferences: Array<
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'CheckBoxPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
type: 'CheckBoxPreference';
|
|
|
|
|
CheckBoxCheckBoxCurrentValue: boolean | null;
|
|
|
|
|
CheckBoxDefault: boolean;
|
|
|
|
|
CheckBoxTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'EditTextPreference';
|
|
|
|
|
text: string | null;
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
dialogTitle: string | null;
|
|
|
|
|
dialogMessage: string | null;
|
|
|
|
|
type: 'EditTextPreference';
|
|
|
|
|
EditTextPreferenceCurrentValue: string | null;
|
|
|
|
|
EditTextPreferenceDefault: string | null;
|
|
|
|
|
EditTextPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'ListPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
entryValues: Array<string>;
|
|
|
|
|
entries: Array<string>;
|
|
|
|
|
type: 'ListPreference';
|
|
|
|
|
ListPreferenceCurrentValue: string | null;
|
|
|
|
|
ListPreferenceDefault: string | null;
|
|
|
|
|
ListPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'MultiSelectListPreference';
|
|
|
|
|
dialogMessage: string | null;
|
|
|
|
|
dialogTitle: string | null;
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
entryValues: Array<string>;
|
|
|
|
|
entries: Array<string>;
|
|
|
|
|
type: 'MultiSelectListPreference';
|
|
|
|
|
MultiSelectListPreferenceTitle: string | null;
|
|
|
|
|
MultiSelectListPreferenceDefault: Array<string> | null;
|
|
|
|
|
MultiSelectListPreferenceCurrentValue: Array<string> | null;
|
|
|
|
|
}
|
|
|
|
|
| {
|
|
|
|
|
__typename: 'SwitchPreference';
|
|
|
|
|
summary: string | null;
|
|
|
|
|
key: string | null;
|
|
|
|
|
type: 'SwitchPreference';
|
|
|
|
|
SwitchPreferenceCurrentValue: boolean | null;
|
|
|
|
|
SwitchPreferenceDefault: boolean;
|
|
|
|
|
SwitchPreferenceTitle: string | null;
|
|
|
|
|
}
|
|
|
|
|
>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-07-03 23:15:50 +02:00
|
|
|
|
|
|
|
|
export type GetSourceMigratableQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
id: string;
|
2023-08-07 23:32:36 +02:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type GetSourceMigratableQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
source: { __typename: 'SourceType'; id: string; name: string; displayName: string; lang: string; iconUrl: string };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetSourcesListQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetSourcesListQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
sources: {
|
|
|
|
|
__typename: 'SourceNodeList';
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
isNsfw: boolean;
|
|
|
|
|
isConfigurable: boolean;
|
|
|
|
|
supportsLatest: boolean;
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
meta: Array<{ __typename: 'SourceMetaType'; sourceId: string; key: string; value: string }>;
|
|
|
|
|
extension: { __typename: 'ExtensionType'; pkgName: string; repo: string | null };
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetMigratableSourcesQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetMigratableSourcesQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
mangas: {
|
|
|
|
|
__typename: 'MangaNodeList';
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
sourceId: string;
|
|
|
|
|
source: {
|
|
|
|
|
__typename: 'SourceType';
|
|
|
|
|
id: string;
|
|
|
|
|
name: string;
|
|
|
|
|
displayName: string;
|
|
|
|
|
lang: string;
|
|
|
|
|
iconUrl: string;
|
|
|
|
|
} | null;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type TrackerBaseFieldsFragment = {
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type TrackerSettingFieldsFragment = {
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
authUrl: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type TrackerBindFieldsFragment = {
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
icon: string;
|
|
|
|
|
supportsPrivateTracking: boolean;
|
|
|
|
|
supportsTrackDeletion: boolean;
|
|
|
|
|
scores: Array<string>;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
statuses: Array<{ __typename: 'TrackStatusType'; name: string; value: number }>;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type TrackRecordSearchFieldsFragment = {
|
|
|
|
|
__typename: 'TrackSearchType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
title: string;
|
|
|
|
|
trackingUrl: string;
|
|
|
|
|
coverUrl: string;
|
|
|
|
|
publishingType: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
publishingStatus: string;
|
|
|
|
|
summary: string;
|
|
|
|
|
score: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type TrackRecordBindFieldsFragment = {
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerLoginOauthMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.LoginTrackerOAuthInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerLoginOauthMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
loginTrackerOAuth: {
|
|
|
|
|
__typename: 'LoginTrackerOAuthPayload';
|
|
|
|
|
tracker: {
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
authUrl: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerLoginCredentialsMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.LoginTrackerCredentialsInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerLoginCredentialsMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
loginTrackerCredentials: {
|
|
|
|
|
__typename: 'LoginTrackerCredentialsPayload';
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
tracker: {
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
authUrl: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerLogoutMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
trackerId: number;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerLogoutMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
logoutTracker: {
|
|
|
|
|
__typename: 'LogoutTrackerPayload';
|
|
|
|
|
tracker: {
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
authUrl: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerBindMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.BindTrackInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerBindMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
bindTrack: {
|
|
|
|
|
__typename: 'BindTrackPayload';
|
|
|
|
|
trackRecord: {
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerUnbindMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UnbindTrackInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerUnbindMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
unbindTrack: {
|
|
|
|
|
__typename: 'UnbindTrackPayload';
|
|
|
|
|
trackRecord: {
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerUpdateBindMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.UpdateTrackInput;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerUpdateBindMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateTrack: {
|
|
|
|
|
__typename: 'UpdateTrackPayload';
|
|
|
|
|
trackRecord: {
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
nodes: Array<{ __typename: 'TrackRecordType'; id: number; trackerId: number }>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type TrackerFetchBindMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
recordId: number;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerFetchBindMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
fetchTrack: {
|
|
|
|
|
__typename: 'FetchTrackPayload';
|
|
|
|
|
trackRecord: {
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetTrackersSettingsQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetTrackersSettingsQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
trackers: {
|
|
|
|
|
__typename: 'TrackerNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
authUrl: string | null;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetTrackersBindQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetTrackersBindQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
trackers: {
|
|
|
|
|
__typename: 'TrackerNodeList';
|
|
|
|
|
totalCount: number;
|
|
|
|
|
pageInfo: {
|
|
|
|
|
__typename: 'PageInfo';
|
|
|
|
|
endCursor: string | null;
|
|
|
|
|
hasNextPage: boolean;
|
|
|
|
|
hasPreviousPage: boolean;
|
|
|
|
|
startCursor: string | null;
|
|
|
|
|
};
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'TrackerType';
|
|
|
|
|
icon: string;
|
|
|
|
|
supportsPrivateTracking: boolean;
|
|
|
|
|
supportsTrackDeletion: boolean;
|
|
|
|
|
scores: Array<string>;
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
isLoggedIn: boolean;
|
|
|
|
|
isTokenExpired: boolean;
|
|
|
|
|
statuses: Array<{ __typename: 'TrackStatusType'; name: string; value: number }>;
|
|
|
|
|
trackRecords: {
|
|
|
|
|
__typename: 'TrackRecordNodeList';
|
|
|
|
|
nodes: Array<{
|
|
|
|
|
__typename: 'TrackRecordType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
trackerId: number;
|
|
|
|
|
remoteUrl: string;
|
|
|
|
|
title: string;
|
|
|
|
|
status: number;
|
|
|
|
|
lastChapterRead: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
score: number;
|
|
|
|
|
displayScore: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
finishDate: string;
|
|
|
|
|
private: boolean;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-03-10 17:36:22 +01:00
|
|
|
|
|
|
|
|
export type TrackerSearchQueryVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
query: string;
|
|
|
|
|
trackerId: number;
|
2024-03-10 17:36:22 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type TrackerSearchQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
searchTracker: {
|
|
|
|
|
__typename: 'SearchTrackerPayload';
|
|
|
|
|
trackSearches: Array<{
|
|
|
|
|
__typename: 'TrackSearchType';
|
|
|
|
|
id: number;
|
|
|
|
|
remoteId: string;
|
|
|
|
|
title: string;
|
|
|
|
|
trackingUrl: string;
|
|
|
|
|
coverUrl: string;
|
|
|
|
|
publishingType: string;
|
|
|
|
|
startDate: string;
|
|
|
|
|
publishingStatus: string;
|
|
|
|
|
summary: string;
|
|
|
|
|
score: number;
|
|
|
|
|
totalChapters: number;
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdaterMangaFieldsFragment = {
|
|
|
|
|
__typename: 'MangaUpdateType';
|
|
|
|
|
status: Types.MangaJobStatus;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdaterCategoryFieldsFragment = {
|
|
|
|
|
__typename: 'CategoryUpdateType';
|
|
|
|
|
status: Types.CategoryJobStatus;
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number; name: string };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdaterJobInfoFieldsFragment = {
|
|
|
|
|
__typename: 'UpdaterJobsInfoType';
|
|
|
|
|
isRunning: boolean;
|
|
|
|
|
totalJobs: number;
|
|
|
|
|
finishedJobs: number;
|
|
|
|
|
skippedCategoriesCount: number;
|
|
|
|
|
skippedMangasCount: number;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdaterStatusFieldsFragment = {
|
|
|
|
|
__typename: 'LibraryUpdateStatus';
|
|
|
|
|
jobsInfo: {
|
|
|
|
|
__typename: 'UpdaterJobsInfoType';
|
|
|
|
|
isRunning: boolean;
|
|
|
|
|
totalJobs: number;
|
|
|
|
|
finishedJobs: number;
|
|
|
|
|
skippedCategoriesCount: number;
|
|
|
|
|
skippedMangasCount: number;
|
|
|
|
|
};
|
|
|
|
|
categoryUpdates: Array<{
|
|
|
|
|
__typename: 'CategoryUpdateType';
|
|
|
|
|
status: Types.CategoryJobStatus;
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number; name: string };
|
|
|
|
|
}>;
|
|
|
|
|
mangaUpdates: Array<{
|
|
|
|
|
__typename: 'MangaUpdateType';
|
|
|
|
|
status: Types.MangaJobStatus;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdaterSubscriptionFieldsFragment = {
|
|
|
|
|
__typename: 'UpdaterUpdates';
|
|
|
|
|
omittedUpdates: boolean;
|
|
|
|
|
jobsInfo: {
|
|
|
|
|
__typename: 'UpdaterJobsInfoType';
|
|
|
|
|
isRunning: boolean;
|
|
|
|
|
totalJobs: number;
|
|
|
|
|
finishedJobs: number;
|
|
|
|
|
skippedCategoriesCount: number;
|
|
|
|
|
skippedMangasCount: number;
|
|
|
|
|
};
|
|
|
|
|
categoryUpdates: Array<{
|
|
|
|
|
__typename: 'CategoryUpdateType';
|
|
|
|
|
status: Types.CategoryJobStatus;
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number; name: string };
|
|
|
|
|
}>;
|
|
|
|
|
mangaUpdates: Array<{
|
|
|
|
|
__typename: 'MangaUpdateType';
|
|
|
|
|
status: Types.MangaJobStatus;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: { __typename: 'ChapterType'; id: number; sourceOrder: number; lastReadAt: string } | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type UpdaterStartStopFieldsFragment = { __typename: 'UpdateStatus'; isRunning: boolean };
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type UpdateLibraryMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.UpdateLibraryInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdateLibraryMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateLibrary: {
|
|
|
|
|
__typename: 'UpdateLibraryPayload';
|
|
|
|
|
updateStatus: {
|
|
|
|
|
__typename: 'LibraryUpdateStatus';
|
|
|
|
|
jobsInfo: {
|
|
|
|
|
__typename: 'UpdaterJobsInfoType';
|
|
|
|
|
isRunning: boolean;
|
|
|
|
|
totalJobs: number;
|
|
|
|
|
finishedJobs: number;
|
|
|
|
|
skippedCategoriesCount: number;
|
|
|
|
|
skippedMangasCount: number;
|
|
|
|
|
};
|
|
|
|
|
categoryUpdates: Array<{
|
|
|
|
|
__typename: 'CategoryUpdateType';
|
|
|
|
|
status: Types.CategoryJobStatus;
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number; name: string };
|
|
|
|
|
}>;
|
|
|
|
|
mangaUpdates: Array<{
|
|
|
|
|
__typename: 'MangaUpdateType';
|
|
|
|
|
status: Types.MangaJobStatus;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
} | null;
|
|
|
|
|
};
|
2025-12-22 14:00:44 +01:00
|
|
|
|
|
|
|
|
export type StopUpdaterMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input?: Types.UpdateStopInput | null | undefined;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
|
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type StopUpdaterMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
updateStop: { __typename: 'UpdateStopPayload'; clientMutationId: string | null };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetUpdateStatusQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetUpdateStatusQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
libraryUpdateStatus: {
|
|
|
|
|
__typename: 'LibraryUpdateStatus';
|
|
|
|
|
jobsInfo: {
|
|
|
|
|
__typename: 'UpdaterJobsInfoType';
|
|
|
|
|
isRunning: boolean;
|
|
|
|
|
totalJobs: number;
|
|
|
|
|
finishedJobs: number;
|
|
|
|
|
skippedCategoriesCount: number;
|
|
|
|
|
skippedMangasCount: number;
|
|
|
|
|
};
|
|
|
|
|
categoryUpdates: Array<{
|
|
|
|
|
__typename: 'CategoryUpdateType';
|
|
|
|
|
status: Types.CategoryJobStatus;
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number; name: string };
|
|
|
|
|
}>;
|
|
|
|
|
mangaUpdates: Array<{
|
|
|
|
|
__typename: 'MangaUpdateType';
|
|
|
|
|
status: Types.MangaJobStatus;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export type GetLastUpdateTimestampQueryVariables = Exact<{ [key: string]: never }>;
|
|
|
|
|
|
|
|
|
|
export type GetLastUpdateTimestampQuery = {
|
|
|
|
|
__typename: 'Query';
|
|
|
|
|
lastUpdateTimestamp: { __typename: 'LastUpdateTimestampPayload'; timestamp: string };
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UpdaterSubscriptionVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
input: Types.LibraryUpdateStatusChangedInput;
|
2024-08-21 21:29:01 +02:00
|
|
|
}>;
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UpdaterSubscription = {
|
|
|
|
|
__typename: 'Subscription';
|
|
|
|
|
libraryUpdateStatusChanged: {
|
|
|
|
|
__typename: 'UpdaterUpdates';
|
|
|
|
|
omittedUpdates: boolean;
|
|
|
|
|
jobsInfo: {
|
|
|
|
|
__typename: 'UpdaterJobsInfoType';
|
|
|
|
|
isRunning: boolean;
|
|
|
|
|
totalJobs: number;
|
|
|
|
|
finishedJobs: number;
|
|
|
|
|
skippedCategoriesCount: number;
|
|
|
|
|
skippedMangasCount: number;
|
|
|
|
|
};
|
|
|
|
|
categoryUpdates: Array<{
|
|
|
|
|
__typename: 'CategoryUpdateType';
|
|
|
|
|
status: Types.CategoryJobStatus;
|
|
|
|
|
category: { __typename: 'CategoryType'; id: number; name: string };
|
|
|
|
|
}>;
|
|
|
|
|
mangaUpdates: Array<{
|
|
|
|
|
__typename: 'MangaUpdateType';
|
|
|
|
|
status: Types.MangaJobStatus;
|
|
|
|
|
manga: {
|
|
|
|
|
__typename: 'MangaType';
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
thumbnailUrl: string | null;
|
|
|
|
|
unreadCount: number;
|
|
|
|
|
downloadCount: number;
|
|
|
|
|
bookmarkCount: number;
|
|
|
|
|
hasDuplicateChapters: boolean;
|
|
|
|
|
chapters: { __typename: 'ChapterNodeList'; totalCount: number };
|
|
|
|
|
firstUnreadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
isRead: boolean;
|
|
|
|
|
mangaId: number;
|
|
|
|
|
chapterNumber: number;
|
|
|
|
|
name: string;
|
|
|
|
|
scanlator: string | null;
|
|
|
|
|
} | null;
|
|
|
|
|
lastReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestReadChapter: {
|
|
|
|
|
__typename: 'ChapterType';
|
|
|
|
|
id: number;
|
|
|
|
|
sourceOrder: number;
|
|
|
|
|
lastReadAt: string;
|
|
|
|
|
} | null;
|
|
|
|
|
latestFetchedChapter: { __typename: 'ChapterType'; id: number; fetchedAt: string } | null;
|
|
|
|
|
latestUploadedChapter: { __typename: 'ChapterType'; id: number; uploadDate: string } | null;
|
|
|
|
|
highestNumberedChapter: { __typename: 'ChapterType'; id: number; chapterNumber: number } | null;
|
|
|
|
|
};
|
|
|
|
|
}>;
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UserLoginMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
password: string;
|
|
|
|
|
username: string;
|
2025-12-22 14:00:44 +01:00
|
|
|
}>;
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UserLoginMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
login: { __typename: 'LoginPayload'; accessToken: string; refreshToken: string };
|
|
|
|
|
};
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2025-12-22 14:00:44 +01:00
|
|
|
export type UserRefreshMutationVariables = Exact<{
|
2026-05-17 12:38:49 +02:00
|
|
|
refreshToken: string;
|
2025-03-16 21:01:24 +01:00
|
|
|
}>;
|
2023-08-07 23:32:36 +02:00
|
|
|
|
2026-05-17 12:38:49 +02:00
|
|
|
export type UserRefreshMutation = {
|
|
|
|
|
__typename: 'Mutation';
|
|
|
|
|
refreshToken: { __typename: 'RefreshTokenPayload'; accessToken: string };
|
|
|
|
|
};
|