@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceService.js","sourceRoot":"","sources":["../../src/services/DeviceService.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAU,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceService.js","sourceRoot":"","sources":["../../src/services/DeviceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,14 @@ export declare class PlanService {
|
|
|
52
52
|
* Resumes the backup plan.
|
|
53
53
|
*/
|
|
54
54
|
resumeBackup(planId: string): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Removes a replication storage from a plan's replication settings.
|
|
57
|
+
* Optionally purges the replicated data from the remote storage.
|
|
58
|
+
*/
|
|
59
|
+
deleteReplicationStorage(planId: string, storageID: string, storagePath: string, removeData: boolean, replicationId?: string): Promise<{
|
|
60
|
+
success: boolean;
|
|
61
|
+
message: string;
|
|
62
|
+
}>;
|
|
55
63
|
/**
|
|
56
64
|
* Unlocks a plan's repository by removing all stale locks.
|
|
57
65
|
*/
|
|
@@ -68,5 +76,9 @@ export declare class PlanService {
|
|
|
68
76
|
*/
|
|
69
77
|
downloadPlanLogs(planId: string): Promise<NodeJS.ReadableStream>;
|
|
70
78
|
private getStorageDetails;
|
|
79
|
+
/**
|
|
80
|
+
* Resolves replication storage names from storageIds for a plan's replication settings.
|
|
81
|
+
*/
|
|
82
|
+
private resolveReplicationStorages;
|
|
71
83
|
}
|
|
72
84
|
//# sourceMappingURL=PlanService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanService.d.ts","sourceRoot":"","sources":["../../src/services/PlanService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAsC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAkB,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMzE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD;;;;GAIG;AACH,qBAAa,WAAW;IAEtB,SAAS,CAAC,UAAU,EAAE,iBAAiB;IACvC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;gBAL1B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY;IAGrC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,cAAc,GAAG,GAAG;IAO1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAQtE,WAAW,CAAC,OAAO,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAK5D,2BAA2B,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,GAAG,SAAS,GACxB,OAAO,CAAC,OAAO,CAAC;IAOnB;;OAEG;IACU,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PlanService.d.ts","sourceRoot":"","sources":["../../src/services/PlanService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createReadStream}from"fs";import{access,constants,readFile}from"fs/promises";import{planInsertSchema,planUpdateSchema}from"../db/schema/plans";import{planLogger}from"../utils/logger";import{generateUID}from"../utils/helpers";import{intervalToCron}from"../utils/intervalToCron";import{LocalStrategy as LocalBackupStrategy}from"../strategies/backup/LocalStrategy";import{RemoteStrategy as RemoteBackupStrategy}from"../strategies/backup/RemoteStrategy";import{appPaths}from"../utils/AppPaths";import{AppError,NotFoundError}from"../utils/AppError";import{sanitizeStoragePath}from"../utils/sanitizeStoragePath";export class PlanService{localAgent;planStore;backupStore;storageStore;deviceStore;restoreStore;constructor(localAgent,planStore,backupStore,storageStore,deviceStore,restoreStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.storageStore=storageStore,this.deviceStore=deviceStore,this.restoreStore=restoreStore}getStrategy(plan){return"main"!==plan.sourceId?new RemoteBackupStrategy(plan.sourceId):new LocalBackupStrategy(this.localAgent)}async getPlan(planId,history=!0){const result=await this.planStore.getById(planId,history);if(!result)throw new NotFoundError("Plan not found");return result}async getAllPlans(history=!0){return await this.planStore.getAll(history)}async checkActiveBackupsOrRestore(planId,type){return"restore"===type?await this.planStore.hasActiveRestore(planId):await this.planStore.hasActiveBackups(planId)}async createPlan(planData){const planId=generateUID(),{title:title,description:description,storage:storage,storagePath:storagePath,sourceConfig:sourceConfig,sourceId:sourceId,sourceType:sourceType,method:method,settings:settings,tags:tags=[]}=planData,planStorage=await this.getStorageDetails(planData.storage.id);if(!planStorage.name||!planStorage.type)throw new NotFoundError("Storage not found.");const theStoragePath=sanitizeStoragePath(storagePath,planStorage.type);let newPlanData={id:planId,title:title.trim(),description:description?.trim()||"",storageId:storage.id,storagePath:theStoragePath,method:method,sourceConfig:sourceConfig,sourceId:sourceId,sourceType:sourceType,settings:settings,tags:tags};try{const parsedPlanData=planInsertSchema.parse(newPlanData);newPlanData={...parsedPlanData,sourceType:parsedPlanData.sourceType}}catch(error){throw error}if(!await this.deviceStore.getById(sourceId))throw new NotFoundError("Source device not found");const cronExpression=intervalToCron(planData.settings.interval),backupScheduleOptions={...newPlanData,isActive:!0,storage:planStorage,cronExpression:cronExpression};try{const strategy=this.getStrategy(newPlanData),creationRes=await strategy.createBackup(planId,backupScheduleOptions);if(!creationRes.success)throw new AppError(500,creationRes.result)}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error creating backup schedule")}const createdPlan=await this.planStore.create(newPlanData);if(!createdPlan)throw new AppError(500,"Failed to save the new plan to the database.");return planLogger("create",planId).info("Backup Plan created."),createdPlan}async updatePlan(planId,planData){const currentPlan=await this.planStore.getById(planId);if(!currentPlan)throw new NotFoundError("Plan not found.");let parsedPlanData;try{const parsedData=planUpdateSchema.parse(planData);parsedPlanData={...parsedData,sourceType:parsedData.sourceType||currentPlan.sourceType}}catch(error){throw error}const updatedPlan=await this.planStore.update(planId,parsedPlanData);if(!updatedPlan)throw new AppError(500,"Failed to update plan in the database.");const planStorage=await this.getStorageDetails(currentPlan.storageId);if(!planStorage.name||!planStorage.type)throw new NotFoundError("Storage not found.");const planSettings=parsedPlanData.settings||currentPlan.settings,cronExpression=intervalToCron(planSettings.interval),backupScheduleOptions={...updatedPlan,storage:planStorage,cronExpression:cronExpression};try{const strategy=this.getStrategy(updatedPlan),updateRes=await strategy.updateBackup(planId,backupScheduleOptions);if(!updateRes.success)throw"main"!==updatedPlan.sourceId&&await this.planStore.update(planId,currentPlan),new AppError(500,updateRes.result);return planLogger("update",planId).info("Backup Plan updated by User."),updatedPlan}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to update plan")}}async deletePlan(planId,removeRemoteData){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError("Plan not found.");const storageName=plan.storage?.name||"",options={storageName:"Local"===storageName||"Local Storage"===storageName?"local":storageName,storagePath:plan.storagePath||"",encryption:plan.settings.encryption||!0,removeRemoteData:removeRemoteData},strategy=this.getStrategy(plan),deleteResult=await strategy.removeBackup(planId,options);if(!deleteResult.success)throw new AppError(500,deleteResult.result);await this.restoreStore.deleteByPlanId(planId),await this.backupStore.deleteByPlanId(planId);const deleteRes=await this.planStore.delete(planId);if(!deleteRes)throw new AppError(500,"Failed to delete plan from the database.");return planLogger("delete",planId).info("Plan and associated data successfully deleted."),deleteRes}async performBackup(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);if(await this.planStore.hasActiveBackups(planId))throw new AppError(500,"A backup is already in progress for this plan.");const strategy=this.getStrategy(plan),performResult=await strategy.performBackup(planId);if(!performResult.success)throw new AppError(500,performResult.result)}async pruneBackups(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const strategy=this.getStrategy(plan),pruneResult=await strategy.pruneBackups(planId);if(!pruneResult.success)throw new AppError(500,"string"==typeof pruneResult.result?pruneResult.result:"Error Pruning Backup");return planLogger("prune",planId).info("Backup Plan prune successfully performed."),pruneResult.result}async pauseBackup(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const strategy=this.getStrategy(plan),pauseResult=await strategy.pauseBackup(planId);if(!pauseResult.success)throw new AppError(500,pauseResult.result);await this.planStore.setActive(planId,!1),planLogger("update",planId).info("Plan paused.")}async resumeBackup(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const strategy=this.getStrategy(plan),resumeResult=await strategy.resumeBackup(planId);if(!resumeResult.success)throw new AppError(500,resumeResult.result);await this.planStore.setActive(planId,!0),planLogger("update",planId).info("Plan resumed.")}async unlockRepo(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const strategy=this.getStrategy(plan);if(!strategy.unlockRepo)throw new AppError(501,'The "unlockRepo" feature is not implemented for this strategy.');const unlockResult=await strategy.unlockRepo(planId);return unlockResult.success?planLogger("unlock",planId).info("Repository unlocked successfully by user request."):planLogger("unlock",planId).error(`Failed to unlock repository: ${unlockResult.result}`),unlockResult}async getPlanLogs(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);if(plan){const logFilePath=`${appPaths.getLogsDir()}/plan-${plan.id}.log`;try{const rawLogs=await readFile(logFilePath,"utf-8");if(!rawLogs)throw new NotFoundError(`No logs found for plan with ID ${planId}`);return rawLogs.split(/\r?\n/).filter(line=>""!==line.trim()).map(line=>{try{const entry=JSON.parse(line);if(entry.time){const date=new Date(entry.time);entry.formattedTime=date.toLocaleString()}return entry}catch(e){return{raw:line}}})}catch(error){if("ENOENT"===error.code)throw new NotFoundError(`No logs found for plan with ID ${planId}`);throw error}}}async downloadPlanLogs(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const logFilePath=`${appPaths.getLogsDir()}/plan-${plan.id}.log`;try{await access(logFilePath,constants.F_OK);return createReadStream(logFilePath)}catch(error){if("ENOENT"===error.code)throw new NotFoundError("Log file not found");throw new AppError(403,error?.message||"Failed to access the log file")}}async getStorageDetails(storageId){const storage=await this.storageStore.getById(storageId);if(!storage)throw new NotFoundError("Storage not found");return{name:"local"===storage.id?"local":storage.name,type:storage.type,authType:storage.authType,settings:storage.settings,credentials:storage.credentials,defaultPath:storage.defaultPath}}}
|
|
1
|
+
import{createReadStream}from"fs";import{access,constants,readFile}from"fs/promises";import{planInsertSchema,planUpdateSchema}from"../db/schema/plans";import{planLogger}from"../utils/logger";import{generateUID}from"../utils/helpers";import{intervalToCron}from"../utils/intervalToCron";import{LocalStrategy as LocalBackupStrategy}from"../strategies/backup/LocalStrategy";import{RemoteStrategy as RemoteBackupStrategy}from"../strategies/backup/RemoteStrategy";import{appPaths}from"../utils/AppPaths";import{AppError,NotFoundError}from"../utils/AppError";import{sanitizeStoragePath}from"../utils/sanitizeStoragePath";export class PlanService{localAgent;planStore;backupStore;storageStore;deviceStore;restoreStore;constructor(localAgent,planStore,backupStore,storageStore,deviceStore,restoreStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.storageStore=storageStore,this.deviceStore=deviceStore,this.restoreStore=restoreStore}getStrategy(plan){return"main"!==plan.sourceId?new RemoteBackupStrategy(plan.sourceId):new LocalBackupStrategy(this.localAgent)}async getPlan(planId,history=!0){const result=await this.planStore.getById(planId,history);if(!result)throw new NotFoundError("Plan not found");return result}async getAllPlans(history=!0){return await this.planStore.getAll(history)}async checkActiveBackupsOrRestore(planId,type){return"restore"===type?await this.planStore.hasActiveRestore(planId):await this.planStore.hasActiveBackups(planId)}async createPlan(planData){const planId=generateUID(),{title:title,description:description,storage:storage,storagePath:storagePath,sourceConfig:sourceConfig,sourceId:sourceId,sourceType:sourceType,method:method,settings:settings,tags:tags=[]}=planData,planStorage=await this.getStorageDetails(planData.storage.id);if(!planStorage.name||!planStorage.type)throw new NotFoundError("Storage not found.");const device=await this.deviceStore.getById(sourceId);if(!device)throw new NotFoundError("Source device not found");const targetOS="main"!==sourceId?device.os??void 0:void 0,theStoragePath=sanitizeStoragePath(storagePath,planStorage.type,targetOS);let newPlanData={id:planId,title:title.trim(),description:description?.trim()||"",storageId:storage.id,storagePath:theStoragePath,method:method,sourceConfig:sourceConfig,sourceId:sourceId,sourceType:sourceType,settings:settings,tags:tags};try{const parsedPlanData=planInsertSchema.parse(newPlanData);newPlanData={...parsedPlanData,sourceType:parsedPlanData.sourceType}}catch(error){throw error}const cronExpression=intervalToCron(planData.settings.interval),backupScheduleOptions={...newPlanData,isActive:!0,storage:planStorage,cronExpression:cronExpression};try{const strategy=this.getStrategy(newPlanData),creationRes=await strategy.createBackup(planId,backupScheduleOptions);if(!creationRes.success)throw new AppError(500,creationRes.result)}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error creating backup schedule")}const createdPlan=await this.planStore.create(newPlanData);if(!createdPlan)throw new AppError(500,"Failed to save the new plan to the database.");return planLogger("create",planId).info("Backup Plan created."),createdPlan}async updatePlan(planId,planData){const currentPlan=await this.planStore.getById(planId);if(!currentPlan)throw new NotFoundError("Plan not found.");let parsedPlanData;try{const parsedData=planUpdateSchema.parse(planData);parsedPlanData={...parsedData,sourceType:parsedData.sourceType||currentPlan.sourceType}}catch(error){throw error}const updatedPlan=await this.planStore.update(planId,parsedPlanData);if(!updatedPlan)throw new AppError(500,"Failed to update plan in the database.");const planStorage=await this.getStorageDetails(currentPlan.storageId);if(!planStorage.name||!planStorage.type)throw new NotFoundError("Storage not found.");const planSettings=parsedPlanData.settings||currentPlan.settings,cronExpression=intervalToCron(planSettings.interval),backupScheduleOptions={...updatedPlan,storage:planStorage,cronExpression:cronExpression};try{const strategy=this.getStrategy(updatedPlan),updateRes=await strategy.updateBackup(planId,backupScheduleOptions);if(!updateRes.success)throw"main"!==updatedPlan.sourceId&&await this.planStore.update(planId,currentPlan),new AppError(500,updateRes.result);return planLogger("update",planId).info("Backup Plan updated by User."),updatedPlan}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to update plan")}}async deletePlan(planId,removeRemoteData){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError("Plan not found.");const storageName=plan.storage?.name||"",replicationStorages=removeRemoteData?await this.resolveReplicationStorages(plan):[],options={storageName:"Local"===storageName||"Local Storage"===storageName?"local":storageName,storagePath:plan.storagePath||"",encryption:plan.settings.encryption||!0,removeRemoteData:removeRemoteData,replicationStorages:replicationStorages},strategy=this.getStrategy(plan),deleteResult=await strategy.removeBackup(planId,options);if(!deleteResult.success)throw new AppError(500,deleteResult.result);await this.restoreStore.deleteByPlanId(planId),await this.backupStore.deleteByPlanId(planId);const deleteRes=await this.planStore.delete(planId);if(!deleteRes)throw new AppError(500,"Failed to delete plan from the database.");return planLogger("delete",planId).info("Plan and associated data successfully deleted."),deleteRes}async performBackup(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);if(await this.planStore.hasActiveBackups(planId))throw new AppError(500,"A backup is already in progress for this plan.");const strategy=this.getStrategy(plan),performResult=await strategy.performBackup(planId);if(!performResult.success)throw new AppError(500,performResult.result)}async pruneBackups(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const replicationStorages=await this.resolveReplicationStorages(plan),strategy=this.getStrategy(plan),pruneResult=await strategy.pruneBackups(planId,replicationStorages);if(!pruneResult.success)throw new AppError(500,"string"==typeof pruneResult.result?pruneResult.result:"Error Pruning Backup");return planLogger("prune",planId).info("Backup Plan prune successfully performed."),pruneResult.result}async pauseBackup(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const strategy=this.getStrategy(plan),pauseResult=await strategy.pauseBackup(planId);if(!pauseResult.success)throw new AppError(500,pauseResult.result);await this.planStore.setActive(planId,!1),planLogger("update",planId).info("Plan paused.")}async resumeBackup(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const strategy=this.getStrategy(plan),resumeResult=await strategy.resumeBackup(planId);if(!resumeResult.success)throw new AppError(500,resumeResult.result);await this.planStore.setActive(planId,!0),planLogger("update",planId).info("Plan resumed.")}async deleteReplicationStorage(planId,storageID,storagePath,removeData,replicationId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError("Plan not found.");const replication=plan.settings?.replication;if(!replication?.storages?.length)throw new AppError(400,"Plan has no replication storages configured.");const storageIndex=replicationId?replication.storages.findIndex(s=>s.replicationId===replicationId):replication.storages.findIndex(s=>s.storageId===storageID&&s.storagePath===storagePath);if(-1===storageIndex)return{success:!0,message:"Replication storage removed successfully."};let storageName="Unknown";const storageRecords=await this.storageStore.getByIds([storageID]);if(storageRecords?.length){const name=storageRecords[0].name;storageName="Local"===name||"Local Storage"===name?"local":name}if(removeData){const strategy=this.getStrategy(plan),purgeResult=await strategy.removeReplicationStorage(planId,{storageName:storageName,storagePath:storagePath,removeData:removeData});if(!purgeResult.success)throw new AppError(500,`Failed to purge replication data: ${purgeResult.result}`)}const updatedStorages=replication.storages.filter((_,i)=>i!==storageIndex),updatedReplication={...replication,storages:updatedStorages,...0===updatedStorages.length&&{enabled:!1}},updatedSettings={...plan.settings,replication:updatedReplication};await this.planStore.update(planId,{settings:updatedSettings});try{const planStorage=await this.getStorageDetails(plan.storageId),cronExpression=intervalToCron(updatedSettings.interval),updatedPlan=await this.planStore.getById(planId);if(updatedPlan&&planStorage.name){const backupScheduleOptions={...updatedPlan,storage:planStorage,cronExpression:cronExpression},strategy=this.getStrategy(updatedPlan);await strategy.updateBackup(planId,backupScheduleOptions)}}catch(error){planLogger("replication",planId).warn(`Failed to sync CronManager schedule after removing replication storage: ${error?.message||"Unknown error"}`)}return planLogger("replication",planId).info(`Replication storage "${storageName}" (${storagePath}) removed from plan.${removeData?" Replicated data was purged.":""}`),{success:!0,message:`Replication storage "${storageName}" removed successfully.`}}async unlockRepo(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const replicationStorages=await this.resolveReplicationStorages(plan),strategy=this.getStrategy(plan);if(!strategy.unlockRepo)throw new AppError(501,'The "unlockRepo" feature is not implemented for this strategy.');const unlockResult=await strategy.unlockRepo(planId,replicationStorages);return unlockResult.success?planLogger("unlock",planId).info("Repository unlocked successfully by user request."):planLogger("unlock",planId).error(`Failed to unlock repository: ${unlockResult.result}`),unlockResult}async getPlanLogs(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);if(plan){const logFilePath=`${appPaths.getLogsDir()}/plan-${plan.id}.log`;try{const rawLogs=await readFile(logFilePath,"utf-8");if(!rawLogs)throw new NotFoundError(`No logs found for plan with ID ${planId}`);return rawLogs.split(/\r?\n/).filter(line=>""!==line.trim()).map(line=>{try{const entry=JSON.parse(line);if(entry.time){const date=new Date(entry.time);entry.formattedTime=date.toLocaleString()}return entry}catch(e){return{raw:line}}})}catch(error){if("ENOENT"===error.code)throw new NotFoundError(`No logs found for plan with ID ${planId}`);throw error}}}async downloadPlanLogs(planId){const plan=await this.planStore.getById(planId);if(!plan)throw new NotFoundError(`Plan with ID ${planId} not found.`);const logFilePath=`${appPaths.getLogsDir()}/plan-${plan.id}.log`;try{await access(logFilePath,constants.F_OK);return createReadStream(logFilePath)}catch(error){if("ENOENT"===error.code)throw new NotFoundError("Log file not found");throw new AppError(403,error?.message||"Failed to access the log file")}}async getStorageDetails(storageId){const storage=await this.storageStore.getById(storageId);if(!storage)throw new NotFoundError("Storage not found");return{name:"local"===storage.id?"local":storage.name,type:storage.type,authType:storage.authType,settings:storage.settings,credentials:storage.credentials,defaultPath:storage.defaultPath}}async resolveReplicationStorages(plan){if(!plan.settings.replication?.enabled||!plan.settings.replication.storages?.length)return[];const storageIds=plan.settings.replication.storages.map(s=>s.storageId),storageRecords=await this.storageStore.getByIds(storageIds);return storageRecords?plan.settings.replication.storages.map(rs=>{const record=storageRecords.find(s=>s.id===rs.storageId),name=record?.name||"";return{storageName:"Local"===name||"Local Storage"===name?"local":name,storagePath:rs.storagePath}}).filter(s=>s.storageName&&s.storagePath):[]}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanService.js","sourceRoot":"","sources":["../../src/services/PlanService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlanService.js","sourceRoot":"","sources":["../../src/services/PlanService.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,9 @@ export declare class RestoreService {
|
|
|
18
18
|
getRestoreStrategy(deviceId: string, method: string): RestoreStrategy;
|
|
19
19
|
getAllRestores(): Promise<{
|
|
20
20
|
id: string;
|
|
21
|
+
started: Date | null;
|
|
21
22
|
createdAt: Date;
|
|
22
23
|
updatedAt: Date | null;
|
|
23
|
-
started: Date | null;
|
|
24
24
|
ended: Date | null;
|
|
25
25
|
inProgress: boolean | null;
|
|
26
26
|
status: string | null;
|
|
@@ -38,9 +38,9 @@ export declare class RestoreService {
|
|
|
38
38
|
}[] | null>;
|
|
39
39
|
getRestore(restoreId: string): Promise<{
|
|
40
40
|
id: string;
|
|
41
|
+
started: Date | null;
|
|
41
42
|
createdAt: Date;
|
|
42
43
|
updatedAt: Date | null;
|
|
43
|
-
started: Date | null;
|
|
44
44
|
ended: Date | null;
|
|
45
45
|
inProgress: boolean | null;
|
|
46
46
|
status: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreService.d.ts","sourceRoot":"","sources":["../../src/services/RestoreService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAiC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAkB,MAAM,mBAAmB,CAAC;AAElE;;GAEG;AACH,qBAAa,cAAc;IAEzB,SAAS,CAAC,UAAU,EAAE,kBAAkB;IACxC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,YAAY,EAAE,YAAY;gBAJ1B,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAGrC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAK/D,cAAc;;;;;;;;;;;;;;;;;;;;IAKd,UAAU,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;IAQ5B,eAAe,CAAC,SAAS,EAAE,MAAM;;;;IAWjC,aAAa,CAAC,SAAS,EAAE,MAAM;IAS/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"RestoreService.d.ts","sourceRoot":"","sources":["../../src/services/RestoreService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAiC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAkB,MAAM,mBAAmB,CAAC;AAElE;;GAEG;AACH,qBAAa,cAAc;IAEzB,SAAS,CAAC,UAAU,EAAE,kBAAkB;IACxC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,YAAY,EAAE,YAAY;gBAJ1B,UAAU,EAAE,kBAAkB,EAC9B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAGrC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAK/D,cAAc;;;;;;;;;;;;;;;;;;;;IAKd,UAAU,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;IAQ5B,eAAe,CAAC,SAAS,EAAE,MAAM;;;;IAWjC,aAAa,CAAC,SAAS,EAAE,MAAM;IAS/B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IAgE/D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IA6D5D,aAAa,CAAC,SAAS,EAAE,MAAM;;;;IAgB/B,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAapC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAiBxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{NotFoundError}from"../utils/AppError";import{RemoteStrategy,LocalStrategy}from"../strategies/restore";export class RestoreService{localAgent;planStore;backupStore;restoreStore;storageStore;constructor(localAgent,planStore,backupStore,restoreStore,storageStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.restoreStore=restoreStore,this.storageStore=storageStore}getRestoreStrategy(deviceId,method){return"main"!==deviceId?new RemoteStrategy(deviceId):new LocalStrategy(this.localAgent)}async getAllRestores(){return await this.restoreStore.getAll()}async getRestore(restoreId){const restore=await this.restoreStore.getById(restoreId);if(!restore)throw new NotFoundError("Restore Item not found.");return restore}async getRestoreStats(restoreId){const restore=await this.restoreStore.getById(restoreId);if(!restore)throw new NotFoundError("Restore not found");const strategy=this.getRestoreStrategy(restore.sourceId,restore.method);return await strategy.getRestoreStats(restore.planId,restoreId)}async deleteRestore(restoreId){if(!await this.restoreStore.getById(restoreId))throw new NotFoundError("Restore not found");await this.restoreStore.delete(restoreId)}async dryRestoreBackup(backupId,restoreConfig){try{const backup=await this.backupStore.getById(backupId);if(!backup)throw new Error("Backup not found");if(await this.restoreStore.isRestoreRunning(backupId))throw new Error("A Restoration is already in progress for this Plan");const backupDevice=backup.sourceId?backup.sourceId:"main",
|
|
1
|
+
import{NotFoundError}from"../utils/AppError";import{RemoteStrategy,LocalStrategy}from"../strategies/restore";export class RestoreService{localAgent;planStore;backupStore;restoreStore;storageStore;constructor(localAgent,planStore,backupStore,restoreStore,storageStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.restoreStore=restoreStore,this.storageStore=storageStore}getRestoreStrategy(deviceId,method){return"main"!==deviceId?new RemoteStrategy(deviceId):new LocalStrategy(this.localAgent)}async getAllRestores(){return await this.restoreStore.getAll()}async getRestore(restoreId){const restore=await this.restoreStore.getById(restoreId);if(!restore)throw new NotFoundError("Restore Item not found.");return restore}async getRestoreStats(restoreId){const restore=await this.restoreStore.getById(restoreId);if(!restore)throw new NotFoundError("Restore not found");const strategy=this.getRestoreStrategy(restore.sourceId,restore.method);return await strategy.getRestoreStats(restore.planId,restoreId)}async deleteRestore(restoreId){if(!await this.restoreStore.getById(restoreId))throw new NotFoundError("Restore not found");await this.restoreStore.delete(restoreId)}async dryRestoreBackup(backupId,restoreConfig){try{const backup=await this.backupStore.getById(backupId);if(!backup)throw new Error("Backup not found");if(await this.restoreStore.isRestoreRunning(backupId))throw new Error("A Restoration is already in progress for this Plan");const plan=await this.planStore.getById(backup.planId);if(!plan)throw new Error("Plan not found");const backupDevice=backup.sourceId?backup.sourceId:"main",storageID=backup.storageId;let storagePath=backup.storagePath,storageName=await this.getStorageName(storageID);const targetPath=restoreConfig.target||"";if(restoreConfig.replicationId){const replicationStorage=plan.settings?.replication?.storages.find(m=>m.replicationId===restoreConfig.replicationId);if(!replicationStorage)throw new Error("Replication Storage not found");storagePath=replicationStorage.storagePath||"",storageName=replicationStorage.storageName,storageName||(storageName=await this.getStorageName(replicationStorage.storageId))}const strategy=this.getRestoreStrategy(backupDevice,backup.method),restoreResult=await strategy.getRestoreSnapshotStats(backup.planId,backup.id,{storageName:storageName,planId:backup.planId,storagePath:storagePath||"",encryption:backup.encryption||!0,overwrite:restoreConfig.overwrite,target:targetPath,delete:restoreConfig.delete,includes:restoreConfig.includes,excludes:restoreConfig.excludes,replicationId:restoreConfig.replicationId});if(!restoreResult.success)throw new Error(restoreResult.result||"Failed to dry restore plan");return restoreResult.result}catch(error){throw new Error(error?.message||"Failed to dry restore the backup plan")}}async restoreBackup(backupId,restoreConfig){try{const backup=await this.backupStore.getById(backupId);if(!backup)throw new Error("Backup not found");const plan=await this.planStore.getById(backup.planId);if(!plan)throw new Error("Plan not found");if(await this.restoreStore.isRestoreRunning(backupId))throw new Error("A Restoration is already in progress for this Plan");const backupDevice=backup.sourceId?backup.sourceId:"main",storageID=backup.storageId;let storagePath=backup.storagePath,storageName=await this.getStorageName(storageID);const performanceSettings=plan.settings.performance;if(restoreConfig.replicationId){const replicationStorage=plan.settings?.replication?.storages.find(m=>m.replicationId===restoreConfig.replicationId);if(!replicationStorage)throw new Error("Replication Storage not found");storagePath=replicationStorage.storagePath||"",storageName=replicationStorage.storageName,storageName||(storageName=await this.getStorageName(replicationStorage.storageId))}const strategy=this.getRestoreStrategy(backupDevice,plan.method),restoreResult=await strategy.restoreSnapshot(backup.planId,backup.id,{planId:backup.planId,storageName:storageName,storagePath:storagePath||"",encryption:backup.encryption||!0,overwrite:restoreConfig.overwrite||"always",target:restoreConfig.target||"",includes:restoreConfig.includes||[],excludes:restoreConfig.excludes||[],delete:restoreConfig.delete||!1,sources:plan.sourceConfig.includes||[],performanceSettings:performanceSettings});if(!restoreResult.success)throw new Error(restoreResult.result||"Failed to restore plan");return restoreResult.result}catch(error){throw new Error(error?.message||"Failed to restore the backup plan")}}async cancelRestore(restoreId){const restore=await this.restoreStore.getById(restoreId);if(!restore)throw new NotFoundError("Restore not found");const strategy=this.getRestoreStrategy(restore.sourceId,restore.method),cancelResult=await strategy.cancelSnapshotRestore(restore.planId,restoreId);return await this.restoreStore.update(restoreId,{status:"cancelled",inProgress:!1}),cancelResult}async getRestoreProgress(restoreId){const restore=await this.restoreStore.getById(restoreId);if(!restore)throw new NotFoundError("Restore not found");const strategy=this.getRestoreStrategy(restore.sourceId,restore.method),progressResult=await strategy.getRestoreProgress(restore.planId,restoreId);if(!progressResult.success)throw new Error(progressResult.result||"Failed to get Restore Progress");return progressResult.result}async getStorageName(storageId){let storageName="";if("local"!==storageId)try{const storage=await this.storageStore.getById(storageId);storage?.name&&(storageName=storage.name)}catch(error){return storageName}else storageName="local";return storageName}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreService.js","sourceRoot":"","sources":["../../src/services/RestoreService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RestoreService.js","sourceRoot":"","sources":["../../src/services/RestoreService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAGN,cAAc,EACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE;;GAEG;AACH,qBAAa,cAAc;IAEzB,SAAS,CAAC,cAAc,EAAE,kBAAkB;IAC5C,SAAS,CAAC,aAAa,EAAE,iBAAiB;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,SAAS,EAAE,SAAS;gBAHpB,cAAc,EAAE,kBAAkB,EAClC,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS;IAG/B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAO7C,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAIxC,UAAU,CACf,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,OAAO,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA2B5E,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAkBxD,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsDxE,aAAa,CAClB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IA2FtE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAGN,cAAc,EACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE;;GAEG;AACH,qBAAa,cAAc;IAEzB,SAAS,CAAC,cAAc,EAAE,kBAAkB;IAC5C,SAAS,CAAC,aAAa,EAAE,iBAAiB;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,SAAS,EAAE,SAAS;gBAHpB,cAAc,EAAE,kBAAkB,EAClC,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS;IAG/B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAO7C,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAIxC,UAAU,CACf,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,OAAO,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA2B5E,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAkBxD,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsDxE,aAAa,CAClB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IA2FtE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0C3C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAYvC,qBAAqB;CAuBnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{storageInsertSchema,storageUpdateSchema}from"../db/schema/storages";import{providers}from"../utils/providers";import Cryptr from"cryptr";import{RemoteStrategy as RemoteSystemStrategy,LocalStrategy as LocalSystemStrategy}from"../strategies/system";import{generateUID}from"../utils/helpers";import{runCommand}from"../utils/runCommand";import{configService}from"./ConfigService";import{AppError,NotFoundError}from"../utils/AppError";export class StorageService{storageManager;systemManager;storageStore;planStore;constructor(storageManager,systemManager,storageStore,planStore){this.storageManager=storageManager,this.systemManager=systemManager,this.storageStore=storageStore,this.planStore=planStore}getSystemStrategy(deviceId){return"main"!==deviceId?new RemoteSystemStrategy(deviceId):new LocalSystemStrategy(this.systemManager)}async getStorages(){return await this.storageStore.getAll(!0,!0)}async getStorage(id){const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const decryptedCreds={};try{const cryptr=new Cryptr(configService.config.SECRET),credsObj=storage.credentials;credsObj&&Object.keys(credsObj).forEach(k=>{"string"==typeof credsObj[k]&&(decryptedCreds[k]=cryptr.decrypt(credsObj[k]))});const authTypes=providers[storage.type].authTypes;return{...storage,credentials:decryptedCreds,authTypes:authTypes}}catch(error){throw new AppError(500,"Could not decrypt your Storage Credentials Settings. Your Pluton Secret key may have changed or missing.")}}async getAvailableStorageTypes(){const providersWithoutLocal={...providers};delete providersWithoutLocal.local;return Object.keys(providersWithoutLocal).reduce((acc,key)=>({...acc,[key]:{name:providers[key].name,authTypes:providers[key].authTypes,settings:providers[key].settings,doc:providers[key].doc}}),{})}async createStorage(storagePayload){try{const id=generateUID();let parsedStorageData={...storagePayload,id:id};try{parsedStorageData=storageInsertSchema.parse(parsedStorageData)}catch(error){throw new AppError(400,"Invalid storage configuration provided. Check required fields.")}const{type:type,name:name,authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,remoteResult=await this.storageManager.createRemote(type,name,authType,credentials,settings);if(!remoteResult.success)throw new AppError(500,remoteResult.result||"Error creating remote storage.");const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});const storageId=generateUID();return await this.storageStore.create({id:storageId,name:name,type:type,settings:settings,credentials:encryptedCreds,authType:authType,tags:tags})}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error creating storage.")}}async updateStorage(id,storagePayload){try{const existingStorage=await this.storageStore.getById(id);if(!existingStorage)throw new NotFoundError("Storage not found");let parsedStorageData={...storagePayload};try{parsedStorageData=storageUpdateSchema.parse(storagePayload)}catch(error){throw new AppError(400,"Invalid storage data provided")}const{authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,devicesWithStorage=[],plansWithStorage=await this.planStore.getStoragePlans(existingStorage.id),deviceUpdateResult={};if(plansWithStorage&&plansWithStorage.length>0){plansWithStorage.forEach(async plan=>{plan.sourceId&&!devicesWithStorage.includes(plan.sourceId)&&devicesWithStorage.push(plan.sourceId)});const existingCreds=existingStorage?.credentials,decryptedOldCred={};try{if(existingCreds){const eCreds=existingCreds,cryptr=new Cryptr(configService.config.SECRET);Object.keys(eCreds||{}).forEach(k=>{decryptedOldCred[k]=cryptr.decrypt(eCreds[k])})}}catch(error){}const credsDifferent=JSON.stringify(decryptedOldCred)!==JSON.stringify(credentials),deviceUpdatePromises=devicesWithStorage.map(async sourceId=>{const strategy=this.getSystemStrategy(sourceId),updateRes=await strategy.updateRemoteStorage(existingStorage.name,{new:{...settings,...credsDifferent?credentials:{}},old:{...existingStorage.settings||{},...decryptedOldCred&&credsDifferent?decryptedOldCred:{}}});return deviceUpdateResult[sourceId]=updateRes,updateRes});await Promise.all(deviceUpdatePromises)}const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});return{storage:await this.storageStore.update(id,{settings:settings,credentials:encryptedCreds,tags:tags}),devicesUpdated:deviceUpdateResult}}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error updating storage.")}}async deleteStorage(id){try{const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const storagePlans=await this.planStore.getStoragePlans(id);if(storagePlans&&storagePlans.length>0)throw new AppError(400
|
|
1
|
+
import{storageInsertSchema,storageUpdateSchema}from"../db/schema/storages";import{providers}from"../utils/providers";import Cryptr from"cryptr";import{RemoteStrategy as RemoteSystemStrategy,LocalStrategy as LocalSystemStrategy}from"../strategies/system";import{generateUID}from"../utils/helpers";import{runCommand}from"../utils/runCommand";import{configService}from"./ConfigService";import{AppError,NotFoundError}from"../utils/AppError";export class StorageService{storageManager;systemManager;storageStore;planStore;constructor(storageManager,systemManager,storageStore,planStore){this.storageManager=storageManager,this.systemManager=systemManager,this.storageStore=storageStore,this.planStore=planStore}getSystemStrategy(deviceId){return"main"!==deviceId?new RemoteSystemStrategy(deviceId):new LocalSystemStrategy(this.systemManager)}async getStorages(){return await this.storageStore.getAll(!0,!0)}async getStorage(id){const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const decryptedCreds={};try{const cryptr=new Cryptr(configService.config.SECRET),credsObj=storage.credentials;credsObj&&Object.keys(credsObj).forEach(k=>{"string"==typeof credsObj[k]&&(decryptedCreds[k]=cryptr.decrypt(credsObj[k]))});const authTypes=providers[storage.type].authTypes;return{...storage,credentials:decryptedCreds,authTypes:authTypes}}catch(error){throw new AppError(500,"Could not decrypt your Storage Credentials Settings. Your Pluton Secret key may have changed or missing.")}}async getAvailableStorageTypes(){const providersWithoutLocal={...providers};delete providersWithoutLocal.local;return Object.keys(providersWithoutLocal).reduce((acc,key)=>({...acc,[key]:{name:providers[key].name,authTypes:providers[key].authTypes,settings:providers[key].settings,doc:providers[key].doc}}),{})}async createStorage(storagePayload){try{const id=generateUID();let parsedStorageData={...storagePayload,id:id};try{parsedStorageData=storageInsertSchema.parse(parsedStorageData)}catch(error){throw new AppError(400,"Invalid storage configuration provided. Check required fields.")}const{type:type,name:name,authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,remoteResult=await this.storageManager.createRemote(type,name,authType,credentials,settings);if(!remoteResult.success)throw new AppError(500,remoteResult.result||"Error creating remote storage.");const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});const storageId=generateUID();return await this.storageStore.create({id:storageId,name:name,type:type,settings:settings,credentials:encryptedCreds,authType:authType,tags:tags})}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error creating storage.")}}async updateStorage(id,storagePayload){try{const existingStorage=await this.storageStore.getById(id);if(!existingStorage)throw new NotFoundError("Storage not found");let parsedStorageData={...storagePayload};try{parsedStorageData=storageUpdateSchema.parse(storagePayload)}catch(error){throw new AppError(400,"Invalid storage data provided")}const{authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,devicesWithStorage=[],plansWithStorage=await this.planStore.getStoragePlans(existingStorage.id),deviceUpdateResult={};if(plansWithStorage&&plansWithStorage.length>0){plansWithStorage.forEach(async plan=>{plan.sourceId&&!devicesWithStorage.includes(plan.sourceId)&&devicesWithStorage.push(plan.sourceId)});const existingCreds=existingStorage?.credentials,decryptedOldCred={};try{if(existingCreds){const eCreds=existingCreds,cryptr=new Cryptr(configService.config.SECRET);Object.keys(eCreds||{}).forEach(k=>{decryptedOldCred[k]=cryptr.decrypt(eCreds[k])})}}catch(error){}const credsDifferent=JSON.stringify(decryptedOldCred)!==JSON.stringify(credentials),deviceUpdatePromises=devicesWithStorage.map(async sourceId=>{const strategy=this.getSystemStrategy(sourceId),updateRes=await strategy.updateRemoteStorage(existingStorage.name,{new:{...settings,...credsDifferent?credentials:{}},old:{...existingStorage.settings||{},...decryptedOldCred&&credsDifferent?decryptedOldCred:{}}});return deviceUpdateResult[sourceId]=updateRes,updateRes});await Promise.all(deviceUpdatePromises)}const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});return{storage:await this.storageStore.update(id,{settings:settings,credentials:encryptedCreds,tags:tags}),devicesUpdated:deviceUpdateResult}}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error updating storage.")}}async deleteStorage(id){try{const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const storagePlans=await this.planStore.getStoragePlans(id),replicationPlans=await this.storageStore.getReplicationPlans(id);if(storagePlans&&storagePlans.length>0){const planTitles=storagePlans.map(p=>p.title).join(", ");throw new AppError(400,`There are Backup Plans dependent on this Storage: ${planTitles}. Please remove them before deleting the Storage.`)}if(replicationPlans.length>0){const planTitles=replicationPlans.map(p=>p.title).join(", ");throw new AppError(400,`This Storage is used as a replication target by the following plans: ${planTitles}. Please remove it from their replication settings before deleting the storage.`)}const remoteResult=await this.storageManager.deleteRemote(storage.name);if(!remoteResult.success)throw new AppError(500,remoteResult.result||"Failed to delete remote storage");return await this.storageStore.delete(id),!0}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to delete storage")}}async verifyStorage(id){try{const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const verifyResult=await this.storageManager.verifyRemote(storage.name);if(!verifyResult.success)throw new AppError(500,verifyResult.result||"Failed to verify storage");return verifyResult.result}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to verify storage")}}async authorizeStorage(type){try{return await this.getRcloneStorageToken(type)}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to authorize storage")}}async getRcloneStorageToken(storageType){try{const tokenMatch=(await runCommand(["rclone","authorize",storageType,"--auth-no-open-browser"],void 0,log=>{})).match(/--->\n\n(.*?)\n\n<---/s);if(tokenMatch&&tokenMatch[1]){return JSON.parse(tokenMatch[1])}throw new AppError(500,`Could not extract ${storageType} token from output`)}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,`Failed to authorize ${storageType}: ${error.message}`)}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EACN,cAAc,IAAI,oBAAoB,EACtC,aAAa,IAAI,mBAAmB,GAEpC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,cAAc;IAEf;IACA;IACA;IACA;IAJX,YACW,cAAkC,EAClC,aAAgC,EAChC,YAA0B,EAC1B,SAAoB;QAHpB,mBAAc,GAAd,cAAc,CAAoB;QAClC,kBAAa,GAAb,aAAa,CAAmB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,cAAS,GAAT,SAAS,CAAW;IAC5B,CAAC;IAEJ,iBAAiB,CAAC,QAAgB;QACjC,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC;QACrC,OAAO,QAAQ;YACd,CAAC,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC;YACpC,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CACf,EAAU;QAEV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,cAAc,GAA2B,EAAE,CAAC;QAClD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE;oBAC3C,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACrC,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,SAAS,CAAC;YAC9D,OAAO,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,0GAA0G,CAC1G,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC7B,MAAM,qBAAqB,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QAC/C,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACd,GAAG,GAAG;YACN,CAAC,GAAG,CAAC,EAAE;gBACN,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI;gBACzB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS;gBACnC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ;gBACjC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG;aACvB;SACD,CAAC,EACF,EAAE,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAAgC;QACnD,kCAAkC;QAClC,IAAI,CAAC;YACJ,0CAA0C;YAC1C,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,IAAI,iBAAiB,GAAG,EAAE,GAAG,cAAc,EAAE,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC;gBACJ,iBAAiB,GAAG,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,gEAAgE,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC;YAChF,wCAAwC;YACxC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAC1D,IAAc,EACd,IAAc,EACd,QAAkB,EAClB,WAAqC,EACrC,QAAkC,CAClC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,IAAI,gCAAgC,CAAC,CAAC;YAClF,CAAC;YAED,8BAA8B;YAC9B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,WAAqC,CAAC;YACvD,MAAM,cAAc,GAA2B,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACjC,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,qCAAqC;YACrC,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACjD,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,IAAc;gBACpB,IAAI,EAAE,IAAc;gBACpB,QAAQ,EAAE,QAAkC;gBAC5C,WAAW,EAAE,cAAc;gBAC3B,QAAQ,EAAE,QAAkB;gBAC5B,IAAI,EAAE,IAAgB;aACtB,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,EAAU,EACV,cAAgC;QAEhC,IAAI,CAAC;YACJ,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,MAAM,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9C,CAAC;YACD,0CAA0C;YAC1C,IAAI,iBAAiB,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACJ,iBAAiB,GAAG,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC;YACpE,kDAAkD;YAClD,MAAM,kBAAkB,GAAa,EAAE,CAAC;YACxC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAClF,MAAM,kBAAkB,GAMpB,EAAE,CAAC;YACP,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;oBACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxC,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,MAAM,aAAa,GAAG,eAAe,EAAE,WAAW,CAAC;gBACnD,MAAM,gBAAgB,GAA2B,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACJ,IAAI,aAAa,EAAE,CAAC;wBACnB,MAAM,MAAM,GAAG,aAAuC,CAAC;wBACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;wBACjE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACrC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;gBACpE,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,cAAc,GACnB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAEjF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;oBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAClD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,EAAE;wBAC1E,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;wBAC5D,GAAG,EAAE;4BACJ,GAAG,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;4BACnC,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC/D;qBACD,CAAC,CAAC;oBACH,kBAAkB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;oBACzC,OAAO,SAAS,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACzC,CAAC;YAED,8BAA8B;YAC9B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,WAAqC,CAAC;YACvD,MAAM,cAAc,GAA2B,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACjC,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE;gBACzD,QAAQ,EAAE,QAAkC;gBAC5C,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,IAAgB;aACtB,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC7B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAEzE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7D,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,qDAAqD,UAAU,mDAAmD,CAClH,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,wEAAwE,UAAU,iFAAiF,CACnK,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,IAAI,iCAAiC,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEnC,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC7B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,IAAI,0BAA0B,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,YAAY,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QAClC,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO,cAAc,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,6BAA6B,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QACtD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,UAAU,CAC9B,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,CAAC,EAC9D,SAAS,EACT,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAClC,CAAC;YAEF,8CAA8C;YAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC1D,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,qBAAqB,WAAW,oBAAoB,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,uBAAuB,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;IACF,CAAC;CACD"}
|
|
@@ -28,5 +28,16 @@ export declare class BackupEventService {
|
|
|
28
28
|
|
|
29
29
|
*/
|
|
30
30
|
afterPermanentFailure(planId: string, backupId: string, error: string): Promise<void>;
|
|
31
|
+
onReplicationStatsUpdate(data: {
|
|
32
|
+
planId: string;
|
|
33
|
+
backupId: string;
|
|
34
|
+
mirrors: {
|
|
35
|
+
replicationId: string;
|
|
36
|
+
storageId: string;
|
|
37
|
+
storagePath: string;
|
|
38
|
+
size: number;
|
|
39
|
+
snapshots: string[];
|
|
40
|
+
}[];
|
|
41
|
+
}): Promise<void>;
|
|
31
42
|
}
|
|
32
43
|
//# sourceMappingURL=BackupEventService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupEventService.d.ts","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EAEb,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAkB;IAK7B,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,UAAU,CAAC,EAAE,iBAAiB;IANzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,WAAW,SAA6B;gBAGvC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAKnC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoHpD,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"BackupEventService.d.ts","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EAEb,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAkB;IAK7B,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,UAAU,CAAC,EAAE,iBAAiB;IANzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,WAAW,SAA6B;gBAGvC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAKnC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoHpD,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsF1D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CzF,mBAAmB,CAAC,IAAI,EAAE,qBAAqB;IAgC/C,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD;;;;;;OAMG;IACG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrF,wBAAwB,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE;YACR,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,EAAE,CAAC;SACpB,EAAE,CAAC;KACJ,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync}from"fs";import{readFile}from"fs/promises";import{sql}from"drizzle-orm";import{planLogger}from"../../utils/logger";import{BackupNotification}from"../../notifications/BackupNotification";import{appPaths}from"../../utils/AppPaths";import{backupInsertSchema}from"../../db/schema/backups";export class BackupEventService{planStore;backupStore;localAgent;backupNotification;progressDir=appPaths.getProgressDir();constructor(planStore,backupStore,localAgent){this.planStore=planStore,this.backupStore=backupStore,this.localAgent=localAgent,this.backupNotification=new BackupNotification}async onBackupStart(data){const{planId:planId,backupId:backupId,summary:summary}=data;if(!planId)return;const existingBackup=await this.backupStore.getById(backupId);if(existingBackup&&"main"===existingBackup.sourceId&&this.localAgent)return await this.backupStore.update(backupId,{inProgress:!0,status:"retrying",ended:null}),void this.localAgent.emit("backup_created",{planId:planId,backupId:backupId});if(await this.planStore.hasActiveBackups(planId))planLogger("backup",planId).error("Failed to Start Backup as a backup is already running for this plan.");else{const thePlan=await this.planStore.getById(planId);if(!thePlan)return;try{const{storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,sourceConfig:sourceConfig,settings:{encryption:encryption,compression:compression}}=thePlan,newBackupData={id:backupId,status:"started",inProgress:!0,planId:planId,storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,encryption:encryption,compression:compression,sourceConfig:sourceConfig,taskStats:summary,method:"backup"};let parsedBackupData={...newBackupData};try{const parsedBackupDataRaw=backupInsertSchema.parse(newBackupData);parsedBackupData={...parsedBackupDataRaw,sourceType:parsedBackupDataRaw.sourceType}}catch(error){return void planLogger("backup",planId).error(`Error parsing Backup Data provided by the source. ${error?.message||"Unknown Error"}`)}const backup=await this.backupStore.create(parsedBackupData);if(!backup)return void planLogger("backup",planId).error("Failed to Create Backup entry in Database.");"main"===sourceId&&this.localAgent&&this.localAgent.emit("backup_created",{planId:planId,backupId:backup.id});const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"start",{id:backup.id,startTime:backup.started||new Date,stats:summary}),planLogger("backup",planId,backup.id).info(`Started Backing Up "${plan?.title||"Unknown Plan"}"`)}catch(error){planLogger("backup",planId).error(`Error Starting Backup for Plan ${planId} : ${error?.message.toString()||"Unknown Error"}`)}}}async onBackupComplete(data){const{planId:planId,success:success,backupId:backupId,summary:summary}=data,progressFile=`${this.progressDir}/backup-${backupId}.json`;let summaryData=null,totalDuration=0;try{if(summary&&"summary"===summary.message_type)summaryData=summary,totalDuration=summary.total_duration||0;else try{if(existsSync(progressFile)){const backupProgressData=JSON.parse(await readFile(progressFile,"utf8"));if(backupProgressData.events&&backupProgressData.events.length>0){const eventsWithSummary=backupProgressData.events.filter(event=>event.resticData&&"summary"===event.resticData.message_type);if(eventsWithSummary.length>0){const lastEvent=eventsWithSummary[eventsWithSummary.length-1];summaryData=lastEvent.resticData,totalDuration=lastEvent.resticData.total_duration||0}}}}catch(error){planLogger("backup",planId,backupId).warn(`Could not read progress file to fetch the completion summary: ${error.message}`)}const backup=await this.backupStore.update(backupId,{inProgress:!1,status:success?"completed":"failed",success:!!success,ended:sql`(unixepoch())`,completionStats:summaryData||null});if(!backup)throw new Error("Failed to update Backup entry in Database.");const plan=await this.planStore.getById(data.planId);plan&&plan.settings.notification
|
|
1
|
+
import{existsSync}from"fs";import{readFile}from"fs/promises";import{sql}from"drizzle-orm";import{planLogger}from"../../utils/logger";import{BackupNotification}from"../../notifications/BackupNotification";import{appPaths}from"../../utils/AppPaths";import{backupInsertSchema}from"../../db/schema/backups";export class BackupEventService{planStore;backupStore;localAgent;backupNotification;progressDir=appPaths.getProgressDir();constructor(planStore,backupStore,localAgent){this.planStore=planStore,this.backupStore=backupStore,this.localAgent=localAgent,this.backupNotification=new BackupNotification}async onBackupStart(data){const{planId:planId,backupId:backupId,summary:summary}=data;if(!planId)return;const existingBackup=await this.backupStore.getById(backupId);if(existingBackup&&"main"===existingBackup.sourceId&&this.localAgent)return await this.backupStore.update(backupId,{inProgress:!0,status:"retrying",ended:null}),void this.localAgent.emit("backup_created",{planId:planId,backupId:backupId});if(await this.planStore.hasActiveBackups(planId))planLogger("backup",planId).error("Failed to Start Backup as a backup is already running for this plan.");else{const thePlan=await this.planStore.getById(planId);if(!thePlan)return;try{const{storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,sourceConfig:sourceConfig,settings:{encryption:encryption,compression:compression}}=thePlan,newBackupData={id:backupId,status:"started",inProgress:!0,planId:planId,storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,encryption:encryption,compression:compression,sourceConfig:sourceConfig,taskStats:summary,method:"backup"};let parsedBackupData={...newBackupData};try{const parsedBackupDataRaw=backupInsertSchema.parse(newBackupData);parsedBackupData={...parsedBackupDataRaw,sourceType:parsedBackupDataRaw.sourceType}}catch(error){return void planLogger("backup",planId).error(`Error parsing Backup Data provided by the source. ${error?.message||"Unknown Error"}`)}const backup=await this.backupStore.create(parsedBackupData);if(!backup)return void planLogger("backup",planId).error("Failed to Create Backup entry in Database.");"main"===sourceId&&this.localAgent&&this.localAgent.emit("backup_created",{planId:planId,backupId:backup.id});const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"start",{id:backup.id,startTime:backup.started||new Date,stats:summary}),planLogger("backup",planId,backup.id).info(`Started Backing Up "${plan?.title||"Unknown Plan"}"`)}catch(error){planLogger("backup",planId).error(`Error Starting Backup for Plan ${planId} : ${error?.message.toString()||"Unknown Error"}`)}}}async onBackupComplete(data){const{planId:planId,success:success,backupId:backupId,summary:summary}=data,progressFile=`${this.progressDir}/backup-${backupId}.json`;let summaryData=null,totalDuration=0;try{if(summary&&"summary"===summary.message_type)summaryData=summary,totalDuration=summary.total_duration||0;else try{if(existsSync(progressFile)){const backupProgressData=JSON.parse(await readFile(progressFile,"utf8"));if(backupProgressData.events&&backupProgressData.events.length>0){const eventsWithSummary=backupProgressData.events.filter(event=>event.resticData&&"summary"===event.resticData.message_type);if(eventsWithSummary.length>0){const lastEvent=eventsWithSummary[eventsWithSummary.length-1];summaryData=lastEvent.resticData,totalDuration=lastEvent.resticData.total_duration||0}}}}catch(error){planLogger("backup",planId,backupId).warn(`Could not read progress file to fetch the completion summary: ${error.message}`)}const backup=await this.backupStore.update(backupId,{inProgress:!1,status:success?"completed":"failed",success:!!success,ended:sql`(unixepoch())`,completionStats:summaryData||null});if(!backup)throw new Error("Failed to update Backup entry in Database.");const plan=await this.planStore.getById(data.planId);if(plan&&plan.settings.notification){const replicationFailures=(backup.mirrors||[]).filter(m=>"failed"===m.status).map(m=>({replicationId:m.replicationId,storageId:m.storageId,storageName:m.storageName,storageType:m.storageType,error:m.error}));await this.backupNotification.send(plan,"success",{id:data.backupId,startTime:backup.started||new Date,stats:backup.completionStats||void 0,...replicationFailures.length>0?{replicationFailures:replicationFailures}:{}})}success?planLogger("backup",planId,backupId).info(`Backup Completed for Backup Plan. Total Duration: ${totalDuration} seconds.`):planLogger("backup",planId,backupId).error("Backup Failed for Backup Plan. Reason: Unknown.")}catch(error){planLogger("backup",data.planId,data.backupId).error(`Error processing backup completion for Backup. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onBackupError(data){try{if(!await this.backupStore.update(data.backupId,{status:"retrying",errorMsg:data.error}))throw new Error("Failed to update Backup entry in Database.");planLogger("backup",data.planId,data.backupId).info(`Backup Failed for Plan. Reason: ${data.error||"Unknown Error"}`)}catch(error){planLogger("backup",data.planId,data.backupId).error(`Error processing backup failure for Backup. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onBackupFailure(data){const{planId:planId,backupId:backupId,error:error}=data;try{const backup=await this.backupStore.update(backupId,{status:"failed",errorMsg:error,success:!1,inProgress:!1,ended:sql`(unixepoch())`});if(!backup)throw new Error("Failed to update Backup entry in Database.");await this.afterPermanentFailure(planId,backupId,error);const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"failure",{id:backupId,startTime:backup.started||new Date,stats:backup.taskStats||void 0,error:error}),planLogger("backup",planId,backupId).info(`Backup Failed for Plan. Reason: ${error||"Unknown Error"}`)}catch(err){planLogger("backup",planId,backupId).error(`Error processing backup failure for Backup. Reason : ${err?.message.toString()||"Unknown Error"}`)}}async onBackupStatsUpdate(data){const{total_size:total_size,snapshots:snapshots=[],backupId:backupId,planId:planId,error:error="",mirrors:mirrors}=data;if(planId&&total_size&&!Number.isNaN(total_size)&&snapshots.length>0)try{await this.planStore.update(data.planId,{stats:{size:total_size,snapshots:snapshots,...mirrors?{mirrors:mirrors}:{}},lastBackupTime:sql`(unixepoch())`}),planLogger("update",planId,backupId).info(`Updated plan stats for Backup Plan. Total Size: ${total_size} bytes, Total Snapshots: ${snapshots.length||0} `)}catch(error){planLogger("update",planId,backupId).error(`Error updating plan stats for Backup Plan. Reason : ${error?.message.toString()||"Unknown Error"}`)}else planId&&planLogger("update",planId,backupId).error(`Failed to Update plan stats for Backup Plan. Reason: ${error||"Unknown Error"} `)}async onPruneEnd(data){if(data.success){planLogger("prune",data.planId).info("Successfully pruned Backups.");const{planId:planId,stats:stats}=data,{total_size:total_size,snapshots:snapshots=[]}=stats||{};if(planId&&total_size&&!Number.isNaN(total_size)&&snapshots.length>0)try{await this.planStore.update(data.planId,{stats:{size:total_size,snapshots:snapshots},lastBackupTime:sql`(unixepoch())`}),planLogger("update",planId).info(`Updated plan stats for Backup Plan. Total Size: ${total_size} bytes, Total Snapshots: ${snapshots.length||0} `)}catch(error){}}else planLogger("prune",data.planId).error(`Failed to prune Backups. Reason: ${data.error}`)}async afterPermanentFailure(planId,backupId,error){this.localAgent&&this.localAgent.emit(`backup_failed_processed_${backupId}`,{planId:planId,backupId:backupId,error:error})}async onReplicationStatsUpdate(data){const{planId:planId,backupId:backupId,mirrors:mirrors}=data;if(planId&&mirrors&&0!==mirrors.length)try{const plan=await this.planStore.getById(planId);plan&&plan.stats&&(await this.planStore.update(planId,{stats:{...plan.stats,mirrors:mirrors}}),planLogger("update",planId,backupId).info(`Updated plan mirror stats. ${mirrors.length} mirror(s) tracked.`))}catch(error){planLogger("update",planId,backupId).error(`Error updating plan mirror stats: ${error?.message||"Unknown Error"}`)}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupEventService.js","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BackupEventService.js","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseBackupManager } from '../../managers/BaseBackupManager';
|
|
2
|
+
import { BackupStore } from '../../stores/BackupStore';
|
|
3
|
+
import { StorageStore } from '../../stores/StorageStore';
|
|
4
|
+
import { PlanStore } from '../../stores/PlanStore';
|
|
5
|
+
import { BackupNotification } from '../../notifications/BackupNotification';
|
|
6
|
+
import { BackupMirror } from '../../types/backups';
|
|
7
|
+
import { ReplicationStartEvent, ReplicationCompleteEvent, ReplicationInitEvent, ReplicationRetryEvent } from '../../types/events';
|
|
8
|
+
export declare class ReplicationEventService {
|
|
9
|
+
protected planStore: PlanStore;
|
|
10
|
+
protected backupStore: BackupStore;
|
|
11
|
+
protected storageStore: StorageStore;
|
|
12
|
+
protected localAgent?: BaseBackupManager | undefined;
|
|
13
|
+
protected backupNotification: BackupNotification;
|
|
14
|
+
constructor(planStore: PlanStore, backupStore: BackupStore, storageStore: StorageStore, localAgent?: BaseBackupManager | undefined);
|
|
15
|
+
/**
|
|
16
|
+
* Resolves storage names and creates initial mirror entries on the backup record.
|
|
17
|
+
* Emits `replication_init_complete` back to signal BackupHandler to proceed.
|
|
18
|
+
*/
|
|
19
|
+
onReplicationInit(data: ReplicationInitEvent): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Handles replication retry by creating a fresh ReplicationHandler,
|
|
22
|
+
* resolving storage names, and running the replications.
|
|
23
|
+
*/
|
|
24
|
+
onReplicationRetry(data: ReplicationRetryEvent): Promise<void>;
|
|
25
|
+
onReplicationStart(data: ReplicationStartEvent): Promise<void>;
|
|
26
|
+
onReplicationComplete(data: ReplicationCompleteEvent): Promise<void>;
|
|
27
|
+
onReplicationPartialFailure(data: {
|
|
28
|
+
planId: string;
|
|
29
|
+
backupId: string;
|
|
30
|
+
mirrors: BackupMirror[];
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ReplicationEventService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplicationEventService.d.ts","sourceRoot":"","sources":["../../../src/services/events/ReplicationEventService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EAErB,MAAM,oBAAoB,CAAC;AAK5B,qBAAa,uBAAuB;IAIlC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,UAAU,CAAC,EAAE,iBAAiB;IANzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBAGtC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAKzC;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqElE;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8G9D,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9D,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpE,2BAA2B,CAAC,IAAI,EAAE;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,YAAY,EAAE,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{BackupNotification}from"../../notifications/BackupNotification";import{planLogger}from"../../utils/logger";import{ReplicationHandler}from"../../managers/handlers/ReplicationHandler";import{ProgressManager}from"../../managers/ProgressManager";import{appPaths}from"../../utils/AppPaths";export class ReplicationEventService{planStore;backupStore;storageStore;localAgent;backupNotification;constructor(planStore,backupStore,storageStore,localAgent){this.planStore=planStore,this.backupStore=backupStore,this.storageStore=storageStore,this.localAgent=localAgent,this.backupNotification=new BackupNotification}async onReplicationInit(data){try{const resolvedStorages=[];for(const ms of data.replicationStorages)try{const storage=await this.storageStore.getById(ms.storageId);resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:storage?.name||"",storageType:storage?.type||""})}catch(error){resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:"",storageType:""}),planLogger("replication",data.planId,data.backupId).error(`Error resolving storage ${ms.storageId}: ${error?.message||"Unknown Error"}`)}if(data.isRetry)for(const s of resolvedStorages)await this.backupStore.updateMirrorStatus(data.backupId,s.replicationId,{status:"pending",started:void 0,ended:void 0,error:void 0,storageName:s.storageName,storageType:s.storageType});else{const initialMirrors=resolvedStorages.map(s=>({replicationId:s.replicationId,storageId:s.storageId,storageName:s.storageName,storagePath:s.storagePath,storageType:s.storageType,status:"pending"}));await this.backupStore.update(data.backupId,{mirrors:initialMirrors})}this.localAgent&&this.localAgent.emit("replication_init_complete",{planId:data.planId,backupId:data.backupId,resolvedStorages:resolvedStorages})}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication init event: ${error?.message||"Unknown Error"}`)}}async onReplicationRetry(data){try{const resolvedStorages=[];for(const ms of data.replicationStorages)try{const storage=await this.storageStore.getById(ms.storageId);resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:storage?.name||"",storageType:storage?.type||""})}catch(error){resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:"",storageType:""})}const progressManager=new ProgressManager(appPaths.getProgressDir());await progressManager.initialize();const replicationHandler=new ReplicationHandler(this.localAgent,progressManager,new Set);await progressManager.updateAction(data.planId,data.backupId,"replication","REPLICATION_MANUAL_RETRY_START",!1);for(const storage of resolvedStorages)await this.backupStore.updateMirrorStatus(data.backupId,storage.replicationId,{status:"pending",started:void 0,ended:void 0,error:void 0});const results=await replicationHandler.replicateSnapshot(data.planId,data.backupId,data.sourceRepoPath,data.encryption,resolvedStorages,data.pruneSettings,data.concurrent,{attempts:0,maxAttempts:0});for(const mirror of results)await this.backupStore.updateMirrorStatus(data.backupId,mirror.replicationId,{status:mirror.status,started:mirror.started,ended:mirror.ended,error:mirror.error});const allSucceeded=results.every(m=>"completed"===m.status);allSucceeded||this.localAgent&&this.localAgent.emit("replication_partial_failure",{planId:data.planId,backupId:data.backupId,mirrors:results}),await progressManager.updateAction(data.planId,data.backupId,"replication",allSucceeded?"REPLICATION_MANUAL_RETRY_COMPLETE":"REPLICATION_MANUAL_RETRY_PARTIAL_FAILURE",!0,allSucceeded?void 0:`${results.filter(m=>"failed"===m.status).length} replication(s) still failed`),planLogger("replication",data.planId,data.backupId).info(`Replication retry completed. ${results.filter(m=>"completed"===m.status).length}/${results.length} succeeded.`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Replication retry failed: ${error?.message||"Unknown Error"}`)}}async onReplicationStart(data){try{await this.backupStore.updateMirrorStatus(data.backupId,data.replicationId,{storageId:data.storageId,storageName:data.storageName,storagePath:data.storagePath,storageType:data.storageType,status:"started",started:Date.now()}),planLogger("replication",data.planId,data.backupId).info(`Replication started for storage ${data.storageName} (${data.storageId})`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication start event: ${error?.message||"Unknown Error"}`)}}async onReplicationComplete(data){try{await this.backupStore.updateMirrorStatus(data.backupId,data.replicationId,{storageId:data.storageId,storageName:data.storageName,storagePath:data.storagePath,storageType:data.storageType,status:data.success?"completed":"failed",ended:Date.now(),error:data.error}),data.success?planLogger("replication",data.planId,data.backupId).info(`Replication completed for storage ${data.storageName} (${data.storageId})`):planLogger("replication",data.planId,data.backupId).error(`Replication failed for storage ${data.storageName} (${data.storageId}): ${data.error||"Unknown Error"}`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication complete event: ${error?.message||"Unknown Error"}`)}}async onReplicationPartialFailure(data){try{const failedMirrors=data.mirrors.filter(m=>"failed"===m.status),plan=await this.planStore.getById(data.planId);if(plan&&plan.settings.notification){const failedStorageNames=failedMirrors.map(m=>m.storageName).join(", ");await this.backupNotification.send(plan,"replication_failure",{id:data.backupId,startTime:new Date,error:`Replication failed for storages: ${failedStorageNames}`,failedMirrors:failedMirrors})}planLogger("replication",data.planId,data.backupId).error(`Replication partial failure: ${failedMirrors.length} replication(s) failed`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication partial failure: ${error?.message||"Unknown Error"}`)}}}
|