"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = deleteBackup; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const grab_dir_names_1 = __importDefault(require("../../../../utils/backend/names/grab-dir-names")); const deleteDbEntry_1 = __importDefault(require("../../db/deleteDbEntry")); const numberfy_1 = __importDefault(require("../../../../utils/numberfy")); function deleteBackup(_a) { return __awaiter(this, arguments, void 0, function* ({ backup, }) { try { const { mainBackupDir, userBackupDir } = (0, grab_dir_names_1.default)({ userId: backup.user_id, }); if (backup.user_id && !userBackupDir) { return { success: false, msg: `Error grabbing user backup directory`, }; } if (!backup.uuid) { return { success: false, msg: `No UUID found for backup`, }; } const newBackupDir = path_1.default.join(backup.user_id && userBackupDir ? userBackupDir : mainBackupDir, backup.uuid); fs_1.default.rmSync(newBackupDir, { recursive: true, force: true }); yield (0, deleteDbEntry_1.default)({ identifierColumnName: "id", identifierValue: (0, numberfy_1.default)(backup.id), tableName: "backups", }); return { success: true }; } catch (error) { return { success: false, msg: `Failed to write backup files`, error: error.message, }; } }); }