Use gql for "backups"

This commit is contained in:
schroda
2023-10-04 01:17:10 +02:00
parent e2f34f1f47
commit 09f48c2c17

View File

@@ -26,7 +26,6 @@ import {
} from '@apollo/client'; } from '@apollo/client';
import { OperationVariables } from '@apollo/client/core'; import { OperationVariables } from '@apollo/client/core';
import { useEffect, useRef, useState } from 'react'; import { useEffect, useRef, useState } from 'react';
import { BackupValidationResult } from '@/typings.ts';
import { HttpMethod as DefaultHttpMethod, IRestClient, RestClient } from '@/lib/requests/client/RestClient.ts'; import { HttpMethod as DefaultHttpMethod, IRestClient, RestClient } from '@/lib/requests/client/RestClient.ts';
import storage from '@/util/localStorage.tsx'; import storage from '@/util/localStorage.tsx';
import { GraphQLClient } from '@/lib/requests/client/GraphQLClient.ts'; import { GraphQLClient } from '@/lib/requests/client/GraphQLClient.ts';
@@ -91,6 +90,8 @@ import {
InstallExternalExtensionMutationVariables, InstallExternalExtensionMutationVariables,
ReorderChapterDownloadMutation, ReorderChapterDownloadMutation,
ReorderChapterDownloadMutationVariables, ReorderChapterDownloadMutationVariables,
RestoreBackupMutation,
RestoreBackupMutationVariables,
SetCategoryMetadataMutation, SetCategoryMetadataMutation,
SetCategoryMetadataMutationVariables, SetCategoryMetadataMutationVariables,
SetChapterMetadataMutation, SetChapterMetadataMutation,
@@ -130,6 +131,8 @@ import {
UpdateMangaPatchInput, UpdateMangaPatchInput,
UpdateSourcePreferencesMutation, UpdateSourcePreferencesMutation,
UpdateSourcePreferencesMutationVariables, UpdateSourcePreferencesMutationVariables,
ValidateBackupQuery,
ValidateBackupQueryVariables,
} from '@/lib/graphql/generated/graphql.ts'; } from '@/lib/graphql/generated/graphql.ts';
import { GET_GLOBAL_METADATA, GET_GLOBAL_METADATAS } from '@/lib/graphql/queries/GlobalMetadataQuery.ts'; import { GET_GLOBAL_METADATA, GET_GLOBAL_METADATAS } from '@/lib/graphql/queries/GlobalMetadataQuery.ts';
import { SET_GLOBAL_METADATA } from '@/lib/graphql/mutations/GlobalMetadataMutation.ts'; import { SET_GLOBAL_METADATA } from '@/lib/graphql/mutations/GlobalMetadataMutation.ts';
@@ -185,6 +188,8 @@ import {
} from '@/lib/graphql/mutations/UpdaterMutation.ts'; } from '@/lib/graphql/mutations/UpdaterMutation.ts';
import { GET_UPDATE_STATUS } from '@/lib/graphql/queries/UpdaterQuery.ts'; import { GET_UPDATE_STATUS } from '@/lib/graphql/queries/UpdaterQuery.ts';
import { CustomCache } from '@/lib/requests/CustomCache.ts'; import { CustomCache } from '@/lib/requests/CustomCache.ts';
import { RESTORE_BACKUP } from '@/lib/graphql/mutations/BackupMutation.ts';
import { VALIDATE_BACKUP } from '@/lib/graphql/queries/BackupQuery.ts';
enum SWRHttpMethod { enum SWRHttpMethod {
SWR_GET, SWR_GET,
@@ -1615,18 +1620,23 @@ export class RequestManager {
); );
} }
public restoreBackupFile(file: File): AbortableAxiosResponse { public restoreBackupFile(
return this.doRequest(HttpMethod.POST, 'backup/import/file', { formData: { 'backup.proto.gz': file } }); file: File,
options?: MutationOptions<RestoreBackupMutation, RestoreBackupMutationVariables>,
): AbortableApolloMutationResponse<RestoreBackupMutation> {
return this.doRequestNew<RestoreBackupMutation, RestoreBackupMutationVariables>(
GQLMethod.MUTATION,
RESTORE_BACKUP,
{ input: { backup: file } },
options,
);
} }
public useValidateBackupFile( public useValidateBackupFile(
file: File, file: File,
swrOptions?: SWROptions<BackupValidationResult>, options?: QueryOptions<ValidateBackupQueryVariables, ValidateBackupQuery>,
): AbortableSWRResponse<BackupValidationResult> { ): AbortabaleApolloQueryResponse<ValidateBackupQuery> {
return this.doRequest(HttpMethod.SWR_POST, 'backup/validate/file', { return this.doRequestNew(GQLMethod.QUERY, VALIDATE_BACKUP, { input: { backup: file } }, options);
formData: { 'backup.proto.gz': file },
swrOptions,
});
} }
public getExportBackupUrl(): string { public getExportBackupUrl(): string {