@plutonhq/core-backend 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controllers/BackupController.d.ts +1 -0
- package/dist/controllers/BackupController.d.ts.map +1 -1
- package/dist/controllers/BackupController.js +1 -1
- package/dist/controllers/BackupController.js.map +1 -1
- package/dist/controllers/PlanController.d.ts +1 -0
- package/dist/controllers/PlanController.d.ts.map +1 -1
- package/dist/controllers/PlanController.js +1 -1
- package/dist/controllers/PlanController.js.map +1 -1
- package/dist/controllers/RestoreController.d.ts.map +1 -1
- package/dist/controllers/RestoreController.js +1 -1
- package/dist/controllers/RestoreController.js.map +1 -1
- package/dist/controllers/StorageController.d.ts.map +1 -1
- package/dist/controllers/StorageController.js +1 -1
- package/dist/controllers/StorageController.js.map +1 -1
- package/dist/createApp.d.ts.map +1 -1
- package/dist/createApp.js +1 -1
- package/dist/createApp.js.map +1 -1
- package/dist/db/index.d.ts +19 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/schema/backups.d.ts +77 -1
- package/dist/db/schema/backups.d.ts.map +1 -1
- package/dist/db/schema/backups.js +1 -1
- package/dist/db/schema/backups.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jobs/JobProcessor.d.ts.map +1 -1
- package/dist/jobs/JobProcessor.js +1 -1
- package/dist/jobs/JobProcessor.js.map +1 -1
- package/dist/jobs/tasks/ReplicationRetryTask.d.ts +10 -0
- package/dist/jobs/tasks/ReplicationRetryTask.d.ts.map +1 -0
- package/dist/jobs/tasks/ReplicationRetryTask.js +1 -0
- package/dist/jobs/tasks/ReplicationRetryTask.js.map +1 -0
- package/dist/managers/BaseBackupManager.d.ts +31 -2
- package/dist/managers/BaseBackupManager.d.ts.map +1 -1
- package/dist/managers/BaseBackupManager.js +1 -1
- package/dist/managers/BaseBackupManager.js.map +1 -1
- package/dist/managers/BaseSnapshotManager.d.ts +21 -4
- package/dist/managers/BaseSnapshotManager.d.ts.map +1 -1
- package/dist/managers/BaseSnapshotManager.js +1 -1
- package/dist/managers/BaseSnapshotManager.js.map +1 -1
- package/dist/managers/ProgressManager.d.ts +28 -0
- package/dist/managers/ProgressManager.d.ts.map +1 -1
- package/dist/managers/ProgressManager.js +1 -1
- package/dist/managers/ProgressManager.js.map +1 -1
- package/dist/managers/handlers/BackupHandler.d.ts +8 -0
- package/dist/managers/handlers/BackupHandler.d.ts.map +1 -1
- package/dist/managers/handlers/BackupHandler.js +1 -1
- package/dist/managers/handlers/BackupHandler.js.map +1 -1
- package/dist/managers/handlers/DownloadHandler.d.ts.map +1 -1
- package/dist/managers/handlers/DownloadHandler.js +1 -1
- package/dist/managers/handlers/DownloadHandler.js.map +1 -1
- package/dist/managers/handlers/ReplicationHandler.d.ts +34 -0
- package/dist/managers/handlers/ReplicationHandler.d.ts.map +1 -0
- package/dist/managers/handlers/ReplicationHandler.js +1 -0
- package/dist/managers/handlers/ReplicationHandler.js.map +1 -0
- package/dist/managers/handlers/ReplicationOrchestrator.d.ts +50 -0
- package/dist/managers/handlers/ReplicationOrchestrator.d.ts.map +1 -0
- package/dist/managers/handlers/ReplicationOrchestrator.js +1 -0
- package/dist/managers/handlers/ReplicationOrchestrator.js.map +1 -0
- package/dist/middlewares/versionMiddleware.d.ts.map +1 -1
- package/dist/middlewares/versionMiddleware.js +1 -1
- package/dist/middlewares/versionMiddleware.js.map +1 -1
- package/dist/notifications/BackupNotification.d.ts +6 -3
- package/dist/notifications/BackupNotification.d.ts.map +1 -1
- package/dist/notifications/BackupNotification.js +1 -1
- package/dist/notifications/BackupNotification.js.map +1 -1
- package/dist/notifications/channels/NotificationChannelResolver.d.ts.map +1 -1
- package/dist/notifications/channels/NotificationChannelResolver.js.map +1 -1
- package/dist/notifications/templates/email/backup/BackupFailedNotification.d.ts.map +1 -1
- package/dist/notifications/templates/email/backup/BackupFailedNotification.ejs +9 -4
- package/dist/notifications/templates/email/backup/BackupFailedNotification.js +1 -1
- package/dist/notifications/templates/email/backup/BackupFailedNotification.js.map +1 -1
- package/dist/notifications/templates/email/backup/BackupStartedNotification.d.ts.map +1 -1
- package/dist/notifications/templates/email/backup/BackupStartedNotification.ejs +9 -4
- package/dist/notifications/templates/email/backup/BackupStartedNotification.js +1 -1
- package/dist/notifications/templates/email/backup/BackupStartedNotification.js.map +1 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.d.ts +2 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.d.ts.map +1 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.ejs +52 -4
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.js +1 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.js.map +1 -1
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.d.ts +24 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.d.ts.map +1 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.ejs +105 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.js +1 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.js.map +1 -0
- package/dist/routes/backups.d.ts.map +1 -1
- package/dist/routes/backups.js +1 -1
- package/dist/routes/backups.js.map +1 -1
- package/dist/routes/plans.d.ts.map +1 -1
- package/dist/routes/plans.js +1 -1
- package/dist/routes/plans.js.map +1 -1
- package/dist/services/BackupServices.d.ts +14 -5
- package/dist/services/BackupServices.d.ts.map +1 -1
- package/dist/services/BackupServices.js +1 -1
- package/dist/services/BackupServices.js.map +1 -1
- package/dist/services/DeviceService.d.ts +6 -0
- package/dist/services/DeviceService.d.ts.map +1 -1
- package/dist/services/DeviceService.js +1 -1
- package/dist/services/DeviceService.js.map +1 -1
- package/dist/services/PlanService.d.ts +12 -0
- package/dist/services/PlanService.d.ts.map +1 -1
- package/dist/services/PlanService.js +1 -1
- package/dist/services/PlanService.js.map +1 -1
- package/dist/services/RestoreService.d.ts +2 -2
- package/dist/services/RestoreService.d.ts.map +1 -1
- package/dist/services/RestoreService.js +1 -1
- package/dist/services/RestoreService.js.map +1 -1
- package/dist/services/StorageService.d.ts.map +1 -1
- package/dist/services/StorageService.js +1 -1
- package/dist/services/StorageService.js.map +1 -1
- package/dist/services/events/BackupEventService.d.ts +11 -0
- package/dist/services/events/BackupEventService.d.ts.map +1 -1
- package/dist/services/events/BackupEventService.js +1 -1
- package/dist/services/events/BackupEventService.js.map +1 -1
- package/dist/services/events/ReplicationEventService.d.ts +33 -0
- package/dist/services/events/ReplicationEventService.d.ts.map +1 -0
- package/dist/services/events/ReplicationEventService.js +1 -0
- package/dist/services/events/ReplicationEventService.js.map +1 -0
- package/dist/services/listeners/BackupEventListener.d.ts +3 -1
- package/dist/services/listeners/BackupEventListener.d.ts.map +1 -1
- package/dist/services/listeners/BackupEventListener.js +1 -1
- package/dist/services/listeners/BackupEventListener.js.map +1 -1
- package/dist/services/listeners/ReplicationEventListener.d.ts +30 -0
- package/dist/services/listeners/ReplicationEventListener.d.ts.map +1 -0
- package/dist/services/listeners/ReplicationEventListener.js +1 -0
- package/dist/services/listeners/ReplicationEventListener.js.map +1 -0
- package/dist/stores/BackupStore.d.ts +8 -0
- package/dist/stores/BackupStore.d.ts.map +1 -1
- package/dist/stores/BackupStore.js +1 -1
- package/dist/stores/BackupStore.js.map +1 -1
- package/dist/stores/DeviceStore.d.ts +6 -0
- package/dist/stores/DeviceStore.d.ts.map +1 -1
- package/dist/stores/DeviceStore.js +1 -1
- package/dist/stores/DeviceStore.js.map +1 -1
- package/dist/stores/PlanStore.d.ts +3 -1
- package/dist/stores/PlanStore.d.ts.map +1 -1
- package/dist/stores/PlanStore.js +1 -1
- package/dist/stores/PlanStore.js.map +1 -1
- package/dist/stores/StorageStore.d.ts +10 -0
- package/dist/stores/StorageStore.d.ts.map +1 -1
- package/dist/stores/StorageStore.js +1 -1
- package/dist/stores/StorageStore.js.map +1 -1
- package/dist/strategies/backup/BackupStrategy.d.ts +20 -2
- package/dist/strategies/backup/BackupStrategy.d.ts.map +1 -1
- package/dist/strategies/backup/LocalStrategy.d.ts +20 -2
- package/dist/strategies/backup/LocalStrategy.d.ts.map +1 -1
- package/dist/strategies/backup/LocalStrategy.js +1 -1
- package/dist/strategies/backup/LocalStrategy.js.map +1 -1
- package/dist/strategies/backup/RemoteStrategy.d.ts +9 -2
- package/dist/strategies/backup/RemoteStrategy.d.ts.map +1 -1
- package/dist/strategies/backup/RemoteStrategy.js +1 -1
- package/dist/strategies/backup/RemoteStrategy.js.map +1 -1
- package/dist/strategies/snapshot/LocalStrategy.d.ts +20 -4
- package/dist/strategies/snapshot/LocalStrategy.d.ts.map +1 -1
- package/dist/strategies/snapshot/LocalStrategy.js +1 -1
- package/dist/strategies/snapshot/LocalStrategy.js.map +1 -1
- package/dist/strategies/snapshot/RemoteStrategy.d.ts +4 -1
- package/dist/strategies/snapshot/RemoteStrategy.d.ts.map +1 -1
- package/dist/strategies/snapshot/RemoteStrategy.js +1 -1
- package/dist/strategies/snapshot/RemoteStrategy.js.map +1 -1
- package/dist/strategies/snapshot/SnapshotStrategy.d.ts +20 -4
- package/dist/strategies/snapshot/SnapshotStrategy.d.ts.map +1 -1
- package/dist/types/backups.d.ts +24 -0
- package/dist/types/backups.d.ts.map +1 -1
- package/dist/types/events.d.ts +110 -0
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/plans.d.ts +23 -2
- package/dist/types/plans.d.ts.map +1 -1
- package/dist/types/restores.d.ts +2 -0
- package/dist/types/restores.d.ts.map +1 -1
- package/dist/utils/restic/restic.d.ts.map +1 -1
- package/dist/utils/restic/restic.js +1 -1
- package/dist/utils/restic/restic.js.map +1 -1
- package/dist/utils/sanitizeStoragePath.d.ts +5 -1
- package/dist/utils/sanitizeStoragePath.d.ts.map +1 -1
- package/dist/utils/sanitizeStoragePath.js +1 -1
- package/dist/utils/sanitizeStoragePath.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,sGAAsG;AACtG,mDAAmD;AACnD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAK,OAAe,CAAC,GAAG,CAAC;AAC7F,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAE7D,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;IACnC,CAAC,KAAK,IAAI,EAAE;QACX,8EAA8E;QAC9E,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACzE,MAAM,mBAAmB,EAAE,CAAC;YAC5B,OAAO,CAAC,6DAA6D;QACtE,CAAC;QAED,kFAAkF;QAClF,IAAI,oBAAoB,EAAE,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kCAAkC,EAAE,CAAC;YACxE,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;YACrF,CAAC;QACF,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,IAAI,CAAC;gBACJ,MAAM,gBAAgB,GACrB,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM;oBAC/B,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEzD,4BAA4B;gBAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;gBACrF,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBAClE,CAAC;YACF,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobProcessor.d.ts","sourceRoot":"","sources":["../../src/jobs/JobProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,UAAU,gBAAgB;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAM,YAAa,SAAQ,YAAY;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,KAAK,CAAgC;IAG7C,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO;WAIO,WAAW,IAAI,YAAY;IAOzC;;;;OAIG;IACI,aAAa,CAAC,YAAY,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"JobProcessor.d.ts","sourceRoot":"","sources":["../../src/jobs/JobProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,UAAU,gBAAgB;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAM,YAAa,SAAQ,YAAY;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,KAAK,CAAgC;IAG7C,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO;WAIO,WAAW,IAAI,YAAY;IAOzC;;;;OAIG;IACI,aAAa,CAAC,YAAY,EAAE,gBAAgB;IAkBnD;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAUhC;;;OAGG;IACI,KAAK,CAAC,QAAQ,SAAO,GAAG,IAAI;IAanC;;OAEG;IACI,IAAI,IAAI,IAAI;IAQnB;;;OAGG;YACW,YAAY;CAiG1B;AAED,eAAO,MAAM,YAAY,cAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EventEmitter}from"events";import{jobQueue}from"./JobQueue";import{logger}from"../utils/logger";import{CleanDownloadsTask}from"./tasks/CleanDownloadsTask";import{BackupTask}from"./tasks/BackupTask";import{configService}from"../services/ConfigService";import{RestoreTask}from"./tasks/RestoreTask";class JobProcessor extends EventEmitter{static instance;isRunning=!1;intervalId=null;tasks=new Map;activeBackupJobs=0;constructor(){super()}static getInstance(){return JobProcessor.instance||(JobProcessor.instance=new JobProcessor),JobProcessor.instance}registerTasks(dependencies){const tasksToRegister=[new CleanDownloadsTask];dependencies.backupManager&&tasksToRegister.push(new BackupTask(dependencies.backupManager)),dependencies.restoreManager&&tasksToRegister.push(new RestoreTask(dependencies.restoreManager));for(const task of tasksToRegister)this.tasks.set(task.name,task)}addTask(task){this.tasks.has(task.name)&&logger.warn({module:"JobProcessor",task:task.name},"A task with this name is already registered. It will be overwritten."),this.tasks.set(task.name,task)}start(interval=5e3){this.intervalId?logger.warn({module:"JobProcessor"},"Job processor is already running."):0!==this.tasks.size?(logger.info({module:"JobProcessor"},"Starting job processor."),this.intervalId=setInterval(()=>this.processQueue(),interval)):logger.warn({module:"JobProcessor"},"No tasks registered. Job processor will not start.")}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,logger.info({module:"JobProcessor"},"Stopped job processor."))}async processQueue(){if(this.isRunning)return;const job=jobQueue.getNext();if(!job)return;if("Backup"===job.name&&this.activeBackupJobs>=configService.config.MAX_CONCURRENT_BACKUPS)return void jobQueue.requeueAtFront(job);const now=Date.now();if(job.lastAttempt&&now-job.lastAttempt<job.retryDelay){const timeLeft=Math.round((job.retryDelay-(now-job.lastAttempt))/1e3);return logger.info({module:"JobProcessor"},`Delaying retry for job '${job.name}'. Next attempt in ~${timeLeft}s.`),void jobQueue.reQueue(job)}this.isRunning=!0,"Backup"===job.name&&this.activeBackupJobs++,logger.info({module:"JobProcessor"},`Processing job: ${job.name}. Active backups: ${this.activeBackupJobs}`);const task=this.tasks.get(job.name);if(!task)return logger.error({module:"JobProcessor"},`No task registered for job name: ${job.name}`),jobQueue.failJob(job),this.isRunning=!1,void("Backup"===job.name&&this.activeBackupJobs--);try{await task.run(job),jobQueue.completeJob()}catch(error){const errorMessage=error instanceof Error?error.message:String(error);if(errorMessage.startsWith("BACKUP_CANCELLED:")||errorMessage.startsWith("RESTORE_CANCELLED:"))return logger.info({module:"JobProcessor",job:job.name},"Job was cancelled by user"),void jobQueue.completeJob();logger.error({module:"JobProcessor",job:job.name,error:error.message},`Job failed during execution. Attempt ${job.attempts+1} of ${job.maxAttempts}.`);jobQueue.failJob(job)&&(logger.error({module:"JobProcessor",job:job.name},`Job has permanently failed after ${job.maxAttempts} attempts.`),this.emit(`${job.name.toLowerCase()}_failed`,{...job.payload,error:error.message||"Unknown error after multiple retries."}))}finally{this.isRunning=!1,"Backup"===job.name&&this.activeBackupJobs--}}}export const jobProcessor=JobProcessor.getInstance();
|
|
1
|
+
import{EventEmitter}from"events";import{jobQueue}from"./JobQueue";import{logger}from"../utils/logger";import{CleanDownloadsTask}from"./tasks/CleanDownloadsTask";import{BackupTask}from"./tasks/BackupTask";import{configService}from"../services/ConfigService";import{RestoreTask}from"./tasks/RestoreTask";import{ReplicationRetryTask}from"./tasks/ReplicationRetryTask";class JobProcessor extends EventEmitter{static instance;isRunning=!1;intervalId=null;tasks=new Map;activeBackupJobs=0;constructor(){super()}static getInstance(){return JobProcessor.instance||(JobProcessor.instance=new JobProcessor),JobProcessor.instance}registerTasks(dependencies){const tasksToRegister=[new CleanDownloadsTask];dependencies.backupManager&&(tasksToRegister.push(new BackupTask(dependencies.backupManager)),tasksToRegister.push(new ReplicationRetryTask(dependencies.backupManager))),dependencies.restoreManager&&tasksToRegister.push(new RestoreTask(dependencies.restoreManager));for(const task of tasksToRegister)this.tasks.set(task.name,task)}addTask(task){this.tasks.has(task.name)&&logger.warn({module:"JobProcessor",task:task.name},"A task with this name is already registered. It will be overwritten."),this.tasks.set(task.name,task)}start(interval=5e3){this.intervalId?logger.warn({module:"JobProcessor"},"Job processor is already running."):0!==this.tasks.size?(logger.info({module:"JobProcessor"},"Starting job processor."),this.intervalId=setInterval(()=>this.processQueue(),interval)):logger.warn({module:"JobProcessor"},"No tasks registered. Job processor will not start.")}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,logger.info({module:"JobProcessor"},"Stopped job processor."))}async processQueue(){if(this.isRunning)return;const job=jobQueue.getNext();if(!job)return;if("Backup"===job.name&&this.activeBackupJobs>=configService.config.MAX_CONCURRENT_BACKUPS)return void jobQueue.requeueAtFront(job);const now=Date.now();if(job.lastAttempt&&now-job.lastAttempt<job.retryDelay){const timeLeft=Math.round((job.retryDelay-(now-job.lastAttempt))/1e3);return logger.info({module:"JobProcessor"},`Delaying retry for job '${job.name}'. Next attempt in ~${timeLeft}s.`),void jobQueue.reQueue(job)}this.isRunning=!0,"Backup"===job.name&&this.activeBackupJobs++,logger.info({module:"JobProcessor"},`Processing job: ${job.name}. Active backups: ${this.activeBackupJobs}`);const task=this.tasks.get(job.name);if(!task)return logger.error({module:"JobProcessor"},`No task registered for job name: ${job.name}`),jobQueue.failJob(job),this.isRunning=!1,void("Backup"===job.name&&this.activeBackupJobs--);try{await task.run(job),jobQueue.completeJob()}catch(error){const errorMessage=error instanceof Error?error.message:String(error);if(errorMessage.startsWith("BACKUP_CANCELLED:")||errorMessage.startsWith("RESTORE_CANCELLED:"))return logger.info({module:"JobProcessor",job:job.name},"Job was cancelled by user"),void jobQueue.completeJob();logger.error({module:"JobProcessor",job:job.name,error:error.message},`Job failed during execution. Attempt ${job.attempts+1} of ${job.maxAttempts}.`);jobQueue.failJob(job)&&(logger.error({module:"JobProcessor",job:job.name},`Job has permanently failed after ${job.maxAttempts} attempts.`),this.emit(`${job.name.toLowerCase()}_failed`,{...job.payload,error:error.message||"Unknown error after multiple retries."}))}finally{this.isRunning=!1,"Backup"===job.name&&this.activeBackupJobs--}}}export const jobProcessor=JobProcessor.getInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobProcessor.js","sourceRoot":"","sources":["../../src/jobs/JobProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAO,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"JobProcessor.js","sourceRoot":"","sources":["../../src/jobs/JobProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Task } from './AbstractTask';
|
|
2
|
+
import { BaseBackupManager } from '../../managers/BaseBackupManager';
|
|
3
|
+
import { Job } from '../JobQueue';
|
|
4
|
+
export declare class ReplicationRetryTask extends Task {
|
|
5
|
+
private backupManager;
|
|
6
|
+
name: string;
|
|
7
|
+
constructor(backupManager: BaseBackupManager);
|
|
8
|
+
run(job: Job): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ReplicationRetryTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplicationRetryTask.d.ts","sourceRoot":"","sources":["../../../src/jobs/tasks/ReplicationRetryTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,qBAAa,oBAAqB,SAAQ,IAAI;IAGjC,OAAO,CAAC,aAAa;IAFjC,IAAI,SAAsB;gBAEN,aAAa,EAAE,iBAAiB;IAI9C,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Task}from"./AbstractTask";import{logger,planLogger}from"../../utils/logger";export class ReplicationRetryTask extends Task{backupManager;name="ReplicationRetry";constructor(backupManager){super(),this.backupManager=backupManager}async run(job){if(!job.payload||!job.payload?.planId||!job.payload?.backupId)throw logger.error("ReplicationRetryTask failed: planId or backupId is missing from the payload."),new Error("Missing planId or backupId in job payload");const{planId:planId,backupId:backupId,failedReplicationIds:failedReplicationIds}=job.payload;logger.info(`Starting replication retry job for plan: ${planId}, backup: ${backupId}`);try{await this.backupManager.retryFailedReplications(planId,backupId,failedReplicationIds),planLogger("replication",planId,backupId).info(`Replication retry job for plan ${planId} completed successfully.`)}catch(error){throw planLogger("replication",planId,backupId).error(`Replication retry job for plan ${planId} failed. Error: ${error.message}`),error}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplicationRetryTask.js","sourceRoot":"","sources":["../../../src/jobs/tasks/ReplicationRetryTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIxD,MAAM,OAAO,oBAAqB,SAAQ,IAAI;IAGzB;IAFpB,IAAI,GAAG,kBAAkB,CAAC;IAE1B,YAAoB,aAAgC;QACnD,KAAK,EAAE,CAAC;QADW,kBAAa,GAAb,aAAa,CAAmB;IAEpD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QACjB,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YACpE,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,4CAA4C,MAAM,aAAa,QAAQ,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YAEzF,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC/C,kCAAkC,MAAM,0BAA0B,CAClE,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,CAChD,kCAAkC,MAAM,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAC1E,CAAC;YACF,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;CACD"}
|
|
@@ -38,6 +38,10 @@ export declare class BaseBackupManager extends EventEmitter {
|
|
|
38
38
|
storagePath: string;
|
|
39
39
|
removeRemoteData: boolean;
|
|
40
40
|
encryption: boolean;
|
|
41
|
+
replicationStorages?: {
|
|
42
|
+
storageName: string;
|
|
43
|
+
storagePath: string;
|
|
44
|
+
}[];
|
|
41
45
|
}): Promise<{
|
|
42
46
|
success: boolean;
|
|
43
47
|
result: string;
|
|
@@ -61,6 +65,25 @@ export declare class BaseBackupManager extends EventEmitter {
|
|
|
61
65
|
success: boolean;
|
|
62
66
|
result: string;
|
|
63
67
|
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Retries failed replication operations for a specific backup.
|
|
70
|
+
* Directly calls BackupHandler to run replications synchronously (awaited).
|
|
71
|
+
*/
|
|
72
|
+
retryFailedReplications(planId: string, backupId: string, failedReplicationIds: string[]): Promise<{
|
|
73
|
+
success: boolean;
|
|
74
|
+
result: string;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Removes a single replication storage's data from the remote storage via rclone purge.
|
|
78
|
+
*/
|
|
79
|
+
removeReplicationStorage(planId: string, options: {
|
|
80
|
+
storageName: string;
|
|
81
|
+
storagePath: string;
|
|
82
|
+
removeData: boolean;
|
|
83
|
+
}): Promise<{
|
|
84
|
+
success: boolean;
|
|
85
|
+
result: string;
|
|
86
|
+
}>;
|
|
64
87
|
pauseBackup(planId: string): Promise<{
|
|
65
88
|
success: boolean;
|
|
66
89
|
result: string;
|
|
@@ -69,7 +92,10 @@ export declare class BaseBackupManager extends EventEmitter {
|
|
|
69
92
|
success: boolean;
|
|
70
93
|
result: string;
|
|
71
94
|
}>;
|
|
72
|
-
pruneBackups(planId: string
|
|
95
|
+
pruneBackups(planId: string, replicationStorages?: {
|
|
96
|
+
storageName: string;
|
|
97
|
+
storagePath: string;
|
|
98
|
+
}[]): Promise<{
|
|
73
99
|
success: boolean;
|
|
74
100
|
result: string;
|
|
75
101
|
}>;
|
|
@@ -78,7 +104,10 @@ export declare class BaseBackupManager extends EventEmitter {
|
|
|
78
104
|
* @param planId - The ID of the plan for which to unlock the repository.
|
|
79
105
|
* @returns A promise that resolves to an object indicating success and the result message.
|
|
80
106
|
*/
|
|
81
|
-
unlockRepo(planId: string
|
|
107
|
+
unlockRepo(planId: string, replicationStorages?: {
|
|
108
|
+
storageName: string;
|
|
109
|
+
storagePath: string;
|
|
110
|
+
}[]): Promise<{
|
|
82
111
|
success: boolean;
|
|
83
112
|
result: string;
|
|
84
113
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseBackupManager.d.ts","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,KAAK,eAAe,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,eAAe,GAAG,wBAAwB,CAAC,CAAC;IACtE,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;gBAE7B,UAAU,CAAC,EAAE,MAAM;IAW/B,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,GAAG,wBAAwB,CAAC,CAEzE;IAED,IAAI,aAAa,IAAI,aAAa,CAKjC;IAEK,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAiD1C,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IAYvC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAUvE,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseBackupManager.d.ts","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EventEmitter}from"events";import{runResticCommand}from"../utils/restic/restic";import{generateResticRepoPath}from"../utils/restic/helpers";import{runRcloneCommand}from"../utils/rclone/rclone";import{CronManager}from"./CronManager";import{BackupHandler}from"./handlers/BackupHandler";import{PruneHandler}from"./handlers/PruneHandler";import{jobQueue}from"../jobs/JobQueue";import{generateUID}from"../utils/helpers";import{configService}from"../services/ConfigService";export class BaseBackupManager extends EventEmitter{_scheduleFilePath;_cronManager;_backupHandler;constructor(configPath){super(),this._scheduleFilePath=configPath,this._cronManager=CronManager.getInstance({backup:this.queueBackup.bind(this)},this._scheduleFilePath)}get cronManager(){return this._cronManager}get backupHandler(){return this._backupHandler||(this._backupHandler=new BackupHandler(this)),this._backupHandler}async createBackup(planId,options){const{storagePath:storagePath,storage:storage}=options,{encryption:encryption}=options.settings,encKey=configService.config.ENCRYPTION_KEY;if(encryption&&(!encKey||""===encKey.trim()))return{success:!1,result:"Encryption is enabled but ENCRYPTION_KEY is not set in environment variables."};const repoPassword=encryption?encKey:"";try{const repoCommand=["-r",generateResticRepoPath(storage.name,storagePath||""),"init","--verbose"];encryption||repoCommand.push("--insecure-no-password");await runResticCommand(repoCommand,{RESTIC_PASSWORD:repoPassword,RCLONE_CONFIG_PASS:repoPassword},data=>{})}catch(error){return{success:!1,result:"Could Not Create Restic Repo. Details: "+error.message}}try{await this.createOrUpdateSchedules(planId,options,"create");const initScheduleRes=await this.performBackup(planId);return{success:!0,result:initScheduleRes.success?"Backup Schedule Created. Initial Backup Started.":"Could not Start the Initial Backup. Please run the Backup Manually."}}catch(error){return{success:!1,result:error.message}}}async updateBackup(planId,options){try{return await this.createOrUpdateSchedules(planId,options,"update"),{success:!0,result:"Backup Schedule Updated. initBackupStatus"}}catch(error){return{success:!1,result:error.message}}}async queueBackup(planId,options){if(options&&!options.isActive)return;const backupId=generateUID(),{retries:retries=5,retryDelay:retryDelay=300}=options?.settings||{};jobQueue.add("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay)}async removeBackup(planId,options){try{await this.cronManager.removeSchedule(planId);let removeResult="Successfully Removed";if(options.storagePath&&options.removeRemoteData){removeResult+=await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}return{success:!0,result:removeResult}}catch(error){return{success:!1,result:error.message}}}async performBackup(planId){const backupId=generateUID(),schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),options=backupSchedule?.options,{retries:retries=5,retryDelay:retryDelay=60}=options?.settings||{};return backupSchedule&&backupSchedule.options?(jobQueue.addPriorityJob("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay),{success:!0,result:"Backup job has been added to the queue."}):{success:!1,result:"No backup schedule found for this plan."}}async performBackupExecution(planId,backupId,retryInfo){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)throw new Error(`No backup schedule options found for plan ${planId}.`);const options=backupSchedule.options;return await this.backupHandler.execute(planId,backupId,options,retryInfo)}async cancelBackup(planId,backupId){const cancelled=await this.backupHandler.cancel(planId,backupId);return{success:cancelled,result:cancelled?"Cancelled Backup":"Failed to cancel Backup"}}async pauseBackup(planId){const paused=await this.cronManager.pauseSchedule(planId);return{success:paused,result:paused?"Paused Backup":"Failed to Pause Backup"}}async resumeBackup(planId){const resumed=await this.cronManager.resumeSchedule(planId);return{success:resumed,result:resumed?"Resumed Backup":"Failed to Resume Backup"}}async pruneBackups(planId){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(backupSchedule){const pruneHandler=new PruneHandler(this)
|
|
1
|
+
import{EventEmitter}from"events";import{runResticCommand}from"../utils/restic/restic";import{generateResticRepoPath}from"../utils/restic/helpers";import{runRcloneCommand}from"../utils/rclone/rclone";import{CronManager}from"./CronManager";import{BackupHandler}from"./handlers/BackupHandler";import{PruneHandler}from"./handlers/PruneHandler";import{jobQueue}from"../jobs/JobQueue";import{generateUID}from"../utils/helpers";import{configService}from"../services/ConfigService";export class BaseBackupManager extends EventEmitter{_scheduleFilePath;_cronManager;_backupHandler;constructor(configPath){super(),this._scheduleFilePath=configPath,this._cronManager=CronManager.getInstance({backup:this.queueBackup.bind(this)},this._scheduleFilePath)}get cronManager(){return this._cronManager}get backupHandler(){return this._backupHandler||(this._backupHandler=new BackupHandler(this)),this._backupHandler}async createBackup(planId,options){const{storagePath:storagePath,storage:storage}=options,{encryption:encryption}=options.settings,encKey=configService.config.ENCRYPTION_KEY;if(encryption&&(!encKey||""===encKey.trim()))return{success:!1,result:"Encryption is enabled but ENCRYPTION_KEY is not set in environment variables."};const repoPassword=encryption?encKey:"";try{const repoCommand=["-r",generateResticRepoPath(storage.name,storagePath||""),"init","--verbose"];encryption||repoCommand.push("--insecure-no-password");await runResticCommand(repoCommand,{RESTIC_PASSWORD:repoPassword,RCLONE_CONFIG_PASS:repoPassword},data=>{})}catch(error){return{success:!1,result:"Could Not Create Restic Repo. Details: "+error.message}}try{await this.createOrUpdateSchedules(planId,options,"create");const initScheduleRes=await this.performBackup(planId);return{success:!0,result:initScheduleRes.success?"Backup Schedule Created. Initial Backup Started.":"Could not Start the Initial Backup. Please run the Backup Manually."}}catch(error){return{success:!1,result:error.message}}}async updateBackup(planId,options){try{return await this.createOrUpdateSchedules(planId,options,"update"),{success:!0,result:"Backup Schedule Updated. initBackupStatus"}}catch(error){return{success:!1,result:error.message}}}async queueBackup(planId,options){if(options&&!options.isActive)return;const backupId=generateUID(),{retries:retries=5,retryDelay:retryDelay=300}=options?.settings||{};jobQueue.add("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay)}async removeBackup(planId,options){try{await this.cronManager.removeSchedule(planId);let removeResult="Successfully Removed";if(options.storagePath&&options.removeRemoteData){removeResult+=await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}if(options.removeRemoteData&&options.replicationStorages?.length)for(const replica of options.replicationStorages)try{const output=await runRcloneCommand(["purge",`${replica.storageName}:${replica.storagePath}`]);removeResult+=` | Replication ${replica.storageName}: ${output}`}catch(error){removeResult+=` | Replication ${replica.storageName} purge failed: ${error.message}`}return{success:!0,result:removeResult}}catch(error){return{success:!1,result:error.message}}}async performBackup(planId){const backupId=generateUID(),schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),options=backupSchedule?.options,{retries:retries=5,retryDelay:retryDelay=60}=options?.settings||{};return backupSchedule&&backupSchedule.options?(jobQueue.addPriorityJob("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay),{success:!0,result:"Backup job has been added to the queue."}):{success:!1,result:"No backup schedule found for this plan."}}async performBackupExecution(planId,backupId,retryInfo){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)throw new Error(`No backup schedule options found for plan ${planId}.`);const options=backupSchedule.options;return await this.backupHandler.execute(planId,backupId,options,retryInfo)}async cancelBackup(planId,backupId){const cancelled=await this.backupHandler.cancel(planId,backupId);return{success:cancelled,result:cancelled?"Cancelled Backup":"Failed to cancel Backup"}}async retryFailedReplications(planId,backupId,failedReplicationIds){try{const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)return{success:!1,result:`No backup schedule options found for plan ${planId}.`};const options=backupSchedule.options,replication=options.settings?.replication;if(!replication?.enabled||!replication.storages?.length)return{success:!1,result:"Replication is not enabled for this plan."};if(0===replication.storages.filter(s=>failedReplicationIds.includes(s.replicationId)).length)return{success:!1,result:"No matching replication storages found."};const results=await this.backupHandler.retryFailedReplications(planId,backupId,options,failedReplicationIds),allSucceeded=results.every(m=>"completed"===m.status);return{success:allSucceeded,result:allSucceeded?"All replications succeeded.":`${results.filter(m=>"failed"===m.status).length} replication(s) still failed.`}}catch(error){return{success:!1,result:error.message||"Failed to retry replications."}}}async removeReplicationStorage(planId,options){try{let result="Replication storage removed from plan.";if(options.removeData&&options.storagePath){result+=` Data purged: ${await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}`}return{success:!0,result:result}}catch(error){return{success:!1,result:error.message||"Failed to remove replication storage data."}}}async pauseBackup(planId){const paused=await this.cronManager.pauseSchedule(planId);return{success:paused,result:paused?"Paused Backup":"Failed to Pause Backup"}}async resumeBackup(planId){const resumed=await this.cronManager.resumeSchedule(planId);return{success:resumed,result:resumed?"Resumed Backup":"Failed to Resume Backup"}}async pruneBackups(planId,replicationStorages){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(backupSchedule){const pruneHandler=new PruneHandler(this),pruneResult=await pruneHandler.prune(planId,backupSchedule.options,!0);if(replicationStorages?.length){const options=backupSchedule.options;for(const replica of replicationStorages)try{const replicaOptions={...backupSchedule.options,storage:{...options.storage,name:replica.storageName},storagePath:replica.storagePath};await pruneHandler.prune(planId,replicaOptions,!1)}catch(error){}}return pruneResult}return{success:!1,result:"Backup Task Not Found"}}async unlockRepo(planId,replicationStorages){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),encKey=configService.config.ENCRYPTION_KEY;if(!backupSchedule||!backupSchedule.options)return{success:!1,result:`No backup schedule configuration found for plan ${planId}.`};const options=backupSchedule.options;if(!options.storage||!options.storage.name)return{success:!1,result:"Storage configuration is missing for this plan."};try{const repoPath=generateResticRepoPath(options.storage.name,options.storagePath||""),repoPassword=options.settings.encryption?encKey:"",resticArgs=["unlock","-r",repoPath,"--json"];let resultMessage=(await runResticCommand(resticArgs,{RESTIC_PASSWORD:repoPassword})).trim()||"Successfully removed all stale locks from the repository.";if(replicationStorages?.length)for(const replica of replicationStorages)try{const replicaRepoPath=generateResticRepoPath(replica.storageName,replica.storagePath||"");await runResticCommand(["unlock","-r",replicaRepoPath,"--json"],{RESTIC_PASSWORD:repoPassword}),resultMessage+=` | ${replica.storageName}: unlocked`}catch(error){resultMessage+=` | ${replica.storageName}: unlock failed - ${error.message}`}return{success:!0,result:resultMessage}}catch(error){return{success:!1,result:error.message||"An unknown error occurred during the unlock process."}}}async createOrUpdateSchedules(planId,options,action="create"){const{cronExpression:cronExpression,settings:settings,storageId:storageId,storage:storage,storagePath:storagePath,isActive:isActive,id:id,title:title,sourceConfig:sourceConfig,sourceId:sourceId}=options,backupExecOpts={id:id,title:title,isActive:isActive,cronExpression:cronExpression,sourceConfig:sourceConfig,sourceId:sourceId,storageId:storageId,storage:storage,storagePath:storagePath,settings:settings},backupOptions={...backupExecOpts,isActive:backupExecOpts.isActive||!1,taskCallback:(id,opts)=>{this.queueBackup(id,opts)}};if("create"===action)await this.cronManager.scheduleTask(planId,cronExpression,backupOptions,"backup");else{const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);backupSchedule?await this.cronManager.updateSchedule(planId,cronExpression,backupOptions,"backup"):await this.cronManager.scheduleTask(planId,cronExpression,backupOptions,"backup")}}async updatePlanStorageName(storageId,newStorageName){try{const schedules=await this.cronManager.getSchedules();if(schedules)for(const[planId,scheduleEntries]of Object.entries(schedules)){const backupSchedule=scheduleEntries.find(s=>"backup"===s.type);if(backupSchedule?.options.storageId===storageId){const updatedOptions={...backupSchedule.options,storageName:newStorageName};await this.cronManager.updateSchedule(planId,updatedOptions.cronExpression,{...updatedOptions},"backup")}}return{success:!0,result:"Relevant schedules were updated with new storage name."}}catch(error){return{success:!1,result:"Failed to updated Schedules with new storage name. "+error?.message||""}}}testFunc(){}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseBackupManager.js","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseBackupManager.js","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAY1D;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAClD,iBAAiB,CAAU;IAC3B,YAAY,CAA0D;IAC5D,cAAc,CAAiB;IAEzC,YAAY,UAAmB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAC1C;YACC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SACnC,EACD,IAAI,CAAC,iBAAiB,CACtB,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAI,aAAa;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,OAAuB;QAEvB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACzC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;QACnD,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACrD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,+EAA+E;aACvF,CAAC;QACH,CAAC;QACD,qFAAqF;QACrF,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACxC,WAAW,EACX;gBACC,eAAe,EAAE,YAAY;gBAC7B,kBAAkB,EAAE,YAAY;aAChC,EACD,CAAC,IAAY,EAAE,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC,CACD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,6DAA6D;YAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC;YACJ,wBAAwB;YACxB,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE9D,sCAAsC;YACtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO;gBAC/C,CAAC,CAAC,kDAAkD;gBACpD,CAAC,CAAC,qEAAqE,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACpD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,OAAuB;QAEvB,4BAA4B;QAC5B,IAAI,CAAC;YACJ,wBAAwB;YACxB,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,GAAG,kBAAkB,EAAE,CAAC;QACpF,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,OAA4B;QAC7D,4DAA4D;QAC5D,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,+CAA+C;QACxD,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,OAMC;QAED,IAAI,CAAC;YACJ,kEAAkE;YAClE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,YAAY,GAAG,sBAAsB,CAAC;YAE1C,iDAAiD;YACjD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;oBACrC,OAAO;oBACP,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE;iBAC/C,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;gBAC7C,YAAY,IAAI,MAAM,CAAC;YACxB,CAAC;YAED,6CAA6C;YAC7C,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;gBACrE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBACnD,IAAI,CAAC;wBACJ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;4BACrC,OAAO;4BACP,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE;yBAC/C,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,WAAW,IAAI,EAAE,MAAM,CAAC,CAAC;wBACjF,YAAY,IAAI,kBAAkB,OAAO,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;oBACpE,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACrB,6EAA6E;wBAC7E,OAAO,CAAC,IAAI,CACX,sDAAsD,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CACpH,CAAC;wBACF,YAAY,IAAI,kBAAkB,OAAO,CAAC,WAAW,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC;oBACxF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,cAAc,EAAE,OAAyB,CAAC;QAC1D,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACjE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;QAC9E,CAAC;QACD,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;QACpF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC3B,MAAc,EACd,QAAgB,EAChB,SAAoD;QAEpD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,6DAA6D;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAyB,CAAC;QACzD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,QAAgB;QAEhB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEpE,OAAO;YACN,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB;SAClE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAC5B,MAAc,EACd,QAAgB,EAChB,oBAA8B;QAE9B,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAEjE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,6CAA6C,MAAM,GAAG,EAAE,CAAC;YAC3F,CAAC;YAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAyB,CAAC;YACzD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC;YAElD,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,EAAE,CAAC;YAChF,CAAC;YAED,qCAAqC;YACrC,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC3D,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAC9C,CAAC;YAEF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;YAC9E,CAAC;YAED,gEAAgE;YAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC/D,MAAM,EACN,QAAQ,EACR,OAAO,EACP,oBAAoB,CACpB,CAAC;YAEF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAClE,OAAO;gBACN,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,YAAY;oBACnB,CAAC,CAAC,6BAA6B;oBAC/B,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,+BAA+B;aACtF,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,+BAA+B,EAAE,CAAC;QACrF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC7B,MAAc,EACd,OAIC;QAED,IAAI,CAAC;YACJ,IAAI,MAAM,GAAG,wCAAwC,CAAC;YAEtD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;oBACrC,OAAO;oBACP,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE;iBAC/C,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,WAAW,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC1E,MAAM,IAAI,iBAAiB,MAAM,EAAE,CAAC;YACrC,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,4CAA4C;aACrE,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE5D,OAAO;YACN,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,wBAAwB;SAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,yBAAyB;SAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,mBAAoE;QAKpE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEjE,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEnF,kCAAkC;YAClC,IAAI,mBAAmB,EAAE,MAAM,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAyB,CAAC;gBACzD,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;oBAC3C,IAAI,CAAC;wBACJ,MAAM,cAAc,GAAG;4BACtB,GAAG,cAAc,CAAC,OAAO;4BACzB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE;4BAC1D,WAAW,EAAE,OAAO,CAAC,WAAW;yBAChC,CAAC;wBACF,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;oBACzD,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACrB,OAAO,CAAC,IAAI,CACX,sDAAsD,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAC7F,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CACf,MAAc,EACd,mBAAoE;QAEpE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;QAEnD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAChD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,mDAAmD,MAAM,GAAG;aACpE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAyB,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;QACtF,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,6DAA6D,MAAM,EAAE,CAAC,CAAC;YAEnF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACzF,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,oDAAoD;YACpD,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;YAErF,IAAI,aAAa,GAChB,MAAM,CAAC,IAAI,EAAE,IAAI,2DAA2D,CAAC;YAE9E,mCAAmC;YACnC,IAAI,mBAAmB,EAAE,MAAM,EAAE,CAAC;gBACjC,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;oBAC3C,IAAI,CAAC;wBACJ,MAAM,eAAe,GAAG,sBAAsB,CAC7C,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,IAAI,EAAE,CACzB,CAAC;wBACF,MAAM,gBAAgB,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE;4BACnE,eAAe,EAAE,YAAY;yBAC7B,CAAC,CAAC;wBACH,aAAa,IAAI,MAAM,OAAO,CAAC,WAAW,YAAY,CAAC;oBACxD,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACrB,OAAO,CAAC,IAAI,CACX,qDAAqD,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAC5F,CAAC;wBACF,aAAa,IAAI,MAAM,OAAO,CAAC,WAAW,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,sDAAsD;aAC/E,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC5B,MAAc,EACd,OAAuB,EACvB,SAA8B,QAAQ;QAEtC,MAAM,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,QAAQ,EACR,EAAE,EACF,KAAK,EACL,YAAY,EACZ,QAAQ,GACR,GAAG,OAAO,CAAC;QACZ,MAAM,cAAc,GAAG;YACtB,EAAE;YACF,KAAK;YACL,QAAQ;YACR,cAAc;YACd,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,OAAO;YACP,WAAW;YACX,QAAQ;SACR,CAAC;QACF,MAAM,aAAa,GAAG;YACrB,GAAG,cAAc;YACjB,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,KAAK;YAC1C,YAAY,EAAE,CAAC,EAAU,EAAE,IAAyB,EAAE,EAAE;gBACvD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC;SACD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACP,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACjE,IAAI,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACP,6DAA6D;gBAC7D,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YACtF,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,cAAsB;QACpE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC;YACJ,8BAA8B;YAC9B,0CAA0C;YAE1C,kDAAkD;YAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACtC,IAAI,SAAS,EAAE,CAAC;gBACf,KAAK,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnE,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;oBAE7E,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;oBAEhD,mEAAmE;oBACnE,IAAI,cAAc,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACrD,MAAM,cAAc,GAAG;4BACtB,GAAG,cAAc,CAAC,OAAO;4BACzB,WAAW,EAAE,cAAc;yBAC3B,CAAC;wBAEF,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CACpC,MAAM,EACN,cAAc,CAAC,cAAc,EAC7B;4BACC,GAAG,cAAc;yBACjB,EACD,QAAQ,CACR,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wDAAwD,EAAE,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,qDAAqD,GAAG,KAAK,EAAE,OAAO,IAAI,EAAE;aACpF,CAAC;QACH,CAAC;IACF,CAAC;IAED,QAAQ;QACP,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;CACD"}
|
|
@@ -15,22 +15,39 @@ export declare class BaseSnapshotManager extends EventEmitter {
|
|
|
15
15
|
storagePath: string;
|
|
16
16
|
storageName: string;
|
|
17
17
|
encryption: boolean;
|
|
18
|
-
|
|
18
|
+
mirrors?: {
|
|
19
|
+
replicationId: string;
|
|
20
|
+
storageName: string;
|
|
21
|
+
storagePath: string;
|
|
22
|
+
}[];
|
|
19
23
|
}): Promise<{
|
|
20
24
|
success: boolean;
|
|
21
25
|
result: any;
|
|
22
|
-
stats?:
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
stats?: {
|
|
27
|
+
primary: null | {
|
|
28
|
+
total_size: number;
|
|
29
|
+
snapshots: string[];
|
|
30
|
+
};
|
|
31
|
+
mirrors?: {
|
|
32
|
+
[key: string]: {
|
|
33
|
+
total_size: number;
|
|
34
|
+
snapshots: string[];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
25
37
|
};
|
|
26
38
|
}>;
|
|
27
39
|
getSnapshotFiles(backupId: string, options: {
|
|
28
40
|
storagePath: string;
|
|
29
41
|
storageName: string;
|
|
30
42
|
encryption: boolean;
|
|
43
|
+
skipCache?: boolean;
|
|
31
44
|
}): Promise<{
|
|
32
45
|
success: boolean;
|
|
33
46
|
result: SnapShotFile[] | string;
|
|
34
47
|
}>;
|
|
48
|
+
retryFailedReplication(planId: string, backupId: string, replicationIds: string[]): Promise<{
|
|
49
|
+
success: boolean;
|
|
50
|
+
result: string;
|
|
51
|
+
}>;
|
|
35
52
|
}
|
|
36
53
|
//# sourceMappingURL=BaseSnapshotManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSnapshotManager.d.ts","sourceRoot":"","sources":["../../src/managers/BaseSnapshotManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseSnapshotManager.d.ts","sourceRoot":"","sources":["../../src/managers/BaseSnapshotManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,qBAAa,mBAAoB,SAAQ,YAAY;IACpD,OAAO,CAAC,eAAe,CAAkB;;IAOnC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,gBAAgB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GACxE,OAAO,CAAC,GAAG,CAAC;IAqBT,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAenE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAetE,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChF,GACC,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,CAAC,EAAE;YACP,OAAO,EAAE,IAAI,GAAG;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC;YAC5D,OAAO,CAAC,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,SAAS,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAA;aAAE,CAAC;SACzE,CAAC;KACF,CAAC;IA6DI,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7F,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;KAAE,CAAC;IAiE3D,sBAAsB,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAShD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EventEmitter}from"events";import{getBackupPlanStats,getSnapshotByTag,runResticCommand}from"../utils/restic/restic";import{generateResticRepoPath,resticPathToWindows}from"../utils/restic/helpers";import{DownloadHandler}from"./handlers/DownloadHandler";import{configService}from"../services/ConfigService";import{appPaths}from"../utils/AppPaths";import{
|
|
1
|
+
import{EventEmitter}from"events";import{readFile,writeFile}from"fs/promises";import{getBackupPlanStats,getSnapshotByTag,runResticCommand}from"../utils/restic/restic";import{generateResticRepoPath,resticPathToWindows}from"../utils/restic/helpers";import{DownloadHandler}from"./handlers/DownloadHandler";import{configService}from"../services/ConfigService";import{appPaths}from"../utils/AppPaths";import{jobQueue}from"../jobs/JobQueue";export class BaseSnapshotManager extends EventEmitter{downloadHandler;constructor(){super(),this.downloadHandler=new DownloadHandler(this)}async listSnapshots(){return runResticCommand(["snapshots","--json"])}async downloadSnapshot(planId,backupId,snapShotPath,options){try{const{success:success,result:result}=await getSnapshotByTag("backup-"+backupId,options);return success&&"string"!=typeof result?(this.downloadHandler.download(planId,backupId,result.id,options),{success:!0,result:"Generating Download.."}):{success:success,result:result}}catch(error){return{success:!1,result:error?.message||""}}}async getSnapshotDownload(planId,backupId){try{return{success:!0,result:await this.downloadHandler.get(planId,backupId)}}catch(error){return{success:!1,result:error?.message||""}}}async cancelSnapshotDownload(planId,backupId){try{return{success:await this.downloadHandler.cancel(planId,backupId),result:"Download cancelled"}}catch(error){return{success:!1,result:error?.message||""}}}async removeSnapshot(planId,backupId,options){try{const{storageName:storageName,storagePath:storagePath,encryption:encryption}=options,repoPassword=encryption?configService.config.ENCRYPTION_KEY:"",reposToRemove=[{id:"primary",name:storageName,path:storagePath}],planStats={primary:null,mirrors:{}},removalOutput={};options.mirrors&&options.mirrors.forEach(mirror=>{reposToRemove.push({id:mirror.replicationId,name:mirror.storageName,path:mirror.storagePath})});for(const repo of reposToRemove){const repoPath=generateResticRepoPath(repo.name,repo.path||""),{success:success,result:result}=await getSnapshotByTag("backup-"+backupId,{storageName:repo.name,storagePath:repo.path,encryption:encryption});if(!success||"string"==typeof result)continue;const snapshotId=result.id,output=await runResticCommand(["-r",repoPath,"forget",snapshotId,"--json"],{RESTIC_PASSWORD:repoPassword});removalOutput[repo.id]=output;const repoStats=await getBackupPlanStats(planId,repo.name,repo.path,encryption);"primary"===repo.id?planStats.primary=repoStats||{total_size:0,snapshots:[]}:repoStats&&(planStats.mirrors[repo.id]=repoStats)}return{success:!0,result:removalOutput,stats:planStats}}catch(error){return{success:!1,result:error?.message||""}}}async getSnapshotFiles(backupId,options){const filename=`backup-${backupId}-snapshot.json`,snapshotFilePath=`${appPaths.getCacheDir()}/${filename}`;if(!options.skipCache)try{const snapshotCache=await readFile(snapshotFilePath,"utf8");return{success:!0,result:JSON.parse(snapshotCache)}}catch(error){}try{let snapshotId;const{success:success,result:result}=await getSnapshotByTag("backup-"+backupId,options);if(!success||"string"==typeof result)return{success:!1,result:"Snapshot not found"};snapshotId=result.id;const{storageName:storageName,storagePath:storagePath,encryption:encryption}=options,repoPassword=encryption?configService.config.ENCRYPTION_KEY:"",repoPath=generateResticRepoPath(storageName,storagePath||""),output=await runResticCommand(["ls","-r",repoPath,snapshotId,"--json","--long"],{RESTIC_PASSWORD:repoPassword}),files=output.split(/\r?\n/).filter(line=>""!==line.trim()).map(item=>JSON.parse(item)).filter(item=>void 0!==item.path).map(item=>({name:item.name,path:item.path,srcPath:"win32"===process.platform?resticPathToWindows(item.path):item.path.replace(/\\/g,"/"),type:item.type,isDirectory:"dir"===item.type,size:item.size||0,modifiedAt:item.mtime,owner:"",permissions:item.permissions,isAvailable:!0}));return options.skipCache||await writeFile(snapshotFilePath,JSON.stringify(files),"utf8"),{success:!0,result:files}}catch(error){return{success:!1,result:error?.message||"Failed to get snapshot files"}}}async retryFailedReplication(planId,backupId,replicationIds){return jobQueue.add("ReplicationRetry",{planId:planId,backupId:backupId,failedReplicationIds:replicationIds}),{success:!0,result:"Replication retry queued"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSnapshotManager.js","sourceRoot":"","sources":["../../src/managers/BaseSnapshotManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseSnapshotManager.js","sourceRoot":"","sources":["../../src/managers/BaseSnapshotManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,16 @@ export interface ProgressEvent {
|
|
|
17
17
|
error?: string;
|
|
18
18
|
completed: boolean;
|
|
19
19
|
}
|
|
20
|
+
export interface ReplicationProgress {
|
|
21
|
+
replicationId: string;
|
|
22
|
+
storageId: string;
|
|
23
|
+
storageName: string;
|
|
24
|
+
storageType: string;
|
|
25
|
+
status: 'pending' | 'running' | 'completed' | 'failed' | 'retrying';
|
|
26
|
+
resticData?: ResticProgress;
|
|
27
|
+
error?: string;
|
|
28
|
+
events: ProgressEvent[];
|
|
29
|
+
}
|
|
20
30
|
export interface BackupProgressFile {
|
|
21
31
|
planId: string;
|
|
22
32
|
backupId: string;
|
|
@@ -25,6 +35,7 @@ export interface BackupProgressFile {
|
|
|
25
35
|
lastUpdate: string;
|
|
26
36
|
duration?: number;
|
|
27
37
|
events: ProgressEvent[];
|
|
38
|
+
mirrors?: Record<string, ReplicationProgress>;
|
|
28
39
|
}
|
|
29
40
|
export declare class ProgressManager {
|
|
30
41
|
private progressDir;
|
|
@@ -58,6 +69,23 @@ export declare class ProgressManager {
|
|
|
58
69
|
* Marks backup as completed
|
|
59
70
|
*/
|
|
60
71
|
markCompleted(planId: string, backupId: string, success: boolean, errorMsg?: string, finalFail?: boolean): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Initialize replication entries in the progress file
|
|
74
|
+
*/
|
|
75
|
+
initializeReplications(planId: string, backupId: string, mirrors: {
|
|
76
|
+
replicationId: string;
|
|
77
|
+
storageId: string;
|
|
78
|
+
storageName: string;
|
|
79
|
+
storageType: string;
|
|
80
|
+
}[]): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Update a specific replication's progress action
|
|
83
|
+
*/
|
|
84
|
+
updateReplicationAction(planId: string, backupId: string, replicationId: string, action: string, completed: boolean, error?: string): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Update a specific replication's restic progress data
|
|
87
|
+
*/
|
|
88
|
+
updateReplicationResticProgress(planId: string, backupId: string, replicationId: string, resticChunk: string): Promise<void>;
|
|
61
89
|
/**
|
|
62
90
|
* Reads progress data from file. Now public but safe.
|
|
63
91
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressManager.d.ts","sourceRoot":"","sources":["../../src/managers/ProgressManager.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgressManager.d.ts","sourceRoot":"","sources":["../../src/managers/ProgressManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{writeFile,readFile,mkdir,readdir,stat,unlink}from"fs/promises";import{join,extname}from"path";import{existsSync}from"fs";export class ProgressManager{progressDir;type;writeLocks=new Map;constructor(progressDir,type="backup"){this.progressDir=progressDir,this.type=type}async initialize(){try{existsSync(this.progressDir)||await mkdir(this.progressDir,{recursive:!0})}catch(error){}}async synchronizedUpdate(backupId,updateFunction){const lockKey=`${this.type}-${backupId}`,newLock=(this.writeLocks.get(lockKey)||Promise.resolve()).then(async()=>{const planId=(await this.readProgressFile(backupId))?.planId||"",progress=await this.readProgressFile(backupId,planId);if(progress){const updatedProgress=updateFunction(progress),filename=`${this.type}-${backupId}.json`,filePath=join(this.progressDir,filename),data=JSON.stringify(updatedProgress,null,2);await writeFile(filePath,data,"utf-8")}}).catch(err=>{});this.writeLocks.set(lockKey,newLock),await newLock,this.writeLocks.get(lockKey)===newLock&&this.writeLocks.delete(lockKey)}async initializeProgress(planId,backupId,retryInfo){if(0===retryInfo.attempts){const progress={planId:planId,backupId:backupId,status:"running",startTime:(new Date).toISOString(),lastUpdate:(new Date).toISOString(),events:[{timestamp:(new Date).toISOString(),phase:"initializing",action:"INITIALIZE",completed:!0}]};await this.writeProgressFile(planId,backupId,progress)}}async updateAction(planId,backupId,phase,action,completed,error){await this.synchronizedUpdate(backupId,progress=>{const event={timestamp:(new Date).toISOString(),phase:phase,action:action,completed:completed,error:error};return progress.events.push(event),progress.lastUpdate=(new Date).toISOString(),progress})}async updateResticProgress(planId,backupId,resticChunk){const lines=resticChunk.split("\n").filter(line=>""!==line.trim());0!==lines.length&&await this.synchronizedUpdate(backupId,progress=>{let targetEvent,didUpdate=!1;for(let i=progress.events.length-1;i>=0;i--){const event=progress.events[i];if(("backup"===event.phase||"restore"===event.phase)&&!event.completed){targetEvent=event;break}}if(!targetEvent)return progress;for(const line of lines)try{const resticData=JSON.parse(line);"status"!==resticData.message_type&&"summary"!==resticData.message_type||(targetEvent.resticData=resticData,didUpdate=!0)}catch(e){}return didUpdate&&(targetEvent.timestamp=(new Date).toISOString(),progress.lastUpdate=(new Date).toISOString()),progress})}async markCompleted(planId,backupId,success,errorMsg,finalFail){await this.synchronizedUpdate(backupId,progress=>{progress.lastUpdate=(new Date).toISOString();const startTime=new Date(progress.startTime),endTime=new Date;let finalEvent;if(progress.duration=endTime.getTime()-startTime.getTime(),success)progress.status="completed",finalEvent={timestamp:(new Date).toISOString(),phase:"finished",action:"TASK_COMPLETED",completed:!0};else{progress.status="failed";const finalFailReason=errorMsg?.includes("cancelled")?"TASK_CANCELLED":"FAILED_PERMANENTLY";finalEvent={timestamp:(new Date).toISOString(),phase:finalFail?"finished":"error",action:finalFail?finalFailReason:"TASK_FAILED",error:errorMsg,completed:!0}}return progress.events.push(finalEvent),progress})}async readProgress(planId,backupId){return this.readProgressFile(backupId,planId)}async getResticProgress(planId,backupId){const progress=await this.readProgressFile(backupId,planId);if(!progress)return null;for(let i=progress.events.length-1;i>=0;i--){const event=progress.events[i];if(event.resticData)return event.resticData}return null}async readProgressFile(backupId,planId){const filename=`${this.type}-${backupId}.json`,filePath=join(this.progressDir,filename);try{const data=await readFile(filePath,"utf-8");if(!data)throw new Error("File is empty");return JSON.parse(data)}catch(error){return"ENOENT"!==error.code&&error.message,{planId:planId||"",backupId:backupId,status:"running",startTime:(new Date).toISOString(),lastUpdate:(new Date).toISOString(),events:[]}}}async writeProgressFile(planId,backupId,progress){await this.synchronizedUpdate(backupId,()=>progress)}async cleanupOldProgress(maxAgeMs){try{const files=await readdir(this.progressDir),cutoff=Date.now()-maxAgeMs;for(const file of files){if(".json"!==extname(file))continue;const filePath=join(this.progressDir,file);try{(await stat(filePath)).mtime.getTime()<cutoff&&await unlink(filePath)}catch(error){}}}catch(error){}}}
|
|
1
|
+
import{writeFile,readFile,mkdir,readdir,stat,unlink}from"fs/promises";import{join,extname}from"path";import{existsSync}from"fs";export class ProgressManager{progressDir;type;writeLocks=new Map;constructor(progressDir,type="backup"){this.progressDir=progressDir,this.type=type}async initialize(){try{existsSync(this.progressDir)||await mkdir(this.progressDir,{recursive:!0})}catch(error){}}async synchronizedUpdate(backupId,updateFunction){const lockKey=`${this.type}-${backupId}`,newLock=(this.writeLocks.get(lockKey)||Promise.resolve()).then(async()=>{const planId=(await this.readProgressFile(backupId))?.planId||"",progress=await this.readProgressFile(backupId,planId);if(progress){const updatedProgress=updateFunction(progress),filename=`${this.type}-${backupId}.json`,filePath=join(this.progressDir,filename),data=JSON.stringify(updatedProgress,null,2);await writeFile(filePath,data,"utf-8")}}).catch(err=>{});this.writeLocks.set(lockKey,newLock),await newLock,this.writeLocks.get(lockKey)===newLock&&this.writeLocks.delete(lockKey)}async initializeProgress(planId,backupId,retryInfo){if(0===retryInfo.attempts){const progress={planId:planId,backupId:backupId,status:"running",startTime:(new Date).toISOString(),lastUpdate:(new Date).toISOString(),events:[{timestamp:(new Date).toISOString(),phase:"initializing",action:"INITIALIZE",completed:!0}]};await this.writeProgressFile(planId,backupId,progress)}}async updateAction(planId,backupId,phase,action,completed,error){await this.synchronizedUpdate(backupId,progress=>{const event={timestamp:(new Date).toISOString(),phase:phase,action:action,completed:completed,error:error};return progress.events.push(event),progress.lastUpdate=(new Date).toISOString(),progress})}async updateResticProgress(planId,backupId,resticChunk){const lines=resticChunk.split("\n").filter(line=>""!==line.trim());0!==lines.length&&await this.synchronizedUpdate(backupId,progress=>{let targetEvent,didUpdate=!1;for(let i=progress.events.length-1;i>=0;i--){const event=progress.events[i];if(("backup"===event.phase||"restore"===event.phase)&&!event.completed){targetEvent=event;break}}if(!targetEvent)return progress;for(const line of lines)try{const resticData=JSON.parse(line);"status"!==resticData.message_type&&"summary"!==resticData.message_type||(targetEvent.resticData=resticData,didUpdate=!0)}catch(e){}return didUpdate&&(targetEvent.timestamp=(new Date).toISOString(),progress.lastUpdate=(new Date).toISOString()),progress})}async markCompleted(planId,backupId,success,errorMsg,finalFail){await this.synchronizedUpdate(backupId,progress=>{progress.lastUpdate=(new Date).toISOString();const startTime=new Date(progress.startTime),endTime=new Date;let finalEvent;if(progress.duration=endTime.getTime()-startTime.getTime(),success)progress.status="completed",finalEvent={timestamp:(new Date).toISOString(),phase:"finished",action:"TASK_COMPLETED",completed:!0};else{progress.status="failed";const finalFailReason=errorMsg?.includes("cancelled")?"TASK_CANCELLED":"FAILED_PERMANENTLY";finalEvent={timestamp:(new Date).toISOString(),phase:finalFail?"finished":"error",action:finalFail?finalFailReason:"TASK_FAILED",error:errorMsg,completed:!0}}return progress.events.push(finalEvent),progress})}async initializeReplications(planId,backupId,mirrors){await this.synchronizedUpdate(backupId,progress=>{progress.mirrors||(progress.mirrors={});for(const mirror of mirrors){const isRetry=progress.mirrors[mirror.replicationId]?.events?.length>0;progress.mirrors[mirror.replicationId]={replicationId:mirror.replicationId,storageId:mirror.storageId,storageName:mirror.storageName,storageType:mirror.storageType,status:isRetry?"retrying":"pending",events:[]}}return progress.lastUpdate=(new Date).toISOString(),progress})}async updateReplicationAction(planId,backupId,replicationId,action,completed,error){await this.synchronizedUpdate(backupId,progress=>{if(!progress.mirrors?.[replicationId])return progress;const replicationProgress=progress.mirrors[replicationId],event={timestamp:(new Date).toISOString(),phase:"replicating",action:action,completed:completed,error:error};return replicationProgress.events.push(event),action.includes("SCHEDULED")&&action.includes("RETRY")?replicationProgress.status="retrying":action.includes("START")&&!action.includes("PRUNE")?replicationProgress.status="running":"REPLICATION_COMPLETE"===action?replicationProgress.status="completed":"REPLICATION_FAILED"===action&&(replicationProgress.status="failed",replicationProgress.error=error),progress.lastUpdate=(new Date).toISOString(),progress})}async updateReplicationResticProgress(planId,backupId,replicationId,resticChunk){const lines=resticChunk.split("\n").filter(line=>""!==line.trim());0!==lines.length&&await this.synchronizedUpdate(backupId,progress=>{if(!progress.mirrors?.[replicationId])return progress;const replicationProgress=progress.mirrors[replicationId];for(const line of lines)try{const resticData=JSON.parse(line);"status"!==resticData.message_type&&"summary"!==resticData.message_type||(replicationProgress.resticData=resticData)}catch(e){}return progress.lastUpdate=(new Date).toISOString(),progress})}async readProgress(planId,backupId){return this.readProgressFile(backupId,planId)}async getResticProgress(planId,backupId){const progress=await this.readProgressFile(backupId,planId);if(!progress)return null;for(let i=progress.events.length-1;i>=0;i--){const event=progress.events[i];if(event.resticData)return event.resticData}return null}async readProgressFile(backupId,planId){const filename=`${this.type}-${backupId}.json`,filePath=join(this.progressDir,filename);try{const data=await readFile(filePath,"utf-8");if(!data)throw new Error("File is empty");return JSON.parse(data)}catch(error){return"ENOENT"!==error.code&&error.message,{planId:planId||"",backupId:backupId,status:"running",startTime:(new Date).toISOString(),lastUpdate:(new Date).toISOString(),events:[]}}}async writeProgressFile(planId,backupId,progress){await this.synchronizedUpdate(backupId,()=>progress)}async cleanupOldProgress(maxAgeMs){try{const files=await readdir(this.progressDir),cutoff=Date.now()-maxAgeMs;for(const file of files){if(".json"!==extname(file))continue;const filePath=join(this.progressDir,file);try{(await stat(filePath)).mtime.getTime()<cutoff&&await unlink(filePath)}catch(error){}}}catch(error){}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressManager.js","sourceRoot":"","sources":["../../src/managers/ProgressManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProgressManager.js","sourceRoot":"","sources":["../../src/managers/ProgressManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import { BackupPlanArgs } from '../../types/plans';
|
|
3
|
+
import { BackupMirror } from '../../types/backups';
|
|
3
4
|
type ResticArgsAndEnv = {
|
|
4
5
|
resticArgs: string[];
|
|
5
6
|
resticEnv: Record<string, string>;
|
|
@@ -9,7 +10,9 @@ export declare class BackupHandler {
|
|
|
9
10
|
private runningBackups;
|
|
10
11
|
private cancelledBackups;
|
|
11
12
|
private progressManager;
|
|
13
|
+
private replicationOrchestrator?;
|
|
12
14
|
constructor(emitter: EventEmitter);
|
|
15
|
+
private getReplicationOrchestrator;
|
|
13
16
|
private initializeProgressManager;
|
|
14
17
|
/**
|
|
15
18
|
* Executes the backup process of a plan.
|
|
@@ -34,6 +37,11 @@ export declare class BackupHandler {
|
|
|
34
37
|
* Post-backup phase - cleanup and post-backup operations
|
|
35
38
|
*/
|
|
36
39
|
private postBackupPhase;
|
|
40
|
+
/**
|
|
41
|
+
* Retries failed replication operations for a specific backup.
|
|
42
|
+
* Delegates to ReplicationOrchestrator.
|
|
43
|
+
*/
|
|
44
|
+
retryFailedReplications(planId: string, backupId: string, options: Record<string, any>, failedReplicationIds: string[]): Promise<BackupMirror[]>;
|
|
37
45
|
/**
|
|
38
46
|
* Helper to update backup progress with error handling
|
|
39
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupHandler.d.ts","sourceRoot":"","sources":["../../../src/managers/handlers/BackupHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,KAAK,gBAAgB,GAAG;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"BackupHandler.d.ts","sourceRoot":"","sources":["../../../src/managers/handlers/BackupHandler.ts"],"names":[],"mappings":"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"}
|