@plutonhq/core-backend 0.1.15 → 0.1.16

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.
Files changed (59) hide show
  1. package/dist/controllers/PlanController.d.ts +1 -0
  2. package/dist/controllers/PlanController.d.ts.map +1 -1
  3. package/dist/controllers/PlanController.js +1 -1
  4. package/dist/controllers/PlanController.js.map +1 -1
  5. package/dist/controllers/SettingsController.d.ts +2 -0
  6. package/dist/controllers/SettingsController.d.ts.map +1 -1
  7. package/dist/controllers/SettingsController.js +1 -1
  8. package/dist/controllers/SettingsController.js.map +1 -1
  9. package/dist/controllers/UserController.d.ts +4 -0
  10. package/dist/controllers/UserController.d.ts.map +1 -1
  11. package/dist/controllers/UserController.js +1 -1
  12. package/dist/controllers/UserController.js.map +1 -1
  13. package/dist/createApp.d.ts.map +1 -1
  14. package/dist/createApp.js +1 -1
  15. package/dist/createApp.js.map +1 -1
  16. package/dist/managers/BaseBackupManager.d.ts +4 -1
  17. package/dist/managers/BaseBackupManager.d.ts.map +1 -1
  18. package/dist/managers/BaseBackupManager.js +1 -1
  19. package/dist/managers/BaseBackupManager.js.map +1 -1
  20. package/dist/routes/plans.d.ts.map +1 -1
  21. package/dist/routes/plans.js +1 -1
  22. package/dist/routes/plans.js.map +1 -1
  23. package/dist/routes/settings.d.ts.map +1 -1
  24. package/dist/routes/settings.js +1 -1
  25. package/dist/routes/settings.js.map +1 -1
  26. package/dist/routes/users.d.ts.map +1 -1
  27. package/dist/routes/users.js +1 -1
  28. package/dist/routes/users.js.map +1 -1
  29. package/dist/services/PlanService.d.ts +8 -0
  30. package/dist/services/PlanService.d.ts.map +1 -1
  31. package/dist/services/PlanService.js +1 -1
  32. package/dist/services/PlanService.js.map +1 -1
  33. package/dist/services/SettingsService.d.ts +8 -0
  34. package/dist/services/SettingsService.d.ts.map +1 -1
  35. package/dist/services/SettingsService.js +1 -1
  36. package/dist/services/SettingsService.js.map +1 -1
  37. package/dist/services/events/BackupEventService.d.ts +11 -0
  38. package/dist/services/events/BackupEventService.d.ts.map +1 -1
  39. package/dist/services/events/BackupEventService.js +1 -1
  40. package/dist/services/events/BackupEventService.js.map +1 -1
  41. package/dist/services/listeners/BackupEventListener.d.ts +11 -9
  42. package/dist/services/listeners/BackupEventListener.d.ts.map +1 -1
  43. package/dist/services/listeners/BackupEventListener.js +1 -1
  44. package/dist/services/listeners/BackupEventListener.js.map +1 -1
  45. package/dist/strategies/backup/BackupStrategy.d.ts +4 -0
  46. package/dist/strategies/backup/BackupStrategy.d.ts.map +1 -1
  47. package/dist/strategies/backup/LocalStrategy.d.ts +4 -0
  48. package/dist/strategies/backup/LocalStrategy.d.ts.map +1 -1
  49. package/dist/strategies/backup/LocalStrategy.js +1 -1
  50. package/dist/strategies/backup/LocalStrategy.js.map +1 -1
  51. package/dist/strategies/backup/RemoteStrategy.d.ts +4 -0
  52. package/dist/strategies/backup/RemoteStrategy.d.ts.map +1 -1
  53. package/dist/strategies/backup/RemoteStrategy.js +1 -1
  54. package/dist/strategies/backup/RemoteStrategy.js.map +1 -1
  55. package/dist/utils/restic/restic.d.ts +5 -0
  56. package/dist/utils/restic/restic.d.ts.map +1 -1
  57. package/dist/utils/restic/restic.js +1 -1
  58. package/dist/utils/restic/restic.js.map +1 -1
  59. package/package.json +6 -1
@@ -17,5 +17,6 @@ export declare class PlanController {
17
17
  deleteReplicationStorage(req: Request, res: Response): Promise<void>;
18
18
  getLogs(req: Request, res: Response): Promise<void>;
19
19
  downloadLogs(req: Request, res: Response): Promise<void>;
20
+ checkIntegrity(req: Request, res: Response): Promise<void>;
20
21
  }
21
22
  //# sourceMappingURL=PlanController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanController.d.ts","sourceRoot":"","sources":["../../src/controllers/PlanController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,qBAAa,cAAc;IACd,SAAS,CAAC,WAAW,EAAE,WAAW;gBAAxB,WAAW,EAAE,WAAW;IAExC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,2BAA2B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtD,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvD,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtD,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAsB9D"}
1
+ {"version":3,"file":"PlanController.d.ts","sourceRoot":"","sources":["../../src/controllers/PlanController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,qBAAa,cAAc;IACd,SAAS,CAAC,WAAW,EAAE,WAAW;gBAAxB,WAAW,EAAE,WAAW;IAExC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,2BAA2B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtD,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvD,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtD,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBxD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBhE"}
@@ -1 +1 @@
1
- export class PlanController{planService;constructor(planService){this.planService=planService}async getPlans(req,res){try{const allPlans=await this.planService.getAllPlans();res.status(200).json({success:!0,result:allPlans||[]})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:"Internal Server Error. Details: "+(appError?.message||"Unknown Error")})}}async getPlan(req,res){if(req.params.id)try{const thePlan=await this.planService.getPlan(req.params.id,!0);res.status(200).json({success:!0,result:thePlan})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Internal Server Error"})}else res.status(400).json({success:!1,error:"Plan ID is required"})}async checkActiveBackupsOrRestore(req,res){if(req.params.id)try{const type="restore"===req.query.type?"restore":"backup",hasActiveBackup=await this.planService.checkActiveBackupsOrRestore(req.params.id,type);res.status(200).json({success:!0,result:hasActiveBackup})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:"Internal Server Error. Details: "+(appError?.message||"Unknown Error")})}else res.status(400).json({success:!1,error:"Plan ID is required"})}async createPlan(req,res){const planPayload=req.body;try{if(!(planPayload&&planPayload.settings&&planPayload.settings.interval&&planPayload.storage.id&&planPayload.sourceType&&planPayload.sourceConfig))return void res.status(400).json({success:!1,error:"Required fields missing: interval, storage Id, sourceId, sourceType, sourceConfig"});const plan=await this.planService.createPlan(planPayload);res.status(201).json({success:!0,result:plan})}catch(error){const appError=error;return void res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to create plan"})}}async updatePlan(req,res){const planPayload=req.body.plan;try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required."});if(!planPayload)return void res.status(400).json({success:!1,error:"Payload Missing."});const updatedPlan=await this.planService.updatePlan(req.params.id,planPayload);res.status(200).json({success:!0,result:updatedPlan})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to update plan"})}}async deletePlan(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const removeRemoteData=!!req.query.removeData;await this.planService.deletePlan(req.params.id,removeRemoteData),res.status(200).json({success:!0,message:"Plan deleted successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to delete plan"})}}async performBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});await this.planService.performBackup(req.params.id),res.status(200).json({success:!0,message:"Backup initiated successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to initiate backup"})}}async pauseBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});await this.planService.pauseBackup(req.params.id),res.status(200).json({success:!0,message:"Backup paused successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to pause backup"})}}async resumeBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});await this.planService.resumeBackup(req.params.id),res.status(200).json({success:!0,message:"Backup resumed successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to pause backup"})}}async pruneBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const pruneResult=await this.planService.pruneBackups(req.params.id);res.status(200).json({success:!0,message:pruneResult||"Backup pruned successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to prune backups"})}}async unlockRepo(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const result=await this.planService.unlockRepo(req.params.id);res.status(result.success?200:500).json(result)}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to unlock repository"})}}async deleteReplicationStorage(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const{storageID:storageID,storagePath:storagePath,removeData:removeData,replicationId:replicationId}=req.body;if(!storageID||!storagePath)return void res.status(400).json({success:!1,error:"storageID and storagePath are required"});const result=await this.planService.deleteReplicationStorage(req.params.id,storageID,storagePath,!0===removeData,replicationId);res.status(200).json(result)}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to remove replication storage"})}}async getLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const logs=await this.planService.getPlanLogs(req.params.id);res.status(200).json({success:!0,logs:logs})}catch(error){const appError=error;return void res.status(appError.statusCode||500).json({success:!1,error:"Failed to get logs: "+appError.message})}}async downloadLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const fileStream=await this.planService.downloadPlanLogs(req.params.id);res.setHeader("Content-Type","text/plain"),res.setHeader("Content-Disposition",'attachment; filename="plan.log"'),fileStream.pipe(res)}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:`Failed to download logs: ${appError.message}`})}}}
1
+ export class PlanController{planService;constructor(planService){this.planService=planService}async getPlans(req,res){try{const allPlans=await this.planService.getAllPlans();res.status(200).json({success:!0,result:allPlans||[]})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:"Internal Server Error. Details: "+(appError?.message||"Unknown Error")})}}async getPlan(req,res){if(req.params.id)try{const thePlan=await this.planService.getPlan(req.params.id,!0);res.status(200).json({success:!0,result:thePlan})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Internal Server Error"})}else res.status(400).json({success:!1,error:"Plan ID is required"})}async checkActiveBackupsOrRestore(req,res){if(req.params.id)try{const type="restore"===req.query.type?"restore":"backup",hasActiveBackup=await this.planService.checkActiveBackupsOrRestore(req.params.id,type);res.status(200).json({success:!0,result:hasActiveBackup})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:"Internal Server Error. Details: "+(appError?.message||"Unknown Error")})}else res.status(400).json({success:!1,error:"Plan ID is required"})}async createPlan(req,res){const planPayload=req.body;try{if(!(planPayload&&planPayload.settings&&planPayload.settings.interval&&planPayload.storage.id&&planPayload.sourceType&&planPayload.sourceConfig))return void res.status(400).json({success:!1,error:"Required fields missing: interval, storage Id, sourceId, sourceType, sourceConfig"});const plan=await this.planService.createPlan(planPayload);res.status(201).json({success:!0,result:plan})}catch(error){const appError=error;return void res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to create plan"})}}async updatePlan(req,res){const planPayload=req.body.plan;try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required."});if(!planPayload)return void res.status(400).json({success:!1,error:"Payload Missing."});const updatedPlan=await this.planService.updatePlan(req.params.id,planPayload);res.status(200).json({success:!0,result:updatedPlan})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to update plan"})}}async deletePlan(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const removeRemoteData=!!req.query.removeData;await this.planService.deletePlan(req.params.id,removeRemoteData),res.status(200).json({success:!0,message:"Plan deleted successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to delete plan"})}}async performBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});await this.planService.performBackup(req.params.id),res.status(200).json({success:!0,message:"Backup initiated successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError?.message||"Failed to initiate backup"})}}async pauseBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});await this.planService.pauseBackup(req.params.id),res.status(200).json({success:!0,message:"Backup paused successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to pause backup"})}}async resumeBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});await this.planService.resumeBackup(req.params.id),res.status(200).json({success:!0,message:"Backup resumed successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to pause backup"})}}async pruneBackup(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const pruneResult=await this.planService.pruneBackups(req.params.id);res.status(200).json({success:!0,message:pruneResult||"Backup pruned successfully"})}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to prune backups"})}}async unlockRepo(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const result=await this.planService.unlockRepo(req.params.id);res.status(result.success?200:500).json(result)}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to unlock repository"})}}async deleteReplicationStorage(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const{storageID:storageID,storagePath:storagePath,removeData:removeData,replicationId:replicationId}=req.body;if(!storageID||!storagePath)return void res.status(400).json({success:!1,error:"storageID and storagePath are required"});const result=await this.planService.deleteReplicationStorage(req.params.id,storageID,storagePath,!0===removeData,replicationId);res.status(200).json(result)}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:appError.message||"Failed to remove replication storage"})}}async getLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const logs=await this.planService.getPlanLogs(req.params.id);res.status(200).json({success:!0,logs:logs})}catch(error){const appError=error;return void res.status(appError.statusCode||500).json({success:!1,error:"Failed to get logs: "+appError.message})}}async downloadLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Plan ID is required"});const fileStream=await this.planService.downloadPlanLogs(req.params.id);res.setHeader("Content-Type","text/plain"),res.setHeader("Content-Disposition",'attachment; filename="plan.log"'),fileStream.pipe(res)}catch(error){const appError=error;res.status(appError.statusCode||500).json({success:!1,error:`Failed to download logs: ${appError.message}`})}}async checkIntegrity(req,res){if(req.params.id)try{const result=await this.planService.checkIntegrity(req.params.id);res.status(result.success?200:500).json(result)}catch(error){return void res.status(500).json({success:!1,error:"Internal Server Error"})}else res.status(400).json({success:!1,error:"Plan ID is required"})}}
@@ -1 +1 @@
1
- {"version":3,"file":"PlanController.js","sourceRoot":"","sources":["../../src/controllers/PlanController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanController.js","sourceRoot":"","sources":["../../src/controllers/PlanController.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,7 @@ export declare class SettingsController {
9
9
  validateIntegration(req: Request, res: Response): Promise<void>;
10
10
  getAppLogs(req: Request, res: Response): Promise<void>;
11
11
  downloadAppLogs(req: Request, res: Response): Promise<void>;
12
+ setupTwoFactorAuth(req: Request, res: Response): Promise<void>;
13
+ finalizeTwoFactorSetup(req: Request, res: Response): Promise<void>;
12
14
  }
13
15
  //# sourceMappingURL=SettingsController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsController.d.ts","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,kBAAkB;IAClB,SAAS,CAAC,eAAe,EAAE,eAAe;gBAAhC,eAAe,EAAE,eAAe;IAEhD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B1D,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/D,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BjE"}
1
+ {"version":3,"file":"SettingsController.d.ts","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBAAa,kBAAkB;IAClB,SAAS,CAAC,eAAe,EAAE,eAAe;gBAAhC,eAAe,EAAE,eAAe;IAEhD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B1D,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/D,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3D,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9D,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAiCxE"}
@@ -1 +1 @@
1
- export class SettingsController{settingsService;constructor(settingsService){this.settingsService=settingsService}async getMainSettings(req,res){try{const appSettings=await this.settingsService.getMainSettings();return void res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve App settings."})}}async getSettings(req,res){if(req.params.id)try{const appSettings=await this.settingsService.getSettings(parseInt(req.params.id,10));res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve settings for the given ID."})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async updateSettings(req,res){if(!req.params.id||!req.body.settings)return void res.status(400).json({success:!1,error:"Settings ID or Settings Data Missing"});const appSettings=req.body.settings;try{const updatedSettings=await this.settingsService.updateSettings(parseInt(req.params.id,10),appSettings);return void res.status(updatedSettings?200:404).json({success:!0,result:updatedSettings})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:"Failed to update settings"})}}async validateIntegration(req,res){if(!(req.body.settingsID&&req.body.type&&req.body.settings&&req.body.test))return void res.status(400).json({success:!1,error:"Integration Payload Missing."});const appSettings=req.body.settings,integrationType=req.body.type;try{return await this.settingsService.validateIntegration(parseInt(req.body.settingsID,10),integrationType,req.body.test,appSettings),void res.status(200).json({success:!0,result:"Email Sent Successfully"})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:`Failed to send test email using ${integrationType}.`})}}async getAppLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Settings ID is required"});const logs=await this.settingsService.getAppLogs(parseInt(req.params.id,10));return void res.status(200).json({success:!0,result:logs})}catch(error){return void res.status(500).json({success:!1,error:"Failed to get logs: "+error.message})}}async downloadAppLogs(req,res){if(req.params.id)try{const logFileStream=await this.settingsService.getAppLogsFile();return res.setHeader("Content-Type","text/plain"),res.setHeader("Content-Disposition",'attachment; filename="app.log"'),void logFileStream.pipe(res)}catch(error){return void res.status(500).json({success:!1,error:`Failed to download logs: ${error.message}`})}else res.status(400).json({success:!1,error:"Settings ID is required"})}}
1
+ export class SettingsController{settingsService;constructor(settingsService){this.settingsService=settingsService}async getMainSettings(req,res){try{const appSettings=await this.settingsService.getMainSettings();return void res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve App settings."})}}async getSettings(req,res){if(req.params.id)try{const appSettings=await this.settingsService.getSettings(parseInt(req.params.id,10));res.status(appSettings?200:404).json({success:!0,result:appSettings})}catch(error){res.status(500).json({success:!1,error:"couldn't Retrieve settings for the given ID."})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async updateSettings(req,res){if(!req.params.id||!req.body.settings)return void res.status(400).json({success:!1,error:"Settings ID or Settings Data Missing"});const appSettings=req.body.settings;try{const updatedSettings=await this.settingsService.updateSettings(parseInt(req.params.id,10),appSettings);return void res.status(updatedSettings?200:404).json({success:!0,result:updatedSettings})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:"Failed to update settings"})}}async validateIntegration(req,res){if(!(req.body.settingsID&&req.body.type&&req.body.settings&&req.body.test))return void res.status(400).json({success:!1,error:"Integration Payload Missing."});const appSettings=req.body.settings,integrationType=req.body.type;try{return await this.settingsService.validateIntegration(parseInt(req.body.settingsID,10),integrationType,req.body.test,appSettings),void res.status(200).json({success:!0,result:"Email Sent Successfully"})}catch(error){return void res.status(500).json({success:!1,error:error instanceof Error?error.message:`Failed to send test email using ${integrationType}.`})}}async getAppLogs(req,res){try{if(!req.params.id)return void res.status(400).json({success:!1,error:"Settings ID is required"});const logs=await this.settingsService.getAppLogs(parseInt(req.params.id,10));return void res.status(200).json({success:!0,result:logs})}catch(error){return void res.status(500).json({success:!1,error:"Failed to get logs: "+error.message})}}async downloadAppLogs(req,res){if(req.params.id)try{const logFileStream=await this.settingsService.getAppLogsFile();return res.setHeader("Content-Type","text/plain"),res.setHeader("Content-Disposition",'attachment; filename="app.log"'),void logFileStream.pipe(res)}catch(error){return void res.status(500).json({success:!1,error:`Failed to download logs: ${error.message}`})}else res.status(400).json({success:!1,error:"Settings ID is required"})}async setupTwoFactorAuth(req,res){try{const{qrCodeDataUrl:qrCodeDataUrl,setupKey:setupKey,tempSecret:tempSecret}=await this.settingsService.setupTwoFactorAuth();req.session.totpSecret=tempSecret,res.status(200).json({success:!0,result:{qrCodeDataUrl:qrCodeDataUrl,setupKey:setupKey}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}}async finalizeTwoFactorSetup(req,res){const{code:code}=req.body,settingsId=parseInt(req.params.id,10),tempSecret=req.session.totpSecret;if(tempSecret)try{const{recoveryCodes:recoveryCodes}=await this.settingsService.finalizeTwoFactorSetup(tempSecret,code,settingsId);delete req.session.totpSecret,res.status(200).json({success:!0,result:{recoveryCodes:recoveryCodes}})}catch(error){res.status(error.statusCode||500).json({success:!1,error:error.message})}else res.status(400).json({success:!1,error:"Your session has expired. Please start the setup process again."})}}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsController.js","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsController.js","sourceRoot":"","sources":["../../src/controllers/SettingsController.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  import { Request, Response } from 'express';
2
+ import { SettingsService } from '../services/SettingsService';
2
3
  export declare class UserController {
4
+ private settingsService;
5
+ constructor(settingsService: SettingsService);
3
6
  validateUser(req: Request, res: Response): Promise<void>;
4
7
  loginUser(req: Request, res: Response): Promise<void>;
8
+ verifyTotp(req: Request, res: Response): Promise<void>;
5
9
  logoutUser(req: Request, res: Response): Promise<void>;
6
10
  }
7
11
  //# sourceMappingURL=UserController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,qBAAa,cAAc;IACpB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BrD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5D"}
1
+ {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,qBAAa,cAAc;IACd,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAC9C,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BrD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DtD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5D"}
@@ -1 +1 @@
1
- import{configService}from"../services/ConfigService";import jwt from"jsonwebtoken";export class UserController{async validateUser(req,res){res.status(200).json({success:!0})}async loginUser(req,res){const{username:username,password:password}=req.body;if(!username||!password)return void res.status(401).json({error:"Username & Password Missing"});const theUserName=configService.config.USER_NAME;if(username===theUserName&&configService.verifyPassword(password)){const sessionDuration=configService.config.SESSION_DURATION||7,token=jwt.sign({user:theUserName},configService.config.SECRET,{expiresIn:`${sessionDuration}d`});return res.cookie("token",token,{httpOnly:!0,sameSite:"lax",maxAge:24*sessionDuration*60*60*1e3,secure:configService.config.APP_URL?.startsWith("https")}),void res.status(200).json({success:!0,error:null})}res.status(401).json({success:!1,error:"Incorrect Username or Password"})}async logoutUser(req,res){res.clearCookie("token",{httpOnly:!0,sameSite:"lax"}),res.status(200).json({success:!0,message:"Logged out successfully"})}}
1
+ import Cryptr from"cryptr";import*as otpauth from"otpauth";import{configService}from"../services/ConfigService";import jwt from"jsonwebtoken";export class UserController{settingsService;constructor(settingsService){this.settingsService=settingsService}async validateUser(req,res){res.status(200).json({success:!0})}async loginUser(req,res){const{username:username,password:password}=req.body;if(!username||!password)return void res.status(401).json({error:"Username & Password Missing"});const theUserName=configService.config.USER_NAME;if(username===theUserName&&configService.verifyPassword(password)){const sessionDuration=configService.config.SESSION_DURATION||7,token=jwt.sign({user:theUserName},configService.config.SECRET,{expiresIn:`${sessionDuration}d`});return res.cookie("token",token,{httpOnly:!0,sameSite:"lax",maxAge:24*sessionDuration*60*60*1e3,secure:configService.config.APP_URL?.startsWith("https")}),void res.status(200).json({success:!0,error:null})}res.status(401).json({success:!1,error:"Incorrect Username or Password"})}async verifyTotp(req,res){const{code:code}=req.body,appSettings=await this.settingsService.getMainSettings(),totpConfig=appSettings?.settings?.totp;if(totpConfig&&totpConfig.enabled&&totpConfig.secret)try{const decryptedSecret=new Cryptr(configService.config.SECRET).decrypt(totpConfig.secret),appName=appSettings?.settings?.title||"Pluton",userIdentifier="admin",totp=new otpauth.TOTP({issuer:appName,label:userIdentifier,secret:otpauth.Secret.fromBase32(decryptedSecret),algorithm:"SHA1",digits:6,period:30});if(null===totp.validate({token:code,window:1}))return void res.status(401).json({success:!1,error:"Invalid verification code."});const sessionDuration=configService.config.SESSION_DURATION||7,token=jwt.sign({user:"admin"},configService.config.SECRET,{expiresIn:`${sessionDuration}d`});res.cookie("token",token,{httpOnly:!0,sameSite:"lax",maxAge:24*sessionDuration*60*60*1e3,secure:configService.config.APP_URL?.startsWith("https")}),res.status(200).json({success:!0,error:null})}catch(error){res.status(500).json({success:!1,error:"An error occurred during verification."})}else res.status(400).json({error:"2FA is not enabled for this account."})}async logoutUser(req,res){res.clearCookie("token",{httpOnly:!0,sameSite:"lax"}),res.status(200).json({success:!0,message:"Logged out successfully"})}}
@@ -1 +1 @@
1
- {"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,GAAG,MAAM,cAAc,CAAC;AAE/B,MAAM,OAAO,cAAc;IAC1B,KAAK,CAAC,YAAY,CAAC,GAAY,EAAE,GAAa;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC/D,OAAO;QACR,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;QAEnD,IAAI,QAAQ,KAAK,WAAW,IAAI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxE,iCAAiC;YACjC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC1E,SAAS,EAAE,GAAG,eAAe,GAAG;aAChC,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;gBAC1B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;gBAC7C,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;aACzD,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,gCAAgC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO;IACR,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,GAAa;QAC3C,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yBAAyB;SAClC,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../src/createApp.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAmDhD,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAyL3D"}
1
+ {"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../src/createApp.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAoDhD,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAqM3D"}
package/dist/createApp.js CHANGED
@@ -1 +1 @@
1
- import path from"path";import{fileURLToPath}from"url";import express from"express";import cors from"cors";import helmet from"helmet";import rateLimit from"express-rate-limit";import{db}from"./db";import{createPlanRouter}from"./routes/plans";import{createDeviceRouter}from"./routes/devices";import{createStorageRouter}from"./routes/storages";import{createRestoreRouter}from"./routes/restores";import{createUserRouter}from"./routes/users";import{createSettingsRouter}from"./routes/settings";import{createHealthRouter}from"./routes/health";import{createSetupRouter}from"./routes/setup";import{PlanController}from"./controllers/PlanController";import{DeviceController}from"./controllers/DeviceController";import{StorageController}from"./controllers/StorageController";import{RestoreController}from"./controllers/RestoreController";import{UserController}from"./controllers/UserController";import{SettingsController}from"./controllers/SettingsController";import{SetupController}from"./controllers/SetupController";import{createBackupRouter}from"./routes/backups";import{BackupController}from"./controllers/BackupController";import versionMiddleware from"./middlewares/versionMiddleware";import{PlanStore}from"./stores/PlanStore";import{BackupStore}from"./stores/BackupStore";import{PlanService}from"./services/PlanService";import{RestoreStore}from"./stores/RestoreStore";import{SettingsStore}from"./stores/SettingsStore";import{StorageStore}from"./stores/StorageStore";import{DeviceStore}from"./stores/DeviceStore";import{BaseBackupManager}from"./managers";import{BackupEventListener}from"./services/listeners/BackupEventListener";import{ReplicationEventListener}from"./services/listeners/ReplicationEventListener";import{BackupService}from"./services/BackupServices";import{BaseSnapshotManager}from"./managers/BaseSnapshotManager";import{RestoreService}from"./services/RestoreService";import{RestoreEventListener}from"./services/listeners/RestoreEventListener";import{DownloadEventListener}from"./services/listeners/DownloadEventListener";import{DeviceService}from"./services/DeviceService";import{BaseSystemManager}from"./managers/BaseSystemManager";import{BaseStorageManager}from"./managers/BaseStorageManager";import{StorageService}from"./services/StorageService";import{SettingsService}from"./services/SettingsService";import{systemTaskManager}from"./jobs/SystemTaskManager";import{jobProcessor}from"./jobs/JobProcessor";import{initializeLogger}from"./utils/logger";import{configService}from"./services/ConfigService";import{BaseRestoreManager}from"./managers/BaseRestoreManager";export async function createApp(){initializeLogger();const planStore=new PlanStore(db),backupStore=new BackupStore(db),storageStore=new StorageStore(db),deviceStore=new DeviceStore(db),restoreStore=new RestoreStore(db),settingsStore=new SettingsStore(db),localPlanAgent=new BaseBackupManager,localBackupAgent=new BaseSnapshotManager,localRestoreAgent=new BaseRestoreManager,localSystemAgent=new BaseSystemManager,localStorageAgent=new BaseStorageManager;new BackupEventListener(localPlanAgent,planStore,backupStore),new ReplicationEventListener(localPlanAgent,planStore,backupStore,storageStore),new RestoreEventListener(localRestoreAgent,planStore,backupStore,restoreStore),new DownloadEventListener(localBackupAgent,backupStore);const planService=new PlanService(localPlanAgent,planStore,backupStore,storageStore,deviceStore,restoreStore),backupService=new BackupService(localBackupAgent,localPlanAgent,planStore,backupStore,restoreStore,storageStore),restoreService=new RestoreService(localRestoreAgent,planStore,backupStore,restoreStore,storageStore),deviceService=new DeviceService(localSystemAgent,deviceStore,planStore,storageStore),storageService=new StorageService(localStorageAgent,localSystemAgent,storageStore,planStore),settingsService=new SettingsService(settingsStore),planController=new PlanController(planService),backupController=new BackupController(backupService),restoreController=new RestoreController(restoreService),deviceController=new DeviceController(deviceService),storageController=new StorageController(storageService),settingsController=new SettingsController(settingsService),userController=new UserController,setupController=new SetupController,app=express();app.use(cors({origin:[process.env.APP_URL,configService.config.APP_URL||"http://mypluton.com"],credentials:!0,methods:["GET","POST","PUT","DELETE","OPTIONS"],exposedHeaders:["X-App-Version","X-Server-OS","X-Install-Type","X-Setup-Pending"]})),app.use(versionMiddleware),app.use(express.json());const appUrl=configService.config.APP_URL||"http://localhost",serverPort=configService.config.SERVER_PORT,isDev=configService.isDevelopment(),connectSrc=["'self'",appUrl,(req,_res)=>{const host=req.headers.host;if(host){return`${"https"===req.headers["x-forwarded-proto"]?"https":"http"}://${host}`}return`http://localhost:${serverPort}`}];isDev&&connectSrc.push(`http://localhost:${serverPort}`,`http://127.0.0.1:${serverPort}`),app.use(helmet({contentSecurityPolicy:{directives:{defaultSrc:["'self'"],scriptSrc:["'self'","'unsafe-inline'"],styleSrc:["'self'","'unsafe-inline'"],imgSrc:["'self'","data:","blob:"],fontSrc:["'self'","data:"],connectSrc:connectSrc,frameAncestors:["'none'"],baseUri:["'self'"],formAction:["'self'"],upgradeInsecureRequests:isDev?null:[]}},hsts:!1}));const __filename=fileURLToPath(import.meta.url),__dirname=path.dirname(__filename),publicPath=path.join(__dirname,"..","public");app.use(express.static(publicPath));const apiLimiter=rateLimit({windowMs:9e5,max:1e3,standardHeaders:!0,legacyHeaders:!1});app.use("/api/",apiLimiter);const setupLimiter=rateLimit({windowMs:9e5,max:10,standardHeaders:!0,legacyHeaders:!1}),authLimiter=rateLimit({windowMs:9e5,max:10});return app.use("/api/setup",setupLimiter,createSetupRouter(setupController)),app.use("/api/user",createUserRouter(userController,authLimiter)),app.use("/api/plans",createPlanRouter(planController)),app.use("/api/backups",createBackupRouter(backupController)),app.use("/api/devices",createDeviceRouter(deviceController)),app.use("/api/storages",createStorageRouter(storageController)),app.use("/api/restores",createRestoreRouter(restoreController)),app.use("/api/settings",createSettingsRouter(settingsController)),app.use("/api/health",createHealthRouter()),app.get("{*path}",(req,res)=>{res.sendFile(path.join(publicPath,"index.html"))}),systemTaskManager.initialize(),jobProcessor.registerTasks({backupManager:localPlanAgent,restoreManager:localRestoreAgent}),jobProcessor.start(),{app:app}}
1
+ import path from"path";import{fileURLToPath}from"url";import express from"express";import cors from"cors";import session from"express-session";import helmet from"helmet";import rateLimit from"express-rate-limit";import{db}from"./db";import{createPlanRouter}from"./routes/plans";import{createDeviceRouter}from"./routes/devices";import{createStorageRouter}from"./routes/storages";import{createRestoreRouter}from"./routes/restores";import{createUserRouter}from"./routes/users";import{createSettingsRouter}from"./routes/settings";import{createHealthRouter}from"./routes/health";import{createSetupRouter}from"./routes/setup";import{PlanController}from"./controllers/PlanController";import{DeviceController}from"./controllers/DeviceController";import{StorageController}from"./controllers/StorageController";import{RestoreController}from"./controllers/RestoreController";import{UserController}from"./controllers/UserController";import{SettingsController}from"./controllers/SettingsController";import{SetupController}from"./controllers/SetupController";import{createBackupRouter}from"./routes/backups";import{BackupController}from"./controllers/BackupController";import versionMiddleware from"./middlewares/versionMiddleware";import{PlanStore}from"./stores/PlanStore";import{BackupStore}from"./stores/BackupStore";import{PlanService}from"./services/PlanService";import{RestoreStore}from"./stores/RestoreStore";import{SettingsStore}from"./stores/SettingsStore";import{StorageStore}from"./stores/StorageStore";import{DeviceStore}from"./stores/DeviceStore";import{BaseBackupManager}from"./managers";import{BackupEventListener}from"./services/listeners/BackupEventListener";import{ReplicationEventListener}from"./services/listeners/ReplicationEventListener";import{BackupService}from"./services/BackupServices";import{BaseSnapshotManager}from"./managers/BaseSnapshotManager";import{RestoreService}from"./services/RestoreService";import{RestoreEventListener}from"./services/listeners/RestoreEventListener";import{DownloadEventListener}from"./services/listeners/DownloadEventListener";import{DeviceService}from"./services/DeviceService";import{BaseSystemManager}from"./managers/BaseSystemManager";import{BaseStorageManager}from"./managers/BaseStorageManager";import{StorageService}from"./services/StorageService";import{SettingsService}from"./services/SettingsService";import{systemTaskManager}from"./jobs/SystemTaskManager";import{jobProcessor}from"./jobs/JobProcessor";import{initializeLogger}from"./utils/logger";import{configService}from"./services/ConfigService";import{BaseRestoreManager}from"./managers/BaseRestoreManager";export async function createApp(){initializeLogger();const planStore=new PlanStore(db),backupStore=new BackupStore(db),storageStore=new StorageStore(db),deviceStore=new DeviceStore(db),restoreStore=new RestoreStore(db),settingsStore=new SettingsStore(db),localPlanAgent=new BaseBackupManager,localBackupAgent=new BaseSnapshotManager,localRestoreAgent=new BaseRestoreManager,localSystemAgent=new BaseSystemManager,localStorageAgent=new BaseStorageManager;new BackupEventListener(localPlanAgent,planStore,backupStore),new ReplicationEventListener(localPlanAgent,planStore,backupStore,storageStore),new RestoreEventListener(localRestoreAgent,planStore,backupStore,restoreStore),new DownloadEventListener(localBackupAgent,backupStore);const planService=new PlanService(localPlanAgent,planStore,backupStore,storageStore,deviceStore,restoreStore),backupService=new BackupService(localBackupAgent,localPlanAgent,planStore,backupStore,restoreStore,storageStore),restoreService=new RestoreService(localRestoreAgent,planStore,backupStore,restoreStore,storageStore),deviceService=new DeviceService(localSystemAgent,deviceStore,planStore,storageStore),storageService=new StorageService(localStorageAgent,localSystemAgent,storageStore,planStore),settingsService=new SettingsService(settingsStore),planController=new PlanController(planService),backupController=new BackupController(backupService),restoreController=new RestoreController(restoreService),deviceController=new DeviceController(deviceService),storageController=new StorageController(storageService),settingsController=new SettingsController(settingsService),userController=new UserController(settingsService),setupController=new SetupController,app=express();app.use(cors({origin:[process.env.APP_URL,configService.config.APP_URL],credentials:!0,methods:["GET","POST","PUT","DELETE","OPTIONS"],exposedHeaders:["X-App-Version","X-Server-OS","X-Install-Type","X-Setup-Pending"]})),app.use(session({secret:configService.config.SECRET,resave:!1,saveUninitialized:!1,cookie:{secure:"production"===configService.config.NODE_ENV,httpOnly:!0,maxAge:9e5}})),app.use(versionMiddleware),app.use(express.json());const appUrl=configService.config.APP_URL||"http://localhost",serverPort=configService.config.SERVER_PORT,isDev=configService.isDevelopment(),connectSrc=["'self'",appUrl,(req,_res)=>{const host=req.headers.host;if(host){return`${"https"===req.headers["x-forwarded-proto"]?"https":"http"}://${host}`}return`http://localhost:${serverPort}`}];isDev&&connectSrc.push(`http://localhost:${serverPort}`,`http://127.0.0.1:${serverPort}`),app.use(helmet({contentSecurityPolicy:{directives:{defaultSrc:["'self'"],scriptSrc:["'self'","'unsafe-inline'"],styleSrc:["'self'","'unsafe-inline'"],imgSrc:["'self'","data:","blob:"],fontSrc:["'self'","data:"],connectSrc:connectSrc,frameAncestors:["'none'"],baseUri:["'self'"],formAction:["'self'"],upgradeInsecureRequests:isDev?null:[]}},hsts:!1}));const __filename=fileURLToPath(import.meta.url),__dirname=path.dirname(__filename),publicPath=path.join(__dirname,"..","public");app.use(express.static(publicPath));const apiLimiter=rateLimit({windowMs:9e5,max:1e3,standardHeaders:!0,legacyHeaders:!1});app.use("/api/",apiLimiter);const setupLimiter=rateLimit({windowMs:9e5,max:10,standardHeaders:!0,legacyHeaders:!1}),authLimiter=rateLimit({windowMs:9e5,max:10});return app.use("/api/setup",setupLimiter,createSetupRouter(setupController)),app.use("/api/user",createUserRouter(userController,authLimiter)),app.use("/api/plans",createPlanRouter(planController)),app.use("/api/backups",createBackupRouter(backupController)),app.use("/api/devices",createDeviceRouter(deviceController)),app.use("/api/storages",createStorageRouter(storageController)),app.use("/api/restores",createRestoreRouter(restoreController)),app.use("/api/settings",createSettingsRouter(settingsController)),app.use("/api/health",createHealthRouter()),app.get("{*path}",(req,res)=>{res.sendFile(path.join(publicPath,"index.html"))}),systemTaskManager.initialize(),jobProcessor.registerTasks({backupManager:localPlanAgent,restoreManager:localRestoreAgent}),jobProcessor.start(),{app:app}}
@@ -1 +1 @@
1
- {"version":3,"file":"createApp.js","sourceRoot":"","sources":["../src/createApp.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,OAAyB,MAAM,SAAS,CAAC;AAEhD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,SAAS;IAC9B,oBAAoB;IACpB,gBAAgB,EAAE,CAAC;IAEnB,SAAS;IACT,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IAE5C,eAAe;IACf,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACnD,MAAM,iBAAiB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACnD,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAEnD,kBAAkB;IAClB,IAAI,mBAAmB,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,wBAAwB,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACnF,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAClF,IAAI,qBAAqB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAEzD,4BAA4B;IAC5B,MAAM,WAAW,GAAG,IAAI,WAAW,CAClC,cAAc,EACd,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,aAAa,CACtC,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,CACZ,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,cAAc,CACxC,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAChG,MAAM,cAAc,GAAG,IAAI,cAAc,CACxC,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,SAAS,CACT,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;IAE3D,wBAAwB;IACxB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,cAAc;IACd,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CACN,IAAI,CAAC;QACJ,MAAM,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,OAAiB,EAAE,gCAAgC;YAC/D,aAAa,CAAC,MAAM,CAAC,OAAO,IAAI,qBAAqB,EAAE,oBAAoB;SAC3E;QACD,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;QACpD,cAAc,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;KACrF,CAAC,CACF,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC3B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,6BAA6B;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,IAAI,kBAAkB,CAAC;IAClE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;IACpD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;IAE5C,8DAA8D;IAC9D,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,aAAa,GAAG,CAAC,GAAoB,EAAE,IAAoB,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9E,OAAO,GAAG,KAAK,MAAM,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,oBAAoB,UAAU,EAAE,CAAC;IACzC,CAAC,CAAC;IAEF,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,UAAU,GAAsC,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACxF,IAAI,KAAK,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,oBAAoB,UAAU,EAAE,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,GAAG,CACN,MAAM,CAAC;QACN,qBAAqB,EAAE;YACtB,UAAU,EAAE;gBACX,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBACxC,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;gBACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAC5B,UAAU;gBACV,cAAc,EAAE,CAAC,QAAQ,CAAC;gBAC1B,OAAO,EAAE,CAAC,QAAQ,CAAC;gBACnB,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;aAC1C;SACD;QACD,IAAI,EAAE,KAAK,EAAE,qDAAqD;KAClE,CAAC,CACF,CAAC;IAEF,kDAAkD;IAClD,+CAA+C;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpC,eAAe;IACf,MAAM,UAAU,GAAG,SAAS,CAAC;QAC5B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;QACvC,GAAG,EAAE,IAAI,EAAE,4CAA4C;QACvD,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE7B,yDAAyD;IACzD,MAAM,YAAY,GAAG,SAAS,CAAC;QAC9B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;QACvC,GAAG,EAAE,EAAE,EAAE,8BAA8B;QACvC,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,oEAAoE;IACpE,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,iCAAiC;IAC1G,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IACpE,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjE,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnE,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAE7C,0EAA0E;IAC1E,2EAA2E;IAC3E,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,iBAAiB,CAAC,UAAU,EAAE,CAAC;IAE/B,6BAA6B;IAC7B,YAAY,CAAC,aAAa,CAAC;QAC1B,aAAa,EAAE,cAAc;QAC7B,cAAc,EAAE,iBAAiB;KACjC,CAAC,CAAC;IAEH,YAAY,CAAC,KAAK,EAAE,CAAC;IAErB,OAAO,EAAE,GAAG,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"createApp.js","sourceRoot":"","sources":["../src/createApp.ts"],"names":[],"mappings":"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"}
@@ -116,7 +116,10 @@ export declare class BaseBackupManager extends EventEmitter {
116
116
  success: boolean;
117
117
  result: string;
118
118
  }>;
119
- testFunc(): void;
119
+ checkIntegrity(planId: string): Promise<{
120
+ success: boolean;
121
+ result: Record<string, string | null>;
122
+ }>;
120
123
  }
121
124
  export {};
122
125
  //# sourceMappingURL=BaseBackupManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseBackupManager.d.ts","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseBackupManager.d.ts","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{EventEmitter}from"events";import{runResticCommand}from"../utils/restic/restic";import{generateResticRepoPath}from"../utils/restic/helpers";import{runRcloneCommand}from"../utils/rclone/rclone";import{CronManager}from"./CronManager";import{BackupHandler}from"./handlers/BackupHandler";import{PruneHandler}from"./handlers/PruneHandler";import{jobQueue}from"../jobs/JobQueue";import{generateUID}from"../utils/helpers";import{configService}from"../services/ConfigService";export class BaseBackupManager extends EventEmitter{_scheduleFilePath;_cronManager;_backupHandler;constructor(configPath){super(),this._scheduleFilePath=configPath,this._cronManager=CronManager.getInstance({backup:this.queueBackup.bind(this)},this._scheduleFilePath)}get cronManager(){return this._cronManager}get backupHandler(){return this._backupHandler||(this._backupHandler=new BackupHandler(this)),this._backupHandler}async createBackup(planId,options){const{storagePath:storagePath,storage:storage}=options,{encryption:encryption}=options.settings,encKey=configService.config.ENCRYPTION_KEY;if(encryption&&(!encKey||""===encKey.trim()))return{success:!1,result:"Encryption is enabled but ENCRYPTION_KEY is not set in environment variables."};const repoPassword=encryption?encKey:"";try{const repoCommand=["-r",generateResticRepoPath(storage.name,storagePath||""),"init","--verbose"];encryption||repoCommand.push("--insecure-no-password");await runResticCommand(repoCommand,{RESTIC_PASSWORD:repoPassword,RCLONE_CONFIG_PASS:repoPassword},data=>{})}catch(error){return{success:!1,result:"Could Not Create Restic Repo. Details: "+error.message}}try{await this.createOrUpdateSchedules(planId,options,"create");const initScheduleRes=await this.performBackup(planId);return{success:!0,result:initScheduleRes.success?"Backup Schedule Created. Initial Backup Started.":"Could not Start the Initial Backup. Please run the Backup Manually."}}catch(error){return{success:!1,result:error.message}}}async updateBackup(planId,options){try{return await this.createOrUpdateSchedules(planId,options,"update"),{success:!0,result:"Backup Schedule Updated. initBackupStatus"}}catch(error){return{success:!1,result:error.message}}}async queueBackup(planId,options){if(options&&!options.isActive)return;const backupId=generateUID(),{retries:retries=5,retryDelay:retryDelay=300}=options?.settings||{};jobQueue.add("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay)}async removeBackup(planId,options){try{await this.cronManager.removeSchedule(planId);let removeResult="Successfully Removed";if(options.storagePath&&options.removeRemoteData){removeResult+=await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}if(options.removeRemoteData&&options.replicationStorages?.length)for(const replica of options.replicationStorages)try{const output=await runRcloneCommand(["purge",`${replica.storageName}:${replica.storagePath}`]);removeResult+=` | Replication ${replica.storageName}: ${output}`}catch(error){removeResult+=` | Replication ${replica.storageName} purge failed: ${error.message}`}return{success:!0,result:removeResult}}catch(error){return{success:!1,result:error.message}}}async performBackup(planId){const backupId=generateUID(),schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),options=backupSchedule?.options,{retries:retries=5,retryDelay:retryDelay=60}=options?.settings||{};return backupSchedule&&backupSchedule.options?(jobQueue.addPriorityJob("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay),{success:!0,result:"Backup job has been added to the queue."}):{success:!1,result:"No backup schedule found for this plan."}}async performBackupExecution(planId,backupId,retryInfo){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)throw new Error(`No backup schedule options found for plan ${planId}.`);const options=backupSchedule.options;return await this.backupHandler.execute(planId,backupId,options,retryInfo)}async cancelBackup(planId,backupId){const cancelled=await this.backupHandler.cancel(planId,backupId);return{success:cancelled,result:cancelled?"Cancelled Backup":"Failed to cancel Backup"}}async retryFailedReplications(planId,backupId,failedReplicationIds){try{const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)return{success:!1,result:`No backup schedule options found for plan ${planId}.`};const options=backupSchedule.options,replication=options.settings?.replication;if(!replication?.enabled||!replication.storages?.length)return{success:!1,result:"Replication is not enabled for this plan."};if(0===replication.storages.filter(s=>failedReplicationIds.includes(s.replicationId)).length)return{success:!1,result:"No matching replication storages found."};const results=await this.backupHandler.retryFailedReplications(planId,backupId,options,failedReplicationIds),allSucceeded=results.every(m=>"completed"===m.status);return{success:allSucceeded,result:allSucceeded?"All replications succeeded.":`${results.filter(m=>"failed"===m.status).length} replication(s) still failed.`}}catch(error){return{success:!1,result:error.message||"Failed to retry replications."}}}async removeReplicationStorage(planId,options){try{let result="Replication storage removed from plan.";if(options.removeData&&options.storagePath){result+=` Data purged: ${await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}`}return{success:!0,result:result}}catch(error){return{success:!1,result:error.message||"Failed to remove replication storage data."}}}async pauseBackup(planId){const paused=await this.cronManager.pauseSchedule(planId);return{success:paused,result:paused?"Paused Backup":"Failed to Pause Backup"}}async resumeBackup(planId){const resumed=await this.cronManager.resumeSchedule(planId);return{success:resumed,result:resumed?"Resumed Backup":"Failed to Resume Backup"}}async pruneBackups(planId,replicationStorages){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(backupSchedule){const pruneHandler=new PruneHandler(this),pruneResult=await pruneHandler.prune(planId,backupSchedule.options,!0);if(replicationStorages?.length){const options=backupSchedule.options;for(const replica of replicationStorages)try{const replicaOptions={...backupSchedule.options,storage:{...options.storage,name:replica.storageName},storagePath:replica.storagePath};await pruneHandler.prune(planId,replicaOptions,!1)}catch(error){}}return pruneResult}return{success:!1,result:"Backup Task Not Found"}}async unlockRepo(planId,replicationStorages){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),encKey=configService.config.ENCRYPTION_KEY;if(!backupSchedule||!backupSchedule.options)return{success:!1,result:`No backup schedule configuration found for plan ${planId}.`};const options=backupSchedule.options;if(!options.storage||!options.storage.name)return{success:!1,result:"Storage configuration is missing for this plan."};try{const repoPath=generateResticRepoPath(options.storage.name,options.storagePath||""),repoPassword=options.settings.encryption?encKey:"",resticArgs=["unlock","-r",repoPath,"--json"];let resultMessage=(await runResticCommand(resticArgs,{RESTIC_PASSWORD:repoPassword})).trim()||"Successfully removed all stale locks from the repository.";if(replicationStorages?.length)for(const replica of replicationStorages)try{const replicaRepoPath=generateResticRepoPath(replica.storageName,replica.storagePath||"");await runResticCommand(["unlock","-r",replicaRepoPath,"--json"],{RESTIC_PASSWORD:repoPassword}),resultMessage+=` | ${replica.storageName}: unlocked`}catch(error){resultMessage+=` | ${replica.storageName}: unlock failed - ${error.message}`}return{success:!0,result:resultMessage}}catch(error){return{success:!1,result:error.message||"An unknown error occurred during the unlock process."}}}async createOrUpdateSchedules(planId,options,action="create"){const{cronExpression:cronExpression,settings:settings,storageId:storageId,storage:storage,storagePath:storagePath,isActive:isActive,id:id,title:title,sourceConfig:sourceConfig,sourceId:sourceId}=options,backupExecOpts={id:id,title:title,isActive:isActive,cronExpression:cronExpression,sourceConfig:sourceConfig,sourceId:sourceId,storageId:storageId,storage:storage,storagePath:storagePath,settings:settings},backupOptions={...backupExecOpts,isActive:backupExecOpts.isActive||!1,taskCallback:(id,opts)=>{this.queueBackup(id,opts)}};if("create"===action)await this.cronManager.scheduleTask(planId,cronExpression,backupOptions,"backup");else{const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);backupSchedule?await this.cronManager.updateSchedule(planId,cronExpression,backupOptions,"backup"):await this.cronManager.scheduleTask(planId,cronExpression,backupOptions,"backup")}}async updatePlanStorageName(storageId,newStorageName){try{const schedules=await this.cronManager.getSchedules();if(schedules)for(const[planId,scheduleEntries]of Object.entries(schedules)){const backupSchedule=scheduleEntries.find(s=>"backup"===s.type);if(backupSchedule?.options.storageId===storageId){const updatedOptions={...backupSchedule.options,storageName:newStorageName};await this.cronManager.updateSchedule(planId,updatedOptions.cronExpression,{...updatedOptions},"backup")}}return{success:!0,result:"Relevant schedules were updated with new storage name."}}catch(error){return{success:!1,result:"Failed to updated Schedules with new storage name. "+error?.message||""}}}testFunc(){}}
1
+ import{EventEmitter}from"events";import{runResticCommand}from"../utils/restic/restic";import{generateResticRepoPath}from"../utils/restic/helpers";import{runRcloneCommand}from"../utils/rclone/rclone";import{CronManager}from"./CronManager";import{BackupHandler}from"./handlers/BackupHandler";import{PruneHandler}from"./handlers/PruneHandler";import{jobQueue}from"../jobs/JobQueue";import{generateUID}from"../utils/helpers";import{configService}from"../services/ConfigService";export class BaseBackupManager extends EventEmitter{_scheduleFilePath;_cronManager;_backupHandler;constructor(configPath){super(),this._scheduleFilePath=configPath,this._cronManager=CronManager.getInstance({backup:this.queueBackup.bind(this)},this._scheduleFilePath)}get cronManager(){return this._cronManager}get backupHandler(){return this._backupHandler||(this._backupHandler=new BackupHandler(this)),this._backupHandler}async createBackup(planId,options){const{storagePath:storagePath,storage:storage}=options,{encryption:encryption}=options.settings,encKey=configService.config.ENCRYPTION_KEY;if(encryption&&(!encKey||""===encKey.trim()))return{success:!1,result:"Encryption is enabled but ENCRYPTION_KEY is not set in environment variables."};const repoPassword=encryption?encKey:"";try{const repoCommand=["-r",generateResticRepoPath(storage.name,storagePath||""),"init","--verbose"];encryption||repoCommand.push("--insecure-no-password");await runResticCommand(repoCommand,{RESTIC_PASSWORD:repoPassword,RCLONE_CONFIG_PASS:repoPassword},data=>{})}catch(error){return{success:!1,result:"Could Not Create Restic Repo. Details: "+error.message}}try{await this.createOrUpdateSchedules(planId,options,"create");const initScheduleRes=await this.performBackup(planId);return{success:!0,result:initScheduleRes.success?"Backup Schedule Created. Initial Backup Started.":"Could not Start the Initial Backup. Please run the Backup Manually."}}catch(error){return{success:!1,result:error.message}}}async updateBackup(planId,options){try{return await this.createOrUpdateSchedules(planId,options,"update"),{success:!0,result:"Backup Schedule Updated. initBackupStatus"}}catch(error){return{success:!1,result:error.message}}}async queueBackup(planId,options){if(options&&!options.isActive)return;const backupId=generateUID(),{retries:retries=5,retryDelay:retryDelay=300}=options?.settings||{};jobQueue.add("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay)}async removeBackup(planId,options){try{await this.cronManager.removeSchedule(planId);let removeResult="Successfully Removed";if(options.storagePath&&options.removeRemoteData){removeResult+=await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}if(options.removeRemoteData&&options.replicationStorages?.length)for(const replica of options.replicationStorages)try{const output=await runRcloneCommand(["purge",`${replica.storageName}:${replica.storagePath}`]);removeResult+=` | Replication ${replica.storageName}: ${output}`}catch(error){removeResult+=` | Replication ${replica.storageName} purge failed: ${error.message}`}return{success:!0,result:removeResult}}catch(error){return{success:!1,result:error.message}}}async performBackup(planId){const backupId=generateUID(),schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),options=backupSchedule?.options,{retries:retries=5,retryDelay:retryDelay=60}=options?.settings||{};return backupSchedule&&backupSchedule.options?(jobQueue.addPriorityJob("Backup",{planId:planId,backupId:backupId},retries,1e3*retryDelay),{success:!0,result:"Backup job has been added to the queue."}):{success:!1,result:"No backup schedule found for this plan."}}async performBackupExecution(planId,backupId,retryInfo){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)throw new Error(`No backup schedule options found for plan ${planId}.`);const options=backupSchedule.options;return await this.backupHandler.execute(planId,backupId,options,retryInfo)}async cancelBackup(planId,backupId){const cancelled=await this.backupHandler.cancel(planId,backupId);return{success:cancelled,result:cancelled?"Cancelled Backup":"Failed to cancel Backup"}}async retryFailedReplications(planId,backupId,failedReplicationIds){try{const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(!backupSchedule||!backupSchedule.options)return{success:!1,result:`No backup schedule options found for plan ${planId}.`};const options=backupSchedule.options,replication=options.settings?.replication;if(!replication?.enabled||!replication.storages?.length)return{success:!1,result:"Replication is not enabled for this plan."};if(0===replication.storages.filter(s=>failedReplicationIds.includes(s.replicationId)).length)return{success:!1,result:"No matching replication storages found."};const results=await this.backupHandler.retryFailedReplications(planId,backupId,options,failedReplicationIds),allSucceeded=results.every(m=>"completed"===m.status);return{success:allSucceeded,result:allSucceeded?"All replications succeeded.":`${results.filter(m=>"failed"===m.status).length} replication(s) still failed.`}}catch(error){return{success:!1,result:error.message||"Failed to retry replications."}}}async removeReplicationStorage(planId,options){try{let result="Replication storage removed from plan.";if(options.removeData&&options.storagePath){result+=` Data purged: ${await runRcloneCommand(["purge",`${options.storageName}:${options.storagePath}`])}`}return{success:!0,result:result}}catch(error){return{success:!1,result:error.message||"Failed to remove replication storage data."}}}async pauseBackup(planId){const paused=await this.cronManager.pauseSchedule(planId);return{success:paused,result:paused?"Paused Backup":"Failed to Pause Backup"}}async resumeBackup(planId){const resumed=await this.cronManager.resumeSchedule(planId);return{success:resumed,result:resumed?"Resumed Backup":"Failed to Resume Backup"}}async pruneBackups(planId,replicationStorages){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(backupSchedule){const pruneHandler=new PruneHandler(this),pruneResult=await pruneHandler.prune(planId,backupSchedule.options,!0);if(replicationStorages?.length){const options=backupSchedule.options;for(const replica of replicationStorages)try{const replicaOptions={...backupSchedule.options,storage:{...options.storage,name:replica.storageName},storagePath:replica.storagePath};await pruneHandler.prune(planId,replicaOptions,!1)}catch(error){}}return pruneResult}return{success:!1,result:"Backup Task Not Found"}}async unlockRepo(planId,replicationStorages){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type),encKey=configService.config.ENCRYPTION_KEY;if(!backupSchedule||!backupSchedule.options)return{success:!1,result:`No backup schedule configuration found for plan ${planId}.`};const options=backupSchedule.options;if(!options.storage||!options.storage.name)return{success:!1,result:"Storage configuration is missing for this plan."};try{const repoPath=generateResticRepoPath(options.storage.name,options.storagePath||""),repoPassword=options.settings.encryption?encKey:"",resticArgs=["unlock","-r",repoPath,"--json"];let resultMessage=(await runResticCommand(resticArgs,{RESTIC_PASSWORD:repoPassword})).trim()||"Successfully removed all stale locks from the repository.";if(replicationStorages?.length)for(const replica of replicationStorages)try{const replicaRepoPath=generateResticRepoPath(replica.storageName,replica.storagePath||"");await runResticCommand(["unlock","-r",replicaRepoPath,"--json"],{RESTIC_PASSWORD:repoPassword}),resultMessage+=` | ${replica.storageName}: unlocked`}catch(error){resultMessage+=` | ${replica.storageName}: unlock failed - ${error.message}`}return{success:!0,result:resultMessage}}catch(error){return{success:!1,result:error.message||"An unknown error occurred during the unlock process."}}}async createOrUpdateSchedules(planId,options,action="create"){const{cronExpression:cronExpression,settings:settings,storageId:storageId,storage:storage,storagePath:storagePath,isActive:isActive,id:id,title:title,sourceConfig:sourceConfig,sourceId:sourceId}=options,backupExecOpts={id:id,title:title,isActive:isActive,cronExpression:cronExpression,sourceConfig:sourceConfig,sourceId:sourceId,storageId:storageId,storage:storage,storagePath:storagePath,settings:settings},backupOptions={...backupExecOpts,isActive:backupExecOpts.isActive||!1,taskCallback:(id,opts)=>{this.queueBackup(id,opts)}};if("create"===action)await this.cronManager.scheduleTask(planId,cronExpression,backupOptions,"backup");else{const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);backupSchedule?await this.cronManager.updateSchedule(planId,cronExpression,backupOptions,"backup"):await this.cronManager.scheduleTask(planId,cronExpression,backupOptions,"backup")}}async updatePlanStorageName(storageId,newStorageName){try{const schedules=await this.cronManager.getSchedules();if(schedules)for(const[planId,scheduleEntries]of Object.entries(schedules)){const backupSchedule=scheduleEntries.find(s=>"backup"===s.type);if(backupSchedule?.options.storageId===storageId){const updatedOptions={...backupSchedule.options,storageName:newStorageName};await this.cronManager.updateSchedule(planId,updatedOptions.cronExpression,{...updatedOptions},"backup")}}return{success:!0,result:"Relevant schedules were updated with new storage name."}}catch(error){return{success:!1,result:"Failed to updated Schedules with new storage name. "+error?.message||""}}}async checkIntegrity(planId){const schedules=await this.cronManager.getSchedule(planId),backupSchedule=schedules?.find(s=>"backup"===s.type);if(backupSchedule){this.emit("integrity_start",{planId:planId});const{storage:storage,storagePath:storagePath,settings:settings}=backupSchedule?.options,repSettings=settings?.replication,replicationStorages=repSettings?.enabled&&repSettings.storages&&repSettings.storages.length>0?repSettings.storages:[],allStorages=replicationStorages.length>0?[{storageName:storage.name,storagePath:storagePath,storageId:storage.id},...replicationStorages]:[{storageName:storage.name,storagePath:storagePath,storageId:storage.id}],errorMsg={primary:null},resultObj={primary:null};for(const theStorage of allStorages){const index=theStorage.storageId===storage.id?"primary":"mirror_"+theStorage.storageId;errorMsg[index]=null,resultObj[index]=null;const resticArgs=["check"],repoPassword=settings.encryption?configService.config.ENCRYPTION_KEY:"";if(!theStorage.storageName)return{success:!1,result:{[index]:"No storage name found"}};{const repoPath=generateResticRepoPath(theStorage.storageName,theStorage.storagePath||"");resticArgs.push("-r",repoPath)}const method=settings.integrity?.method||"5%";["5%","10%","25%","50%"].includes(method)&&resticArgs.push("--read-data-subset",method),"full"===method&&resticArgs.push("--read-data");try{const checkRes=await runResticCommand(resticArgs,{RESTIC_PASSWORD:repoPassword});resultObj[index]=checkRes}catch(error){const errMsg=error instanceof Error&&error.message||"Unknown Error";errorMsg[index]=errMsg,resultObj[index]=errMsg}}return this.emit("integrity_end",{planId:planId,result:resultObj}),{success:!0,result:resultObj}}return this.emit("integrity_failed",{planId:planId,result:{primary:"No backup schedule found"}}),{success:!1,result:{primary:"No Backup schedule found"}}}}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseBackupManager.js","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseBackupManager.js","sourceRoot":"","sources":["../../src/managers/BaseBackupManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/routes/plans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CAqB9F"}
1
+ {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/routes/plans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,GAAE,MAAiB,GAAG,MAAM,CAsB9F"}
@@ -1 +1 @@
1
- import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createPlanRouter(controller,router=Router()){return router.get("/",authM,controller.getPlans.bind(controller)),router.get("/:id",authM,controller.getPlan.bind(controller)),router.post("/",authM,controller.createPlan.bind(controller)),router.put("/:id",authM,controller.updatePlan.bind(controller)),router.delete("/:id",authM,controller.deletePlan.bind(controller)),router.get("/:id/logs",authM,controller.getLogs.bind(controller)),router.get("/:id/logs/download",authM,controller.downloadLogs.bind(controller)),router.get("/:id/checkactive",authM,controller.checkActiveBackupsOrRestore.bind(controller)),router.post("/:id/action/backup",authM,controller.performBackup.bind(controller)),router.post("/:id/action/resume",authM,controller.resumeBackup.bind(controller)),router.post("/:id/action/pause",authM,controller.pauseBackup.bind(controller)),router.post("/:id/action/prune",authM,controller.pruneBackup.bind(controller)),router.post("/:id/action/unlock",authM,controller.unlockRepo.bind(controller)),router.post("/:id/action/delete-replication-storage",authM,controller.deleteReplicationStorage.bind(controller)),router}
1
+ import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createPlanRouter(controller,router=Router()){return router.get("/",authM,controller.getPlans.bind(controller)),router.get("/:id",authM,controller.getPlan.bind(controller)),router.post("/",authM,controller.createPlan.bind(controller)),router.put("/:id",authM,controller.updatePlan.bind(controller)),router.delete("/:id",authM,controller.deletePlan.bind(controller)),router.get("/:id/logs",authM,controller.getLogs.bind(controller)),router.get("/:id/logs/download",authM,controller.downloadLogs.bind(controller)),router.get("/:id/checkactive",authM,controller.checkActiveBackupsOrRestore.bind(controller)),router.post("/:id/action/backup",authM,controller.performBackup.bind(controller)),router.post("/:id/action/resume",authM,controller.resumeBackup.bind(controller)),router.post("/:id/action/pause",authM,controller.pauseBackup.bind(controller)),router.post("/:id/action/prune",authM,controller.pruneBackup.bind(controller)),router.post("/:id/action/unlock",authM,controller.unlockRepo.bind(controller)),router.post("/:id/action/checkintegrity",authM,controller.checkIntegrity.bind(controller)),router.post("/:id/action/delete-replication-storage",authM,controller.deleteReplicationStorage.bind(controller)),router}
@@ -1 +1 @@
1
- {"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/routes/plans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,UAA0B,EAAE,SAAiB,MAAM,EAAE;IACrF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CACV,wCAAwC,EACxC,KAAK,EACL,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CACpD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/routes/plans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,UAA0B,EAAE,SAAiB,MAAM,EAAE;IACrF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,IAAI,CACV,wCAAwC,EACxC,KAAK,EACL,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CACpD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,GAAE,MAAiB,GACvB,MAAM,CASR"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,GAAE,MAAiB,GACvB,MAAM,CAWR"}
@@ -1 +1 @@
1
- import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createSettingsRouter(controller,router=Router()){return router.get("/",authM,controller.getMainSettings.bind(controller)),router.get("/:id",authM,controller.getSettings.bind(controller)),router.put("/:id",authM,controller.updateSettings.bind(controller)),router.get("/:id/logs",authM,controller.getAppLogs.bind(controller)),router.get("/:id/logs/download",authM,controller.downloadAppLogs.bind(controller)),router.post("/integration/validate",authM,controller.validateIntegration.bind(controller)),router}
1
+ import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createSettingsRouter(controller,router=Router()){return router.get("/",authM,controller.getMainSettings.bind(controller)),router.get("/:id",authM,controller.getSettings.bind(controller)),router.put("/:id",authM,controller.updateSettings.bind(controller)),router.get("/:id/logs",authM,controller.getAppLogs.bind(controller)),router.get("/:id/logs/download",authM,controller.downloadAppLogs.bind(controller)),router.post("/integration/validate",authM,controller.validateIntegration.bind(controller)),router.post("/:id/2fa/setup",authM,controller.setupTwoFactorAuth.bind(controller)),router.post("/:id/2fa/finalize",authM,controller.finalizeTwoFactorSetup.bind(controller)),router}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,oBAAoB,CACnC,UAA8B,EAC9B,SAAiB,MAAM,EAAE;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7F,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,oBAAoB,CACnC,UAA8B,EAC9B,SAAiB,MAAM,EAAE;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5F,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,cAAc,EAC1B,WAAW,CAAC,EAAE,cAAc,EAC5B,MAAM,GAAE,MAAiB,GACvB,MAAM,CAOR"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,cAAc,EAC1B,WAAW,CAAC,EAAE,cAAc,EAC5B,MAAM,GAAE,MAAiB,GACvB,MAAM,CAQR"}
@@ -1 +1 @@
1
- import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createUserRouter(controller,authLimiter,router=Router()){const loginMiddlewares=authLimiter?[authLimiter]:[];return router.post("/login",...loginMiddlewares,controller.loginUser.bind(controller)),router.get("/validate",authM,controller.validateUser.bind(controller)),router.post("/logout",authM,controller.logoutUser.bind(controller)),router}
1
+ import{Router}from"express";import authM from"../middlewares/authMiddleware";export function createUserRouter(controller,authLimiter,router=Router()){const loginMiddlewares=authLimiter?[authLimiter]:[];return router.post("/login",...loginMiddlewares,controller.loginUser.bind(controller)),router.get("/validate",authM,controller.validateUser.bind(controller)),router.post("/logout",authM,controller.logoutUser.bind(controller)),router.post("/verify-otp",...loginMiddlewares,controller.verifyTotp.bind(controller)),router}
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,SAAS,CAAC;AAEtD,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAC/B,UAA0B,EAC1B,WAA4B,EAC5B,SAAiB,MAAM,EAAE;IAEzB,MAAM,gBAAgB,GAAqB,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/routes/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,SAAS,CAAC;AAEtD,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAC/B,UAA0B,EAC1B,WAA4B,EAC5B,SAAiB,MAAM,EAAE;IAEzB,MAAM,gBAAgB,GAAqB,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,gBAAgB,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAExF,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -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
+ * Checks the integrity of a backup plan's repository.
57
+ * This can be a long-running operation, so it's designed to be called asynchronously and returns progress updates via events.
58
+ */
59
+ checkIntegrity(planId: string): Promise<{
60
+ success: boolean;
61
+ result: Record<string, any>;
62
+ }>;
55
63
  /**
56
64
  * Removes a replication storage from a plan's replication settings.
57
65
  * Optionally purges the replicated data from the remote storage.
@@ -1 +1 @@
1
- {"version":3,"file":"PlanService.d.ts","sourceRoot":"","sources":["../../src/services/PlanService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanService.d.ts","sourceRoot":"","sources":["../../src/services/PlanService.ts"],"names":[],"mappings":"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"}