@plutonhq/core-backend 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/controllers/BackupController.d.ts +1 -0
  2. package/dist/controllers/BackupController.d.ts.map +1 -1
  3. package/dist/controllers/BackupController.js +1 -1
  4. package/dist/controllers/BackupController.js.map +1 -1
  5. package/dist/controllers/PlanController.d.ts +1 -0
  6. package/dist/controllers/PlanController.d.ts.map +1 -1
  7. package/dist/controllers/PlanController.js +1 -1
  8. package/dist/controllers/PlanController.js.map +1 -1
  9. package/dist/controllers/RestoreController.d.ts.map +1 -1
  10. package/dist/controllers/RestoreController.js +1 -1
  11. package/dist/controllers/RestoreController.js.map +1 -1
  12. package/dist/controllers/StorageController.d.ts.map +1 -1
  13. package/dist/controllers/StorageController.js +1 -1
  14. package/dist/controllers/StorageController.js.map +1 -1
  15. package/dist/createApp.d.ts.map +1 -1
  16. package/dist/createApp.js +1 -1
  17. package/dist/createApp.js.map +1 -1
  18. package/dist/db/index.d.ts +19 -0
  19. package/dist/db/index.d.ts.map +1 -1
  20. package/dist/db/schema/backups.d.ts +77 -1
  21. package/dist/db/schema/backups.d.ts.map +1 -1
  22. package/dist/db/schema/backups.js +1 -1
  23. package/dist/db/schema/backups.js.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/jobs/JobProcessor.d.ts.map +1 -1
  27. package/dist/jobs/JobProcessor.js +1 -1
  28. package/dist/jobs/JobProcessor.js.map +1 -1
  29. package/dist/jobs/tasks/ReplicationRetryTask.d.ts +10 -0
  30. package/dist/jobs/tasks/ReplicationRetryTask.d.ts.map +1 -0
  31. package/dist/jobs/tasks/ReplicationRetryTask.js +1 -0
  32. package/dist/jobs/tasks/ReplicationRetryTask.js.map +1 -0
  33. package/dist/managers/BaseBackupManager.d.ts +31 -2
  34. package/dist/managers/BaseBackupManager.d.ts.map +1 -1
  35. package/dist/managers/BaseBackupManager.js +1 -1
  36. package/dist/managers/BaseBackupManager.js.map +1 -1
  37. package/dist/managers/BaseSnapshotManager.d.ts +21 -4
  38. package/dist/managers/BaseSnapshotManager.d.ts.map +1 -1
  39. package/dist/managers/BaseSnapshotManager.js +1 -1
  40. package/dist/managers/BaseSnapshotManager.js.map +1 -1
  41. package/dist/managers/ProgressManager.d.ts +28 -0
  42. package/dist/managers/ProgressManager.d.ts.map +1 -1
  43. package/dist/managers/ProgressManager.js +1 -1
  44. package/dist/managers/ProgressManager.js.map +1 -1
  45. package/dist/managers/handlers/BackupHandler.d.ts +8 -0
  46. package/dist/managers/handlers/BackupHandler.d.ts.map +1 -1
  47. package/dist/managers/handlers/BackupHandler.js +1 -1
  48. package/dist/managers/handlers/BackupHandler.js.map +1 -1
  49. package/dist/managers/handlers/DownloadHandler.d.ts.map +1 -1
  50. package/dist/managers/handlers/DownloadHandler.js +1 -1
  51. package/dist/managers/handlers/DownloadHandler.js.map +1 -1
  52. package/dist/managers/handlers/ReplicationHandler.d.ts +34 -0
  53. package/dist/managers/handlers/ReplicationHandler.d.ts.map +1 -0
  54. package/dist/managers/handlers/ReplicationHandler.js +1 -0
  55. package/dist/managers/handlers/ReplicationHandler.js.map +1 -0
  56. package/dist/managers/handlers/ReplicationOrchestrator.d.ts +50 -0
  57. package/dist/managers/handlers/ReplicationOrchestrator.d.ts.map +1 -0
  58. package/dist/managers/handlers/ReplicationOrchestrator.js +1 -0
  59. package/dist/managers/handlers/ReplicationOrchestrator.js.map +1 -0
  60. package/dist/middlewares/versionMiddleware.d.ts.map +1 -1
  61. package/dist/middlewares/versionMiddleware.js +1 -1
  62. package/dist/middlewares/versionMiddleware.js.map +1 -1
  63. package/dist/notifications/BackupNotification.d.ts +6 -3
  64. package/dist/notifications/BackupNotification.d.ts.map +1 -1
  65. package/dist/notifications/BackupNotification.js +1 -1
  66. package/dist/notifications/BackupNotification.js.map +1 -1
  67. package/dist/notifications/channels/NotificationChannelResolver.d.ts.map +1 -1
  68. package/dist/notifications/channels/NotificationChannelResolver.js.map +1 -1
  69. package/dist/notifications/templates/email/backup/BackupFailedNotification.d.ts.map +1 -1
  70. package/dist/notifications/templates/email/backup/BackupFailedNotification.ejs +9 -4
  71. package/dist/notifications/templates/email/backup/BackupFailedNotification.js +1 -1
  72. package/dist/notifications/templates/email/backup/BackupFailedNotification.js.map +1 -1
  73. package/dist/notifications/templates/email/backup/BackupStartedNotification.d.ts.map +1 -1
  74. package/dist/notifications/templates/email/backup/BackupStartedNotification.ejs +9 -4
  75. package/dist/notifications/templates/email/backup/BackupStartedNotification.js +1 -1
  76. package/dist/notifications/templates/email/backup/BackupStartedNotification.js.map +1 -1
  77. package/dist/notifications/templates/email/backup/BackupSuccessNotification.d.ts +2 -1
  78. package/dist/notifications/templates/email/backup/BackupSuccessNotification.d.ts.map +1 -1
  79. package/dist/notifications/templates/email/backup/BackupSuccessNotification.ejs +52 -4
  80. package/dist/notifications/templates/email/backup/BackupSuccessNotification.js +1 -1
  81. package/dist/notifications/templates/email/backup/BackupSuccessNotification.js.map +1 -1
  82. package/dist/notifications/templates/email/backup/ReplicationFailedNotification.d.ts +24 -0
  83. package/dist/notifications/templates/email/backup/ReplicationFailedNotification.d.ts.map +1 -0
  84. package/dist/notifications/templates/email/backup/ReplicationFailedNotification.ejs +105 -0
  85. package/dist/notifications/templates/email/backup/ReplicationFailedNotification.js +1 -0
  86. package/dist/notifications/templates/email/backup/ReplicationFailedNotification.js.map +1 -0
  87. package/dist/routes/backups.d.ts.map +1 -1
  88. package/dist/routes/backups.js +1 -1
  89. package/dist/routes/backups.js.map +1 -1
  90. package/dist/routes/plans.d.ts.map +1 -1
  91. package/dist/routes/plans.js +1 -1
  92. package/dist/routes/plans.js.map +1 -1
  93. package/dist/services/BackupServices.d.ts +14 -5
  94. package/dist/services/BackupServices.d.ts.map +1 -1
  95. package/dist/services/BackupServices.js +1 -1
  96. package/dist/services/BackupServices.js.map +1 -1
  97. package/dist/services/DeviceService.d.ts +6 -0
  98. package/dist/services/DeviceService.d.ts.map +1 -1
  99. package/dist/services/DeviceService.js +1 -1
  100. package/dist/services/DeviceService.js.map +1 -1
  101. package/dist/services/PlanService.d.ts +12 -0
  102. package/dist/services/PlanService.d.ts.map +1 -1
  103. package/dist/services/PlanService.js +1 -1
  104. package/dist/services/PlanService.js.map +1 -1
  105. package/dist/services/RestoreService.d.ts +2 -2
  106. package/dist/services/RestoreService.d.ts.map +1 -1
  107. package/dist/services/RestoreService.js +1 -1
  108. package/dist/services/RestoreService.js.map +1 -1
  109. package/dist/services/StorageService.d.ts.map +1 -1
  110. package/dist/services/StorageService.js +1 -1
  111. package/dist/services/StorageService.js.map +1 -1
  112. package/dist/services/events/BackupEventService.d.ts +11 -0
  113. package/dist/services/events/BackupEventService.d.ts.map +1 -1
  114. package/dist/services/events/BackupEventService.js +1 -1
  115. package/dist/services/events/BackupEventService.js.map +1 -1
  116. package/dist/services/events/ReplicationEventService.d.ts +33 -0
  117. package/dist/services/events/ReplicationEventService.d.ts.map +1 -0
  118. package/dist/services/events/ReplicationEventService.js +1 -0
  119. package/dist/services/events/ReplicationEventService.js.map +1 -0
  120. package/dist/services/listeners/BackupEventListener.d.ts +3 -1
  121. package/dist/services/listeners/BackupEventListener.d.ts.map +1 -1
  122. package/dist/services/listeners/BackupEventListener.js +1 -1
  123. package/dist/services/listeners/BackupEventListener.js.map +1 -1
  124. package/dist/services/listeners/ReplicationEventListener.d.ts +30 -0
  125. package/dist/services/listeners/ReplicationEventListener.d.ts.map +1 -0
  126. package/dist/services/listeners/ReplicationEventListener.js +1 -0
  127. package/dist/services/listeners/ReplicationEventListener.js.map +1 -0
  128. package/dist/stores/BackupStore.d.ts +8 -0
  129. package/dist/stores/BackupStore.d.ts.map +1 -1
  130. package/dist/stores/BackupStore.js +1 -1
  131. package/dist/stores/BackupStore.js.map +1 -1
  132. package/dist/stores/DeviceStore.d.ts +6 -0
  133. package/dist/stores/DeviceStore.d.ts.map +1 -1
  134. package/dist/stores/DeviceStore.js +1 -1
  135. package/dist/stores/DeviceStore.js.map +1 -1
  136. package/dist/stores/PlanStore.d.ts +3 -1
  137. package/dist/stores/PlanStore.d.ts.map +1 -1
  138. package/dist/stores/PlanStore.js +1 -1
  139. package/dist/stores/PlanStore.js.map +1 -1
  140. package/dist/stores/StorageStore.d.ts +10 -0
  141. package/dist/stores/StorageStore.d.ts.map +1 -1
  142. package/dist/stores/StorageStore.js +1 -1
  143. package/dist/stores/StorageStore.js.map +1 -1
  144. package/dist/strategies/backup/BackupStrategy.d.ts +20 -2
  145. package/dist/strategies/backup/BackupStrategy.d.ts.map +1 -1
  146. package/dist/strategies/backup/LocalStrategy.d.ts +20 -2
  147. package/dist/strategies/backup/LocalStrategy.d.ts.map +1 -1
  148. package/dist/strategies/backup/LocalStrategy.js +1 -1
  149. package/dist/strategies/backup/LocalStrategy.js.map +1 -1
  150. package/dist/strategies/backup/RemoteStrategy.d.ts +9 -2
  151. package/dist/strategies/backup/RemoteStrategy.d.ts.map +1 -1
  152. package/dist/strategies/backup/RemoteStrategy.js +1 -1
  153. package/dist/strategies/backup/RemoteStrategy.js.map +1 -1
  154. package/dist/strategies/snapshot/LocalStrategy.d.ts +20 -4
  155. package/dist/strategies/snapshot/LocalStrategy.d.ts.map +1 -1
  156. package/dist/strategies/snapshot/LocalStrategy.js +1 -1
  157. package/dist/strategies/snapshot/LocalStrategy.js.map +1 -1
  158. package/dist/strategies/snapshot/RemoteStrategy.d.ts +4 -1
  159. package/dist/strategies/snapshot/RemoteStrategy.d.ts.map +1 -1
  160. package/dist/strategies/snapshot/RemoteStrategy.js +1 -1
  161. package/dist/strategies/snapshot/RemoteStrategy.js.map +1 -1
  162. package/dist/strategies/snapshot/SnapshotStrategy.d.ts +20 -4
  163. package/dist/strategies/snapshot/SnapshotStrategy.d.ts.map +1 -1
  164. package/dist/types/backups.d.ts +24 -0
  165. package/dist/types/backups.d.ts.map +1 -1
  166. package/dist/types/events.d.ts +110 -0
  167. package/dist/types/events.d.ts.map +1 -1
  168. package/dist/types/plans.d.ts +23 -2
  169. package/dist/types/plans.d.ts.map +1 -1
  170. package/dist/types/restores.d.ts +2 -0
  171. package/dist/types/restores.d.ts.map +1 -1
  172. package/dist/utils/restic/restic.d.ts.map +1 -1
  173. package/dist/utils/restic/restic.js +1 -1
  174. package/dist/utils/restic/restic.js.map +1 -1
  175. package/dist/utils/sanitizeStoragePath.d.ts +5 -1
  176. package/dist/utils/sanitizeStoragePath.d.ts.map +1 -1
  177. package/dist/utils/sanitizeStoragePath.js +1 -1
  178. package/dist/utils/sanitizeStoragePath.js.map +1 -1
  179. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplicationEventService.js","sourceRoot":"","sources":["../../../src/services/events/ReplicationEventService.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BaseBackupManager } from '../../managers/BaseBackupManager';
2
2
  import { BackupStore } from '../../stores/BackupStore';
3
3
  import { PlanStore } from '../../stores/PlanStore';
4
- import { BackupStartEvent, BackupCompleteEvent, BackupErrorEvent, PruneEndEvent, BackupStatUpdateEvent } from '../../types/events';
4
+ import { BackupStartEvent, BackupCompleteEvent, BackupErrorEvent, PruneEndEvent, BackupStatUpdateEvent, BackupReplicationStatUpdateEvent, BackupReplicationMirrorSizeUpdateEvent } from '../../types/events';
5
5
  import { BackupEventService } from '../events/BackupEventService';
6
6
  /**
7
7
  * Listens for events from the local agent (BaseBackupManager) and updates
@@ -27,6 +27,8 @@ export declare class BackupEventListener {
27
27
  error: string;
28
28
  }): Promise<void>;
29
29
  protected onBackupStatsUpdate(data: BackupStatUpdateEvent): Promise<void>;
30
+ protected onReplicationStatsUpdate(data: BackupReplicationStatUpdateEvent): Promise<void>;
31
+ protected onMirrorSizesUpdate(data: BackupReplicationMirrorSizeUpdateEvent): Promise<void>;
30
32
  protected onPruneEnd(data: PruneEndEvent): Promise<void>;
31
33
  /**
32
34
  * Called after a job has permanently failed. Implemented in the PRO version.
@@ -1 +1 @@
1
- {"version":3,"file":"BackupEventListener.d.ts","sourceRoot":"","sources":["../../../src/services/listeners/BackupEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EAEb,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;GAGG;AACH,qBAAa,mBAAmB;IAK9B,SAAS,CAAC,UAAU,EAAE,iBAAiB;IACvC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IANnC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,WAAW,SAA6B;gBAGvC,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW;IAMnC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;cAqBxB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIpD,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAI1D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIpD,eAAe,CAAC,IAAI,EAAE;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,IAAI,CAAC;cAYD,mBAAmB,CAAC,IAAI,EAAE,qBAAqB;cAK/C,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D;;;;;;;OAOG;cACa,qBAAqB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;CAChB"}
1
+ {"version":3,"file":"BackupEventListener.d.ts","sourceRoot":"","sources":["../../../src/services/listeners/BackupEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,gCAAgC,EAChC,sCAAsC,EACtC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;GAGG;AACH,qBAAa,mBAAmB;IAK9B,SAAS,CAAC,UAAU,EAAE,iBAAiB;IACvC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IANnC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,WAAW,SAA6B;gBAGvC,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW;IAMnC;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;cA6BxB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIpD,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAI1D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIpD,eAAe,CAAC,IAAI,EAAE;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,IAAI,CAAC;cAYD,mBAAmB,CAAC,IAAI,EAAE,qBAAqB;cAK/C,wBAAwB,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;cAI/E,mBAAmB,CAAC,IAAI,EAAE,sCAAsC,GAAG,OAAO,CAAC,IAAI,CAAC;cAUhF,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D;;;;;;;OAOG;cACa,qBAAqB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;CAChB"}
@@ -1 +1 @@
1
- import{appPaths}from"../../utils/AppPaths";import{jobProcessor}from"../../jobs/JobProcessor";import{BackupEventService}from"../events/BackupEventService";export class BackupEventListener{localAgent;planStore;backupStore;backupEventService;progressDir=appPaths.getProgressDir();constructor(localAgent,planStore,backupStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.backupEventService=new BackupEventService(planStore,backupStore,localAgent),this.registerEventListeners()}registerEventListeners(){this.localAgent.on("backup_start",event=>this.onBackupStart(event)),this.localAgent.on("backup_complete",event=>this.onBackupComplete(event)),this.localAgent.on("backup_error",event=>this.onBackupError(event)),jobProcessor.on("backup_failed",event=>{this.onBackupFailure(event)}),this.localAgent.on("backup_stats_update",event=>this.onBackupStatsUpdate(event)),this.localAgent.on("pruneEnd",event=>this.onPruneEnd(event))}async onBackupStart(data){await this.backupEventService.onBackupStart(data)}async onBackupComplete(data){await this.backupEventService.onBackupComplete(data)}async onBackupError(data){await this.backupEventService.onBackupError(data)}async onBackupFailure(data){await this.backupEventService.onBackupFailure(data)}async onBackupStatsUpdate(data){await this.backupEventService.onBackupStatsUpdate(data)}async onPruneEnd(data){await this.backupEventService.onPruneEnd(data)}async afterPermanentFailure(planId,backupId,error){}}
1
+ import{appPaths}from"../../utils/AppPaths";import{jobProcessor}from"../../jobs/JobProcessor";import{BackupEventService}from"../events/BackupEventService";export class BackupEventListener{localAgent;planStore;backupStore;backupEventService;progressDir=appPaths.getProgressDir();constructor(localAgent,planStore,backupStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.backupEventService=new BackupEventService(planStore,backupStore,localAgent),this.registerEventListeners()}registerEventListeners(){this.localAgent.on("backup_start",event=>this.onBackupStart(event)),this.localAgent.on("backup_complete",event=>this.onBackupComplete(event)),this.localAgent.on("backup_error",event=>this.onBackupError(event)),jobProcessor.on("backup_failed",event=>{this.onBackupFailure(event)}),this.localAgent.on("backup_stats_update",event=>this.onBackupStatsUpdate(event)),this.localAgent.on("backup_replication_stats_update",event=>this.onReplicationStatsUpdate(event)),this.localAgent.on("backup_mirror_sizes_update",event=>this.onMirrorSizesUpdate(event)),this.localAgent.on("pruneEnd",event=>this.onPruneEnd(event))}async onBackupStart(data){await this.backupEventService.onBackupStart(data)}async onBackupComplete(data){await this.backupEventService.onBackupComplete(data)}async onBackupError(data){await this.backupEventService.onBackupError(data)}async onBackupFailure(data){await this.backupEventService.onBackupFailure(data)}async onBackupStatsUpdate(data){await this.backupEventService.onBackupStatsUpdate(data)}async onReplicationStatsUpdate(data){await this.backupEventService.onReplicationStatsUpdate(data)}async onMirrorSizesUpdate(data){try{for(const{replicationId:replicationId,size:size}of data.mirrorSizes)await this.backupStore.updateMirrorStatus(data.backupId,replicationId,{size:size})}catch(error){}}async onPruneEnd(data){await this.backupEventService.onPruneEnd(data)}async afterPermanentFailure(planId,backupId,error){}}
@@ -1 +1 @@
1
- {"version":3,"file":"BackupEventListener.js","sourceRoot":"","sources":["../../../src/services/listeners/BackupEventListener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BackupEventListener.js","sourceRoot":"","sources":["../../../src/services/listeners/BackupEventListener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { BaseBackupManager } from '../../managers/BaseBackupManager';
2
+ import { BackupStore } from '../../stores/BackupStore';
3
+ import { StorageStore } from '../../stores/StorageStore';
4
+ import { PlanStore } from '../../stores/PlanStore';
5
+ import { ReplicationStartEvent, ReplicationCompleteEvent, ReplicationInitEvent, ReplicationRetryEvent } from '../../types/events';
6
+ import { BackupMirror } from '../../types/backups';
7
+ import { ReplicationEventService } from '../events/ReplicationEventService';
8
+ /**
9
+ * Listens for replication-related events from the local agent (BaseBackupManager)
10
+ * and delegates handling to ReplicationEventService.
11
+ */
12
+ export declare class ReplicationEventListener {
13
+ protected localAgent: BaseBackupManager;
14
+ protected planStore: PlanStore;
15
+ protected backupStore: BackupStore;
16
+ protected storageStore: StorageStore;
17
+ protected replicationEventService: ReplicationEventService;
18
+ constructor(localAgent: BaseBackupManager, planStore: PlanStore, backupStore: BackupStore, storageStore: StorageStore);
19
+ protected registerEventListeners(): void;
20
+ protected onReplicationInit(data: ReplicationInitEvent): Promise<void>;
21
+ protected onReplicationStart(data: ReplicationStartEvent): Promise<void>;
22
+ protected onReplicationComplete(data: ReplicationCompleteEvent): Promise<void>;
23
+ protected onReplicationPartialFailure(data: {
24
+ planId: string;
25
+ backupId: string;
26
+ mirrors: BackupMirror[];
27
+ }): Promise<void>;
28
+ protected onReplicationRetry(data: ReplicationRetryEvent): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=ReplicationEventListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplicationEventListener.d.ts","sourceRoot":"","sources":["../../../src/services/listeners/ReplicationEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E;;;GAGG;AACH,qBAAa,wBAAwB;IAInC,SAAS,CAAC,UAAU,EAAE,iBAAiB;IACvC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IANrC,SAAS,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;gBAGhD,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY;IAWrC,SAAS,CAAC,sBAAsB,IAAI,IAAI;cAoBxB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cAI5D,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;cAI9D,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIpE,2BAA2B,CAAC,IAAI,EAAE;QACjD,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,YAAY,EAAE,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;cAID,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9E"}
@@ -0,0 +1 @@
1
+ import{ReplicationEventService}from"../events/ReplicationEventService";export class ReplicationEventListener{localAgent;planStore;backupStore;storageStore;replicationEventService;constructor(localAgent,planStore,backupStore,storageStore){this.localAgent=localAgent,this.planStore=planStore,this.backupStore=backupStore,this.storageStore=storageStore,this.replicationEventService=new ReplicationEventService(planStore,backupStore,storageStore,localAgent),this.registerEventListeners()}registerEventListeners(){this.localAgent.on("replication_init",event=>this.onReplicationInit(event)),this.localAgent.on("replication_start",event=>this.onReplicationStart(event)),this.localAgent.on("replication_complete",event=>this.onReplicationComplete(event)),this.localAgent.on("replication_partial_failure",event=>this.onReplicationPartialFailure(event)),this.localAgent.on("replication_retry",event=>this.onReplicationRetry(event))}async onReplicationInit(data){await this.replicationEventService.onReplicationInit(data)}async onReplicationStart(data){await this.replicationEventService.onReplicationStart(data)}async onReplicationComplete(data){await this.replicationEventService.onReplicationComplete(data)}async onReplicationPartialFailure(data){await this.replicationEventService.onReplicationPartialFailure(data)}async onReplicationRetry(data){await this.replicationEventService.onReplicationRetry(data)}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplicationEventListener.js","sourceRoot":"","sources":["../../../src/services/listeners/ReplicationEventListener.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAIzB;IACA;IACA;IACA;IAND,uBAAuB,CAA0B;IAE3D,YACW,UAA6B,EAC7B,SAAoB,EACpB,WAAwB,EACxB,YAA0B;QAH1B,eAAU,GAAV,UAAU,CAAmB;QAC7B,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAEpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,uBAAuB,CACzD,SAAS,EACT,WAAW,EACX,YAAY,EACZ,UAAU,CACV,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC/B,CAAC;IAES,sBAAsB;QAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAA2B,EAAE,EAAE,CACtE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAC7B,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAA4B,EAAE,EAAE,CACxE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAC9B,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAA+B,EAAE,EAAE,CAC9E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,EAAE,CACjB,6BAA6B,EAC7B,CAAC,KAAoE,EAAE,EAAE,CACxE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CACxC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAA4B,EAAE,EAAE,CACxE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAC9B,CAAC;IACH,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,IAA0B;QAC3D,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QAC7D,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,IAA8B;QACnE,MAAM,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAES,KAAK,CAAC,2BAA2B,CAAC,IAI3C;QACA,MAAM,IAAI,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QAC7D,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;CACD"}
@@ -1,15 +1,23 @@
1
1
  import { DatabaseType } from '../db';
2
2
  import { Backup, NewBackup } from '../db/schema/backups';
3
+ import { BackupMirror } from '../types/backups';
3
4
  /**
4
5
  * BackupStore is a class for managing backup records in the database.
5
6
  */
6
7
  export declare class BackupStore {
7
8
  private db;
9
+ /**
10
+ * Per-backup promise chain that serializes `updateMirrorStatus` calls
11
+ * to prevent lost-update races when concurrent replications modify the
12
+ * same mirrors JSON array.
13
+ */
14
+ private mirrorUpdateChain;
8
15
  constructor(db: DatabaseType);
9
16
  getAll(): Promise<Backup[] | null>;
10
17
  getById(backupId: string): Promise<Backup | null>;
11
18
  create(backupData: NewBackup): Promise<Backup | null>;
12
19
  update(id: string, updates: Partial<NewBackup>): Promise<Backup | null>;
20
+ updateMirrorStatus(backupId: string, replicationId: string, update: Partial<BackupMirror>): Promise<Backup | null>;
13
21
  delete(id: string): Promise<boolean>;
14
22
  deleteByPlanId(id: string): Promise<boolean>;
15
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BackupStore.d.ts","sourceRoot":"","sources":["../../src/stores/BackupStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,EAAE,CAAe;gBACb,EAAE,EAAE,YAAY;IAItB,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAKlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQjD,MAAM,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQrD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWvE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIlD"}
1
+ {"version":3,"file":"BackupStore.d.ts","sourceRoot":"","sources":["../../src/stores/BackupStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,EAAE,CAAe;IACzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAA6C;gBAE1D,EAAE,EAAE,YAAY;IAItB,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAKlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQjD,MAAM,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQrD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWvE,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8CnB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIlD"}
@@ -1 +1 @@
1
- import{eq}from"drizzle-orm";import{sql}from"drizzle-orm/sql";import{backups}from"../db/schema/backups";export class BackupStore{db;constructor(db){this.db=db}async getAll(){return await this.db.query.backups.findMany()||null}async getById(backupId){return await this.db.query.backups.findFirst({where:eq(backups.id,backupId)})||null}async create(backupData){return(await this.db.insert(backups).values({...backupData,createdAt:sql`(unixepoch())`,started:sql`(unixepoch())`}).returning())[0]||null}async update(id,updates){const updatedPayload={...updates,updatedAt:sql`(unixepoch())`};return(await this.db.update(backups).set(updatedPayload).where(eq(backups.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(backups).where(eq(backups.id,id))).changes>0}async deleteByPlanId(id){return(await this.db.delete(backups).where(eq(backups.planId,id))).changes>0}}
1
+ import{eq}from"drizzle-orm";import{sql}from"drizzle-orm/sql";import{backups}from"../db/schema/backups";export class BackupStore{db;mirrorUpdateChain=new Map;constructor(db){this.db=db}async getAll(){return await this.db.query.backups.findMany()||null}async getById(backupId){return await this.db.query.backups.findFirst({where:eq(backups.id,backupId)})||null}async create(backupData){return(await this.db.insert(backups).values({...backupData,createdAt:sql`(unixepoch())`,started:sql`(unixepoch())`}).returning())[0]||null}async update(id,updates){const updatedPayload={...updates,updatedAt:sql`(unixepoch())`};return(await this.db.update(backups).set(updatedPayload).where(eq(backups.id,id)).returning())[0]||null}async updateMirrorStatus(backupId,replicationId,update){const current=(this.mirrorUpdateChain.get(backupId)??Promise.resolve(null)).then(async()=>{const backup=await this.getById(backupId);if(!backup)return null;const currentMirrors=backup.mirrors||[];let mirrors;return mirrors=currentMirrors.some(m=>m.replicationId===replicationId)?currentMirrors.map(m=>m.replicationId===replicationId?{...m,...update}:m):[...currentMirrors,{replicationId:replicationId,storageId:"",storageName:"",storagePath:"",storageType:"",status:"pending",...update}],this.update(backupId,{mirrors:mirrors})});this.mirrorUpdateChain.set(backupId,current);try{return await current}finally{this.mirrorUpdateChain.get(backupId)===current&&this.mirrorUpdateChain.delete(backupId)}}async delete(id){return(await this.db.delete(backups).where(eq(backups.id,id))).changes>0}async deleteByPlanId(id){return(await this.db.delete(backups).where(eq(backups.planId,id))).changes>0}}
@@ -1 +1 @@
1
- {"version":3,"file":"BackupStore.js","sourceRoot":"","sources":["../../src/stores/BackupStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAqB,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,WAAW;IACf,EAAE,CAAe;IACzB,YAAY,EAAgB;QAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvD,OAAO,OAAO,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACpD,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAqB;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,CAAA,eAAe,EAAE,OAAO,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;aACrF,SAAS,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAA2B;QACnD,MAAM,cAAc,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,cAAc,CAAC;aACnB,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aACzB,SAAS,EAAE,CAAC;QAEd,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;CACD"}
1
+ {"version":3,"file":"BackupStore.js","sourceRoot":"","sources":["../../src/stores/BackupStore.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ export declare class DeviceStore {
8
8
  constructor(db: DatabaseType);
9
9
  getAll(): Promise<Device[] | null>;
10
10
  getById(deviceId: string): Promise<Device | null>;
11
+ getDeviceStorages(id: string): Promise<{
12
+ id: string;
13
+ name: string;
14
+ type: string;
15
+ storageTypeName: string;
16
+ }[] | null>;
11
17
  create(deviceData: NewDevice): Promise<Device | null>;
12
18
  update(id: string, updates: Partial<NewDevice>): Promise<Device | null>;
13
19
  delete(id: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceStore.d.ts","sourceRoot":"","sources":["../../src/stores/DeviceStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,qBAAa,WAAW;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAkBlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQjD,MAAM,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKrD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUvE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAK1C"}
1
+ {"version":3,"file":"DeviceStore.d.ts","sourceRoot":"","sources":["../../src/stores/DeviceStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,MAAM,sBAAsB,CAAC;AAIlE;;GAEG;AACH,qBAAa,WAAW;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAkBlC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQjD,iBAAiB,CACtB,EAAE,EAAE,MAAM,GACR,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAkElF,MAAM,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKrD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUvE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAK1C"}
@@ -1 +1 @@
1
- import{eq,sql}from"drizzle-orm";import{devices}from"../db/schema/devices";export class DeviceStore{db;constructor(db){this.db=db}async getAll(){return await this.db.query.devices.findMany({with:{plans:{columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0}}}})||null}async getById(deviceId){return await this.db.query.devices.findFirst({where:eq(devices.id,deviceId)})||null}async create(deviceData){return(await this.db.insert(devices).values(deviceData).returning())[0]||null}async update(id,updates){return(await this.db.update(devices).set({...updates,updatedAt:sql`(unixepoch())`}).where(eq(devices.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(devices).where(eq(devices.id,id))).changes>0}}
1
+ import{eq,sql}from"drizzle-orm";import{devices}from"../db/schema/devices";import{providers}from"../utils/providers";import{plans}from"../db/schema/plans";export class DeviceStore{db;constructor(db){this.db=db}async getAll(){return await this.db.query.devices.findMany({with:{plans:{columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0}}}})||null}async getById(deviceId){return await this.db.query.devices.findFirst({where:eq(devices.id,deviceId)})||null}async getDeviceStorages(id){if("main"===id){return(await this.db.query.storages.findMany({columns:{id:!0,name:!0,type:!0}})).map(s=>({...s,type:s.type??"",storageTypeName:providers[s.type]?.name??""}))}{const planItems=await this.db.query.plans.findMany({where:eq(plans.sourceId,id),with:{storage:{columns:{id:!0,name:!0,type:!0}}}}),storageMap=new Map;for(const plan of planItems){plan.storage&&storageMap.set(plan.storage.id,{id:plan.storage.id,name:plan.storage.name,type:plan.storage.type??""});const replication=plan.settings?.replication;if(replication?.enabled&&replication.storages?.length)for(const rs of replication.storages)storageMap.has(rs.storageId)||storageMap.set(rs.storageId,{id:rs.storageId,name:rs.storageName,type:rs.storageType})}return[...storageMap.values()].map(s=>({...s,storageTypeName:providers[s.type]?.name??""}))}}async create(deviceData){return(await this.db.insert(devices).values(deviceData).returning())[0]||null}async update(id,updates){return(await this.db.update(devices).set({...updates,updatedAt:sql`(unixepoch())`}).where(eq(devices.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(devices).where(eq(devices.id,id))).changes>0}}
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceStore.js","sourceRoot":"","sources":["../../src/stores/DeviceStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAqB,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,WAAW;IACH;IAApB,YAAoB,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAExC,KAAK,CAAC,MAAM;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,IAAI,EAAE;gBACL,KAAK,EAAE;oBACN,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;wBACX,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD,CAAC,CAAC;QACH,OAAO,OAAO,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACpD,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAqB;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAA2B;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;aAClD,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aACzB,SAAS,EAAE,CAAC;QAEd,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;CACD"}
1
+ {"version":3,"file":"DeviceStore.js","sourceRoot":"","sources":["../../src/stores/DeviceStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAqB,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,WAAW;IACH;IAApB,YAAoB,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAExC,KAAK,CAAC,MAAM;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpD,IAAI,EAAE;gBACL,KAAK,EAAE;oBACN,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;wBACX,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD,CAAC,CAAC;QACH,OAAO,OAAO,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACpD,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC/B,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,EAAU;QAEV,sCAAsC;QACtC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACzD,OAAO,EAAE;oBACR,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;iBACV;aACD,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,IAAc,CAAC,EAAE,IAAI,IAAI,EAAE;aACxD,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACP,wDAAwD;YACxD,mGAAmG;YACnG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACpD,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC7B,IAAI,EAAE;oBACL,OAAO,EAAE;wBACR,OAAO,EAAE;4BACR,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,IAAI;yBACV;qBACD;iBACD;aACD,CAAC,CAAC;YAEH,0DAA0D;YAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAsD,CAAC;YAEjF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC9B,iCAAiC;gBACjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;wBAC/B,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;wBACnB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;wBACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;qBAC7B,CAAC,CAAC;gBACJ,CAAC;gBAED,qDAAqD;gBACrD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;gBAC/C,IAAI,WAAW,EAAE,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;oBAC1D,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;wBACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;4BACnC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE;gCAC5B,EAAE,EAAE,EAAE,CAAC,SAAS;gCAChB,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,sCAAsC;gCAC5D,IAAI,EAAE,EAAE,CAAC,WAAW;6BACpB,CAAC,CAAC;wBACJ,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzC,GAAG,CAAC;gBACJ,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;aAC9C,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAqB;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAA2B;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;aAClD,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aACzB,SAAS,EAAE,CAAC;QAEd,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;CACD"}
@@ -23,8 +23,8 @@ export declare class PlanStore {
23
23
  };
24
24
  description: string | null;
25
25
  id: string;
26
- title: string | null;
27
26
  started: Date | null;
27
+ title: string | null;
28
28
  ended: Date | null;
29
29
  inProgress: boolean | null;
30
30
  status: string | null;
@@ -32,7 +32,9 @@ export declare class PlanStore {
32
32
  download: import("../types/backups").BackupDownload | null;
33
33
  taskStats: import("../types/backups").BackupTaskStats | null;
34
34
  completionStats: import("../types/backups").BackupCompletionStats | null;
35
+ mirrors: import("../types/backups").BackupMirror[] | null;
35
36
  }[];
37
+ handleBackupMirrors(plan: PlanFull, backups: PlanFull['backups']): import("../types/plans").PlanBackupItem[];
36
38
  create(planData: NewPlan): Promise<Plan | null>;
37
39
  update(id: string, updates: Partial<PlanFull | Plan>): Promise<Plan | null>;
38
40
  delete(id: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"PlanStore.d.ts","sourceRoot":"","sources":["../../src/stores/PlanStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAS,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAsB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;GAEG;AACH,qBAAa,SAAS;IACT,SAAS,CAAC,EAAE,EAAE,YAAY;gBAAhB,EAAE,EAAE,YAAY;IAEhC,MAAM,CAAC,OAAO,GAAE,OAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAiE3D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA6D3E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAO1D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAO9D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;IAqBlF,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAa/C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAsC3E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAGpE"}
1
+ {"version":3,"file":"PlanStore.d.ts","sourceRoot":"","sources":["../../src/stores/PlanStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAS,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAsB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;GAEG;AACH,qBAAa,SAAS;IACT,SAAS,CAAC,EAAE,EAAE,YAAY;gBAAhB,EAAE,EAAE,YAAY;IAEhC,MAAM,CAAC,OAAO,GAAE,OAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAkE3D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAmE3E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAO1D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAO9D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;IAqBxF,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC;IAe1D,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAa/C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAsC3E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;CAGpE"}
@@ -1 +1 @@
1
- import{eq}from"drizzle-orm";import{and,sql}from"drizzle-orm/sql";import{plans}from"../db/schema/plans";import{backups}from"../db/schema/backups";import{restores}from"../db/schema/restores";export class PlanStore{db;constructor(db){this.db=db}async getAll(history=!0){const result=await this.db.query.plans.findMany({with:{device:{columns:{id:!0,name:!0,hostname:!0}},storage:{columns:{id:!0,name:!0,type:!0}},backups:{limit:history?90:10,orderBy:(backups,{desc:desc})=>[desc(backups.ended)],columns:{id:!0,title:!0,description:!0,status:!0,errorMsg:!0,download:!0,started:!0,ended:!0,completionStats:!0,taskStats:!0,inProgress:!0}},restores:{limit:history?90:0,orderBy:(restores,{desc:desc})=>[desc(restores.ended)],columns:{id:!0,backupId:!0,started:!0,ended:!0,config:!0,status:!0,completionStats:!0,taskStats:!0,errorMsg:!0}}}});if(result){const plans=result.map(async plan=>({...plan,backups:this.handleBackupStats(plan.method,plan.backups,plan.stats)}));return Promise.all(plans)}return null}async getById(planId,history=!1){const thePlan=await this.db.query.plans.findFirst({where:eq(plans.id,planId),with:{device:{columns:{id:!0,name:!0,hostname:!0}},storage:{columns:{id:!0,name:!0,type:!0}},backups:{limit:history?90:10,orderBy:(backups,{desc:desc})=>[desc(backups.ended)],columns:{id:!0,title:!0,description:!0,status:!0,errorMsg:!0,download:!0,started:!0,ended:!0,inProgress:!0,completionStats:!0,taskStats:!0}},restores:{limit:history?90:0,orderBy:(restores,{desc:desc})=>[desc(restores.ended)],columns:{id:!0,backupId:!0,started:!0,ended:!0,config:!0,status:!0,inProgress:!0,completionStats:!0,taskStats:!0,errorMsg:!0}}}});return thePlan&&thePlan.backups&&(thePlan.backups=this.handleBackupStats(thePlan.method,thePlan.backups,thePlan.stats)),thePlan||null}async getStoragePlans(storageId){return await this.db.query.plans.findMany({where:eq(plans.storageId,storageId)})}async getDevicePlans(deviceId){return await this.db.query.plans.findMany({where:eq(plans.sourceId,deviceId)})}handleBackupStats(method,backups,stats){return backups.map(backup=>{const{completionStats:backupCompStats,taskStats:backupTaskStats}=backup,backupStarted=backup.started?new Date(backup.started).getTime():0,backupEnded=backup.ended?new Date(backup.ended).getTime():0,taskStats=backupCompStats||backupTaskStats;return{...backup,totalFiles:backupTaskStats?.total_files_processed||0,totalSize:backupTaskStats?.total_bytes_processed||0,duration:Math.floor((backupEnded-backupStarted)/1e3),active:stats?.snapshots?.includes(backup.id)||!1,changes:{new:(taskStats?.files_new||0)+(taskStats?.dirs_new||0),modified:(taskStats?.files_changed||0)+(taskStats?.dirs_changed||0),removed:0}}})}async create(planData){return(await this.db.insert(plans).values({...planData,createdAt:sql`(unixepoch())`,isActive:!0,stats:{size:0,snapshots:[]}}).returning())[0]||null}async update(id,updates){const allowedFields=["title","description","isActive","inProgress","storagePath","sourceConfig","verified","lastBackupTime","tags","stats","settings"],updatedPlan=Object.fromEntries(Object.entries(updates).filter(([key])=>allowedFields.includes(key)));if(0===Object.keys(updatedPlan).length)return null;return(await this.db.update(plans).set({...updatedPlan,updatedAt:sql`(unixepoch())`}).where(eq(plans.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(plans).where(eq(plans.id,id))).changes>0}async hasActiveBackups(planId){return(await this.db.select().from(backups).where(and(eq(backups.planId,planId),eq(backups.inProgress,!0))).limit(1)).length>0}async hasActiveRestore(planId){return(await this.db.select().from(restores).where(and(eq(restores.planId,planId),eq(restores.inProgress,!0))).limit(1)).length>0}async setActive(id,isActive){return this.update(id,{isActive:isActive})}}
1
+ import{eq}from"drizzle-orm";import{and,sql}from"drizzle-orm/sql";import{plans}from"../db/schema/plans";import{backups}from"../db/schema/backups";import{restores}from"../db/schema/restores";export class PlanStore{db;constructor(db){this.db=db}async getAll(history=!0){const result=await this.db.query.plans.findMany({with:{device:{columns:{id:!0,name:!0,hostname:!0}},storage:{columns:{id:!0,name:!0,type:!0}},backups:{limit:history?90:10,orderBy:(backups,{desc:desc})=>[desc(backups.ended)],columns:{id:!0,title:!0,description:!0,status:!0,errorMsg:!0,download:!0,started:!0,ended:!0,completionStats:!0,taskStats:!0,inProgress:!0,mirrors:!0}},restores:{limit:history?90:0,orderBy:(restores,{desc:desc})=>[desc(restores.ended)],columns:{id:!0,backupId:!0,started:!0,ended:!0,config:!0,status:!0,completionStats:!0,taskStats:!0,errorMsg:!0}}}});if(result){const plans=result.map(async plan=>({...plan,backups:this.handleBackupStats(plan.method,plan.backups,plan.stats)}));return Promise.all(plans)}return null}async getById(planId,history=!1){const thePlan=await this.db.query.plans.findFirst({where:eq(plans.id,planId),with:{device:{columns:{id:!0,name:!0,hostname:!0}},storage:{columns:{id:!0,name:!0,type:!0}},backups:{limit:history?90:10,orderBy:(backups,{desc:desc})=>[desc(backups.ended)],columns:{id:!0,title:!0,description:!0,status:!0,errorMsg:!0,download:!0,started:!0,ended:!0,inProgress:!0,completionStats:!0,taskStats:!0,mirrors:!0}},restores:{limit:history?90:0,orderBy:(restores,{desc:desc})=>[desc(restores.ended)],columns:{id:!0,backupId:!0,started:!0,ended:!0,config:!0,status:!0,inProgress:!0,completionStats:!0,taskStats:!0,errorMsg:!0}}}});return thePlan&&thePlan.backups&&(thePlan.backups=this.handleBackupStats(thePlan.method,thePlan.backups,thePlan.stats)),thePlan&&thePlan.backups&&thePlan.backups.length>0&&thePlan.settings?.replication&&(thePlan.backups=this.handleBackupMirrors(thePlan,thePlan.backups)),thePlan||null}async getStoragePlans(storageId){return await this.db.query.plans.findMany({where:eq(plans.storageId,storageId)})}async getDevicePlans(deviceId){return await this.db.query.plans.findMany({where:eq(plans.sourceId,deviceId)})}handleBackupStats(method,backups,stats){return backups.map(backup=>{const{completionStats:backupCompStats,taskStats:backupTaskStats}=backup,backupStarted=backup.started?new Date(backup.started).getTime():0,backupEnded=backup.ended?new Date(backup.ended).getTime():0,taskStats=backupCompStats||backupTaskStats;return{...backup,totalFiles:backupTaskStats?.total_files_processed||0,totalSize:backupTaskStats?.total_bytes_processed||0,duration:Math.floor((backupEnded-backupStarted)/1e3),active:stats?.snapshots?.includes(backup.id)||!1,changes:{new:(taskStats?.files_new||0)+(taskStats?.dirs_new||0),modified:(taskStats?.files_changed||0)+(taskStats?.dirs_changed||0),removed:0}}})}handleBackupMirrors(plan,backups){const replicationSettings=plan.settings.replication,availableMirrorStorages=replicationSettings?.storages.map(s=>s.storageId)||[];return plan.backups.map(backup=>(backup.mirrors&&(backup.mirrors=backup.mirrors.filter(mirror=>availableMirrorStorages.includes(mirror.storageId))),backup))}async create(planData){return(await this.db.insert(plans).values({...planData,createdAt:sql`(unixepoch())`,isActive:!0,stats:{size:0,snapshots:[]}}).returning())[0]||null}async update(id,updates){const allowedFields=["title","description","isActive","inProgress","storagePath","sourceConfig","verified","lastBackupTime","tags","stats","settings"],updatedPlan=Object.fromEntries(Object.entries(updates).filter(([key])=>allowedFields.includes(key)));if(0===Object.keys(updatedPlan).length)return null;return(await this.db.update(plans).set({...updatedPlan,updatedAt:sql`(unixepoch())`}).where(eq(plans.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(plans).where(eq(plans.id,id))).changes>0}async hasActiveBackups(planId){return(await this.db.select().from(backups).where(and(eq(backups.planId,planId),eq(backups.inProgress,!0))).limit(1)).length>0}async hasActiveRestore(planId){return(await this.db.select().from(restores).where(and(eq(restores.planId,planId),eq(restores.inProgress,!0))).limit(1)).length>0}async setActive(id,isActive){return this.update(id,{isActive:isActive})}}
@@ -1 +1 @@
1
- {"version":3,"file":"PlanStore.js","sourceRoot":"","sources":["../../src/stores/PlanStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanStore.js","sourceRoot":"","sources":["../../src/stores/PlanStore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { DatabaseType } from '../db';
2
2
  import { Storage, NewStorage, StorageFull } from '../db/schema/storages';
3
+ import { PlanChildItem } from '../types/plans';
3
4
  /**
4
5
  * StorageStore is a class for managing storage records in the database.
5
6
  */
@@ -8,6 +9,15 @@ export declare class StorageStore {
8
9
  constructor(db: DatabaseType);
9
10
  getAll(full?: boolean, hideCreds?: boolean): Promise<Storage[] | null>;
10
11
  getById(storageId: string, full?: boolean, hideCreds?: boolean): Promise<Storage | StorageFull | null>;
12
+ /**
13
+ * Returns plans that reference the given storage as a replication target.
14
+ */
15
+ getReplicationPlans(storageId: string): Promise<PlanChildItem[]>;
16
+ /**
17
+ * Returns plans that use a given storage for replication (inside settings.replication.storages).
18
+ * Used to accurately count all plans associated with a storage.
19
+ */
20
+ private getReplicationPlansForStorages;
11
21
  getByIds(storageIds: string[]): Promise<Storage[] | null>;
12
22
  create(storageData: NewStorage): Promise<Storage | null>;
13
23
  update(id: string, updates: Partial<NewStorage>): Promise<Storage | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageStore.d.ts","sourceRoot":"","sources":["../../src/stores/StorageStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGnF;;GAEG;AACH,qBAAa,YAAY;IACZ,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,MAAM,CAAC,IAAI,GAAE,OAAe,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAmCpF,OAAO,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,OAAe,EACrB,SAAS,GAAE,OAAe,GACxB,OAAO,CAAC,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IAkClC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAOzD,MAAM,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAKxD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAK1C"}
1
+ {"version":3,"file":"StorageStore.d.ts","sourceRoot":"","sources":["../../src/stores/StorageStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAY,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAsB,MAAM,gBAAgB,CAAC;AAEnE;;GAEG;AACH,qBAAa,YAAY;IACZ,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,MAAM,CAAC,IAAI,GAAE,OAAe,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IA6DpF,OAAO,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,OAAe,EACrB,SAAS,GAAE,OAAe,GACxB,OAAO,CAAC,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IA0DxC;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAKtE;;;OAGG;YACW,8BAA8B;IAiDtC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAOzD,MAAM,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAKxD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAK1C"}
@@ -1 +1 @@
1
- import{eq,inArray}from"drizzle-orm";import{sql}from"drizzle-orm/sql";import{storages}from"../db/schema/storages";import{providers}from"../utils/providers";export class StorageStore{db;constructor(db){this.db=db}async getAll(full=!1,hideCreds=!1){const storages=await this.db.query.storages.findMany({with:{plans:{limit:full?void 0:0,columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0}}}});if(storages&&storages.length>0&&full){return storages.map(storage=>({...storage,storageTypeName:providers[storage.type].name,storageFields:providers[storage.type].settings,usedSize:storage.plans.reduce((acc,plan)=>acc+(plan.stats?.size||0),0)}))}return storages&&hideCreds&&storages.length>0?storages.map(s=>({...s,credentials:null})):storages||null}async getById(storageId,full=!1,hideCreds=!1){const storage=await this.db.query.storages.findFirst({where:eq(storages.id,storageId),with:{plans:{limit:full?void 0:0,columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0}}}});if(storage&&full){return{...storage,storageTypeName:providers[storage.type].name,storageFields:providers[storage.type].settings,usedSize:storage.plans.reduce((acc,plan)=>acc+(plan.stats?.size||0),0)}}return storage&&hideCreds&&storage.credentials&&(storage.credentials=null),storage||null}async getByIds(storageIds){return await this.db.query.storages.findMany({where:inArray(storages.id,storageIds)})||null}async create(storageData){return(await this.db.insert(storages).values(storageData).returning())[0]||null}async update(id,updates){return(await this.db.update(storages).set({...updates,updatedAt:sql`(unixepoch())`}).where(eq(storages.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(storages).where(eq(storages.id,id))).changes>0}}
1
+ import{eq,inArray}from"drizzle-orm";import{sql}from"drizzle-orm/sql";import{storages}from"../db/schema/storages";import{providers}from"../utils/providers";export class StorageStore{db;constructor(db){this.db=db}async getAll(full=!1,hideCreds=!1){const storages=await this.db.query.storages.findMany({with:{plans:{limit:full?void 0:0,columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0}}}});if(storages&&storages.length>0&&full){const storageIds=storages.map(s=>s.id),replicationPlansMap=await this.getReplicationPlansForStorages(storageIds);return storages.map(storage=>{const replicationPlans=replicationPlansMap.get(storage.id)||[],mergedPlans=[...storage.plans||[]];for(const repPlan of replicationPlans)mergedPlans.some(p=>p.id===repPlan.id)||mergedPlans.push(repPlan);const usedSize=mergedPlans.reduce((acc,plan)=>{if(replicationPlans.some(rp=>rp.id===plan.id)&&plan.stats?.mirrors){const mirrorStat=plan.stats.mirrors.find(m=>m.storageId===storage.id);return acc+(mirrorStat?.size||0)}return acc+(plan.stats?.size||0)},0);return{...storage,storageTypeName:providers[storage.type].name,storageFields:providers[storage.type].settings,usedSize:usedSize,plans:mergedPlans}})}return storages&&hideCreds&&storages.length>0?storages.map(s=>({...s,credentials:null})):storages||null}async getById(storageId,full=!1,hideCreds=!1){const storage=await this.db.query.storages.findFirst({where:eq(storages.id,storageId),with:{plans:{limit:full?void 0:0,columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0}}}});if(storage&&full){const replicationPlans=(await this.getReplicationPlansForStorages([storageId])).get(storageId)||[],mergedPlans=[...storage.plans||[]];for(const repPlan of replicationPlans)mergedPlans.some(p=>p.id===repPlan.id)||mergedPlans.push(repPlan);const usedSize=mergedPlans.reduce((acc,plan)=>{if(replicationPlans.some(rp=>rp.id===plan.id)&&plan.stats?.mirrors){const mirrorStat=plan.stats.mirrors.find(m=>m.storageId===storageId);return acc+(mirrorStat?.size||0)}return acc+(plan.stats?.size||0)},0);return{...storage,storageTypeName:providers[storage.type].name,storageFields:providers[storage.type].settings,usedSize:usedSize,plans:mergedPlans}}return storage&&hideCreds&&storage.credentials&&(storage.credentials=null),storage||null}async getReplicationPlans(storageId){return(await this.getReplicationPlansForStorages([storageId])).get(storageId)||[]}async getReplicationPlansForStorages(storageIds){const result=new Map;if(0===storageIds.length)return result;const allPlans=await this.db.query.plans.findMany({columns:{id:!0,title:!0,createdAt:!0,isActive:!0,stats:!0,method:!0,settings:!0,storageId:!0}});for(const plan of allPlans){const settings=plan.settings;if(settings?.replication?.enabled&&settings.replication.storages?.length>0)for(const repStorage of settings.replication.storages)if(storageIds.includes(repStorage.storageId)&&repStorage.storageId!==plan.storageId){const existing=result.get(repStorage.storageId)||[];existing.some(p=>p.id===plan.id)||(existing.push({id:plan.id,title:plan.title,createdAt:plan.createdAt,isActive:plan.isActive,stats:plan.stats,method:plan.method}),result.set(repStorage.storageId,existing))}}return result}async getByIds(storageIds){return await this.db.query.storages.findMany({where:inArray(storages.id,storageIds)})||null}async create(storageData){return(await this.db.insert(storages).values(storageData).returning())[0]||null}async update(id,updates){return(await this.db.update(storages).set({...updates,updatedAt:sql`(unixepoch())`}).where(eq(storages.id,id)).returning())[0]||null}async delete(id){return(await this.db.delete(storages).where(eq(storages.id,id))).changes>0}}
@@ -1 +1 @@
1
- {"version":3,"file":"StorageStore.js","sourceRoot":"","sources":["../../src/stores/StorageStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageStore.js","sourceRoot":"","sources":["../../src/stores/StorageStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAuB,QAAQ,EAAe,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C;;GAEG;AACH,MAAM,OAAO,YAAY;IACJ;IAApB,YAAoB,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAExC,KAAK,CAAC,MAAM,CAAC,OAAgB,KAAK,EAAE,YAAqB,KAAK;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtD,IAAI,EAAE;gBACL,KAAK,EAAE;oBACN,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;wBACX,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;YAElF,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBAC1C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACnE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxC,wDAAwD;gBACxD,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;gBACrC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;oBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;wBACjD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;gBACF,CAAC;gBAED,4DAA4D;gBAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACjD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzE,IAAI,iBAAiB,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;wBAC9C,mEAAmE;wBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;wBACnF,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;oBACtC,CAAC;oBACD,4CAA4C;oBAC5C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,MAAM,WAAW,GAAgB;oBAChC,GAAG,OAAO;oBACV,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,IAAI;oBACvD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,QAAQ;oBACzD,QAAQ;oBACR,KAAK,EAAE,WAAW;iBAClB,CAAC;gBACF,OAAO,WAAW,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,QAAQ,IAAI,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,SAAiB,EACjB,OAAgB,KAAK,EACrB,YAAqB,KAAK;QAE1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtD,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;YACjC,IAAI,EAAE;gBACL,KAAK,EAAE;oBACN,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;wBACX,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD,CAAC,CAAC;QAEH,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACnF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAClE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,wDAAwD;YACxD,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YACrC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC;YAED,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,iBAAiB,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC9C,mEAAmE;oBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;oBAClF,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtC,CAAC;gBACD,4CAA4C;gBAC5C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,MAAM,WAAW,GAAgB;gBAChC,GAAG,OAAO;gBACV,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,IAAI;gBACvD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,QAAQ;gBACzD,QAAQ;gBACR,KAAK,EAAE,WAAW;aAClB,CAAC;YACF,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,OAAO,OAAO,IAAI,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,8BAA8B,CAC3C,UAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAE3C,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACnD,OAAO,EAAE;gBACR,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;aACf;SACD,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;YACrD,IAAI,QAAQ,EAAE,WAAW,EAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjF,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACxD,IACC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;wBACzC,UAAU,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EACtC,CAAC;wBACF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBACxD,mBAAmB;wBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;4BAC3C,QAAQ,CAAC,IAAI,CAAC;gCACb,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,MAAM,EAAE,IAAI,CAAC,MAAM;6BACnB,CAAC,CAAC;4BACH,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBAC5C,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAoB;QAClC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1D,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;SACvC,CAAC,CAAC;QACH,OAAO,YAAY,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAuB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAA4B;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aAC1B,MAAM,CAAC,QAAQ,CAAC;aAChB,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;aAClD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aAC1B,SAAS,EAAE,CAAC;QAEd,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzE,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC3B,CAAC;CACD"}
@@ -18,6 +18,18 @@ export interface BackupStrategy {
18
18
  storagePath: string;
19
19
  removeRemoteData: boolean;
20
20
  encryption: boolean;
21
+ replicationStorages?: {
22
+ storageName: string;
23
+ storagePath: string;
24
+ }[];
25
+ }): Promise<{
26
+ success: boolean;
27
+ result: string;
28
+ }>;
29
+ removeReplicationStorage(planId: string, options: {
30
+ storageName: string;
31
+ storagePath: string;
32
+ removeData: boolean;
21
33
  }): Promise<{
22
34
  success: boolean;
23
35
  result: string;
@@ -30,7 +42,10 @@ export interface BackupStrategy {
30
42
  success: boolean;
31
43
  result: string;
32
44
  }>;
33
- pruneBackups(planId: string): Promise<{
45
+ pruneBackups(planId: string, replicationStorages?: {
46
+ storageName: string;
47
+ storagePath: string;
48
+ }[]): Promise<{
34
49
  success: boolean;
35
50
  result: string;
36
51
  }>;
@@ -42,7 +57,10 @@ export interface BackupStrategy {
42
57
  success: boolean;
43
58
  result: string;
44
59
  }>;
45
- unlockRepo?(planId: string): Promise<{
60
+ unlockRepo?(planId: string, replicationStorages?: {
61
+ storageName: string;
62
+ storagePath: string;
63
+ }[]): Promise<{
46
64
  success: boolean;
47
65
  result: string;
48
66
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"BackupStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/backup/BackupStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC9B,YAAY,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,YAAY,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,YAAY,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,OAAO,CAAC;KACpB,GACC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,iBAAiB,CAAC,CACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE3E,qBAAqB,CAAC,CACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"BackupStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/backup/BackupStrategy.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,18 @@ export declare class LocalStrategy implements BackupStrategy {
25
25
  storagePath: string;
26
26
  encryption: boolean;
27
27
  removeRemoteData: boolean;
28
+ replicationStorages?: {
29
+ storageName: string;
30
+ storagePath: string;
31
+ }[];
32
+ }): Promise<{
33
+ success: boolean;
34
+ result: string;
35
+ }>;
36
+ removeReplicationStorage(planId: string, options: {
37
+ storageName: string;
38
+ storagePath: string;
39
+ removeData: boolean;
28
40
  }): Promise<{
29
41
  success: boolean;
30
42
  result: string;
@@ -37,11 +49,17 @@ export declare class LocalStrategy implements BackupStrategy {
37
49
  success: boolean;
38
50
  result: string;
39
51
  }>;
40
- pruneBackups(backupId: string): Promise<{
52
+ pruneBackups(backupId: string, replicationStorages?: {
53
+ storageName: string;
54
+ storagePath: string;
55
+ }[]): Promise<{
41
56
  success: boolean;
42
57
  result: string;
43
58
  }>;
44
- unlockRepo(planId: string): Promise<{
59
+ unlockRepo(planId: string, replicationStorages?: {
60
+ storageName: string;
61
+ storagePath: string;
62
+ }[]): Promise<{
45
63
  success: boolean;
46
64
  result: string;
47
65
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/backup/LocalStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAIrE,qBAAa,aAAc,YAAW,cAAc;IACvC,SAAS,CAAC,UAAU,EAAE,iBAAiB;gBAA7B,UAAU,EAAE,iBAAiB;IAE7C,aAAa,CAAC,QAAQ,EAAE,MAAM;;;;IAI9B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;;;;IAKtD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;;;;IAItD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;IAI7C,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;KAC1B;;;;IAWI,WAAW,CAAC,QAAQ,EAAE,MAAM;;;;IAG5B,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;IAG7B,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;IAI7B,UAAU,CAAC,MAAM,EAAE,MAAM;;;;IAIzB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;IAI/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;CAWxD"}
1
+ {"version":3,"file":"LocalStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/backup/LocalStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAIrE,qBAAa,aAAc,YAAW,cAAc;IACvC,SAAS,CAAC,UAAU,EAAE,iBAAiB;gBAA7B,UAAU,EAAE,iBAAiB;IAE7C,aAAa,CAAC,QAAQ,EAAE,MAAM;;;;IAI9B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;;;;IAKtD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;;;;IAItD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;IAI7C,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,mBAAmB,CAAC,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACrE;;;;IAYI,wBAAwB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACpB;;;;IAKI,WAAW,CAAC,QAAQ,EAAE,MAAM;;;;IAG5B,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;IAG7B,YAAY,CACjB,QAAQ,EAAE,MAAM,EAChB,mBAAmB,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;;;;IAK/D,UAAU,CACf,MAAM,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;;;;IAK/D,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;IAI/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;CAWxD"}
@@ -1 +1 @@
1
- import{readFile}from"fs/promises";import{appPaths}from"../../utils/AppPaths";export class LocalStrategy{localAgent;constructor(localAgent){this.localAgent=localAgent}async performBackup(backupId){return await this.localAgent.performBackup(backupId)}async createBackup(backupId,options){return await this.localAgent.createBackup(backupId,options)}async updateBackup(backupId,options){return await this.localAgent.updateBackup(backupId,options)}async cancelBackup(planId,backupId){return await this.localAgent.cancelBackup(planId,backupId)}async removeBackup(planId,options){const{storageName:storageName,storagePath:storagePath,removeRemoteData:removeRemoteData,encryption:encryption}=options;return await this.localAgent.removeBackup(planId,{storageName:storageName,storagePath:storagePath,removeRemoteData:removeRemoteData,encryption:encryption})}async pauseBackup(backupId){return await this.localAgent.pauseBackup(backupId)}async resumeBackup(backupId){return await this.localAgent.resumeBackup(backupId)}async pruneBackups(backupId){return await this.localAgent.pruneBackups(backupId)}async unlockRepo(planId){return await this.localAgent.unlockRepo(planId)}async updatePlanStorageName(storageId,newStorageName){return await this.localAgent.updatePlanStorageName(storageId,newStorageName)}async getBackupProgress(planId,backupId){try{const filename=`backup-${backupId}.json`,progressFile=`${appPaths.getProgressDir()}/${filename}`,progressData=await readFile(progressFile,"utf8");return{success:!0,result:JSON.parse(progressData)}}catch(error){return{success:!1,result:error?.message}}}}
1
+ import{readFile}from"fs/promises";import{appPaths}from"../../utils/AppPaths";export class LocalStrategy{localAgent;constructor(localAgent){this.localAgent=localAgent}async performBackup(backupId){return await this.localAgent.performBackup(backupId)}async createBackup(backupId,options){return await this.localAgent.createBackup(backupId,options)}async updateBackup(backupId,options){return await this.localAgent.updateBackup(backupId,options)}async cancelBackup(planId,backupId){return await this.localAgent.cancelBackup(planId,backupId)}async removeBackup(planId,options){const{storageName:storageName,storagePath:storagePath,removeRemoteData:removeRemoteData,encryption:encryption,replicationStorages:replicationStorages}=options;return await this.localAgent.removeBackup(planId,{storageName:storageName,storagePath:storagePath,removeRemoteData:removeRemoteData,encryption:encryption,replicationStorages:replicationStorages})}async removeReplicationStorage(planId,options){return await this.localAgent.removeReplicationStorage(planId,options)}async pauseBackup(backupId){return await this.localAgent.pauseBackup(backupId)}async resumeBackup(backupId){return await this.localAgent.resumeBackup(backupId)}async pruneBackups(backupId,replicationStorages){return await this.localAgent.pruneBackups(backupId,replicationStorages)}async unlockRepo(planId,replicationStorages){return await this.localAgent.unlockRepo(planId,replicationStorages)}async updatePlanStorageName(storageId,newStorageName){return await this.localAgent.updatePlanStorageName(storageId,newStorageName)}async getBackupProgress(planId,backupId){try{const filename=`backup-${backupId}.json`,progressFile=`${appPaths.getProgressDir()}/${filename}`,progressData=await readFile(progressFile,"utf8");return{success:!0,result:JSON.parse(progressData)}}catch(error){return{success:!1,result:error?.message}}}}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalStrategy.js","sourceRoot":"","sources":["../../../src/strategies/backup/LocalStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,OAAO,aAAa;IACH;IAAtB,YAAsB,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAEvD,KAAK,CAAC,aAAa,CAAC,QAAgB;QACnC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAuB;QAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAuB;QAC3D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAgB;QAClD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,OAKC;QAED,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC3E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE;YACjD,WAAW;YACX,WAAW;YACX,gBAAgB;YAChB,UAAU;SACV,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,cAAsB;QACpE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB;QACvD,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,UAAU,QAAQ,OAAO,CAAC;YAC3C,MAAM,YAAY,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,QAAQ,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACnD,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"LocalStrategy.js","sourceRoot":"","sources":["../../../src/strategies/backup/LocalStrategy.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,18 @@ export declare class RemoteStrategy implements BackupStrategy {
13
13
  removeBackup(planId: string, options: {
14
14
  storageName: string;
15
15
  storagePath: string;
16
- removeRemoteData: boolean;
17
16
  encryption: boolean;
18
17
  }): Promise<{
19
18
  success: boolean;
20
- result: string;
19
+ result: any;
20
+ }>;
21
+ removeReplicationStorage(planId: string, options: {
22
+ storageName: string;
23
+ storagePath: string;
24
+ removeData: boolean;
25
+ }): Promise<{
26
+ success: boolean;
27
+ result: any;
21
28
  }>;
22
29
  performBackup(planId: string): Promise<{
23
30
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/backup/RemoteStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,cAAe,YAAW,cAAc;IACpD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,MAAM;IAItB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;IAIzD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;;;;IAIzC,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,OAAO,CAAC;KACpB;;;;IAKI,aAAa,CAAC,MAAM,EAAE,MAAM;iBA+B+B,OAAO;gBAAU,GAAG;;IA3B/E,WAAW,CAAC,MAAM,EAAE,MAAM;iBA2BiC,OAAO;gBAAU,GAAG;;IAvB/E,YAAY,CAAC,MAAM,EAAE,MAAM;iBAuBgC,OAAO;gBAAU,GAAG;;IApB/E,YAAY,CAAC,MAAM,EAAE,MAAM;iBAoBgC,OAAO;gBAAU,GAAG;;IAhB/E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAgBS,OAAO;gBAAU,GAAG;;IAZ/E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAYc,OAAO;gBAAU,GAAG;;IAR/E,UAAU,CAAC,MAAM,EAAE,MAAM;iBAQkC,OAAO;gBAAU,GAAG;;IAJ/E,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;iBAIJ,OAAO;gBAAU,GAAG;;IAArF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;CAKxF"}
1
+ {"version":3,"file":"RemoteStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/backup/RemoteStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,cAAe,YAAW,cAAc;IACpD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,MAAM;IAItB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;IAIzD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;;;;IAIzC,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACpB;iBA+C+D,OAAO;gBAAU,GAAG;;IA1C/E,wBAAwB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACpB;iBAoC+D,OAAO;gBAAU,GAAG;;IA/B/E,aAAa,CAAC,MAAM,EAAE,MAAM;iBA+B+B,OAAO;gBAAU,GAAG;;IA3B/E,WAAW,CAAC,MAAM,EAAE,MAAM;iBA2BiC,OAAO;gBAAU,GAAG;;IAvB/E,YAAY,CAAC,MAAM,EAAE,MAAM;iBAuBgC,OAAO;gBAAU,GAAG;;IApB/E,YAAY,CAAC,MAAM,EAAE,MAAM;iBAoBgC,OAAO;gBAAU,GAAG;;IAhB/E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAgBS,OAAO;gBAAU,GAAG;;IAZ/E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAYc,OAAO;gBAAU,GAAG;;IAR/E,UAAU,CAAC,MAAM,EAAE,MAAM;iBAQkC,OAAO;gBAAU,GAAG;;IAJ/E,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;iBAIJ,OAAO;gBAAU,GAAG;;IAArF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;CAKxF"}
@@ -1 +1 @@
1
- export class RemoteStrategy{deviceId;constructor(deviceId){this.deviceId=deviceId}async createBackup(planId,options){return{success:!0,result:"Backup created successfully"}}async updateBackup(planId,options){return{success:!0,result:"Backup updated successfully"}}async removeBackup(planId,options){return{success:!0,result:"Backup removed successfully"}}async performBackup(planId){return await this.publishCommand("PERFORM_BACKUP",{planId:planId})}async pauseBackup(planId){return await this.publishCommand("PAUSE_BACKUP",{planId:planId})}async resumeBackup(planId){return await this.publishCommand("RESUME_BACKUP",{planId:planId})}async pruneBackups(planId){return await this.publishCommand("PRUNE_BACKUPS",{planId:planId})}async getBackupProgress(planId,backupId){return await this.publishCommand("GET_BACKUP_PROGRESS",{planId:planId,backupId:backupId})}async cancelBackup(planId,backupId){return await this.publishCommand("CANCEL_BACKUP",{planId:planId})}async unlockRepo(planId){return await this.publishCommand("UNLOCK_REPO",{planId:planId})}async updatePlanStorageName(storageId,newStorageName){return await this.publishCommand("UPDATE_PLAN_STORAGE_NAME",{storageId:storageId,newStorageName:newStorageName})}publishCommand(action,payload){return new Promise((resolve,reject)=>{resolve({success:!0,result:null})})}}
1
+ export class RemoteStrategy{deviceId;constructor(deviceId){this.deviceId=deviceId}async createBackup(planId,options){return{success:!0,result:"Backup created successfully"}}async updateBackup(planId,options){return{success:!0,result:"Backup updated successfully"}}async removeBackup(planId,options){return await this.publishCommand("REMOVE_SNAPSHOT",{planId:planId,options:options})}async removeReplicationStorage(planId,options){return await this.publishCommand("REMOVE_REPLICATION_STORAGE",{planId:planId,options:options})}async performBackup(planId){return await this.publishCommand("PERFORM_BACKUP",{planId:planId})}async pauseBackup(planId){return await this.publishCommand("PAUSE_BACKUP",{planId:planId})}async resumeBackup(planId){return await this.publishCommand("RESUME_BACKUP",{planId:planId})}async pruneBackups(planId){return await this.publishCommand("PRUNE_BACKUPS",{planId:planId})}async getBackupProgress(planId,backupId){return await this.publishCommand("GET_BACKUP_PROGRESS",{planId:planId,backupId:backupId})}async cancelBackup(planId,backupId){return await this.publishCommand("CANCEL_BACKUP",{planId:planId})}async unlockRepo(planId){return await this.publishCommand("UNLOCK_REPO",{planId:planId})}async updatePlanStorageName(storageId,newStorageName){return await this.publishCommand("UPDATE_PLAN_STORAGE_NAME",{storageId:storageId,newStorageName:newStorageName})}publishCommand(action,payload){return new Promise((resolve,reject)=>{resolve({success:!0,result:null})})}}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteStrategy.js","sourceRoot":"","sources":["../../../src/strategies/backup/RemoteStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAS;IAE3B,YAAY,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAA4B;QAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAY;QAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,OAKC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QACjC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAChC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,MAAc;QAChC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB;QACvD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAgB;QAClD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,cAAsB;QACpE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,OAAY;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"RemoteStrategy.js","sourceRoot":"","sources":["../../../src/strategies/backup/RemoteStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAS;IAE3B,YAAY,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAA4B;QAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAY;QAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,MAAc,EACd,OAIC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC7B,MAAc,EACd,OAIC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QACjC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAChC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,MAAc;QAChC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB;QACvD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAgB;QAClD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAiB,EAAE,cAAsB;QACpE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,OAAY;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}