@paroicms/server
Version:
The ParoiCMS server
23 lines • 969 B
JavaScript
import { siteReadyGuard } from "../../graphql/graphql.types.js";
import { authGuard } from "../auth/auth.helper.js";
import { createDownloadToken } from "./backup.helper.js";
import { executeHardenedBackup } from "./hardened-backup.service.js";
export const backupResolvers = {
Mutation: {
initializeBackup: async (_parent, _values, { siteContext, httpContext }) => {
authGuard(httpContext);
siteReadyGuard(siteContext);
const { zipFileWeight, zipFileName } = await executeHardenedBackup(siteContext);
const accessToken = createDownloadToken({
backupFile: zipFileName,
contentType: "application/zip",
});
const downloadUrl = `/adm/backend/backup/${zipFileName}/?t=${accessToken}`;
return {
downloadUrl,
fileWeight: zipFileWeight,
};
},
},
};
//# sourceMappingURL=backup.resolver.js.map