@plutonhq/core-backend 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controllers/BackupController.d.ts +1 -0
- package/dist/controllers/BackupController.d.ts.map +1 -1
- package/dist/controllers/BackupController.js +1 -1
- package/dist/controllers/BackupController.js.map +1 -1
- package/dist/controllers/PlanController.d.ts +2 -0
- package/dist/controllers/PlanController.d.ts.map +1 -1
- package/dist/controllers/PlanController.js +1 -1
- package/dist/controllers/PlanController.js.map +1 -1
- package/dist/controllers/RestoreController.d.ts.map +1 -1
- package/dist/controllers/RestoreController.js +1 -1
- package/dist/controllers/RestoreController.js.map +1 -1
- package/dist/controllers/SettingsController.d.ts +2 -0
- package/dist/controllers/SettingsController.d.ts.map +1 -1
- package/dist/controllers/SettingsController.js +1 -1
- package/dist/controllers/SettingsController.js.map +1 -1
- package/dist/controllers/StorageController.d.ts.map +1 -1
- package/dist/controllers/StorageController.js +1 -1
- package/dist/controllers/StorageController.js.map +1 -1
- package/dist/controllers/UserController.d.ts +4 -0
- package/dist/controllers/UserController.d.ts.map +1 -1
- package/dist/controllers/UserController.js +1 -1
- package/dist/controllers/UserController.js.map +1 -1
- package/dist/createApp.d.ts.map +1 -1
- package/dist/createApp.js +1 -1
- package/dist/createApp.js.map +1 -1
- package/dist/db/index.d.ts +19 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/schema/backups.d.ts +77 -1
- package/dist/db/schema/backups.d.ts.map +1 -1
- package/dist/db/schema/backups.js +1 -1
- package/dist/db/schema/backups.js.map +1 -1
- package/dist/jobs/JobProcessor.d.ts.map +1 -1
- package/dist/jobs/JobProcessor.js +1 -1
- package/dist/jobs/JobProcessor.js.map +1 -1
- package/dist/jobs/tasks/ReplicationRetryTask.d.ts +10 -0
- package/dist/jobs/tasks/ReplicationRetryTask.d.ts.map +1 -0
- package/dist/jobs/tasks/ReplicationRetryTask.js +1 -0
- package/dist/jobs/tasks/ReplicationRetryTask.js.map +1 -0
- package/dist/managers/BaseBackupManager.d.ts +35 -3
- package/dist/managers/BaseBackupManager.d.ts.map +1 -1
- package/dist/managers/BaseBackupManager.js +1 -1
- package/dist/managers/BaseBackupManager.js.map +1 -1
- package/dist/managers/BaseSnapshotManager.d.ts +21 -4
- package/dist/managers/BaseSnapshotManager.d.ts.map +1 -1
- package/dist/managers/BaseSnapshotManager.js +1 -1
- package/dist/managers/BaseSnapshotManager.js.map +1 -1
- package/dist/managers/ProgressManager.d.ts +28 -0
- package/dist/managers/ProgressManager.d.ts.map +1 -1
- package/dist/managers/ProgressManager.js +1 -1
- package/dist/managers/ProgressManager.js.map +1 -1
- package/dist/managers/handlers/BackupHandler.d.ts +8 -0
- package/dist/managers/handlers/BackupHandler.d.ts.map +1 -1
- package/dist/managers/handlers/BackupHandler.js +1 -1
- package/dist/managers/handlers/BackupHandler.js.map +1 -1
- package/dist/managers/handlers/DownloadHandler.d.ts.map +1 -1
- package/dist/managers/handlers/DownloadHandler.js +1 -1
- package/dist/managers/handlers/DownloadHandler.js.map +1 -1
- package/dist/managers/handlers/ReplicationHandler.d.ts +34 -0
- package/dist/managers/handlers/ReplicationHandler.d.ts.map +1 -0
- package/dist/managers/handlers/ReplicationHandler.js +1 -0
- package/dist/managers/handlers/ReplicationHandler.js.map +1 -0
- package/dist/managers/handlers/ReplicationOrchestrator.d.ts +50 -0
- package/dist/managers/handlers/ReplicationOrchestrator.d.ts.map +1 -0
- package/dist/managers/handlers/ReplicationOrchestrator.js +1 -0
- package/dist/managers/handlers/ReplicationOrchestrator.js.map +1 -0
- package/dist/middlewares/versionMiddleware.d.ts.map +1 -1
- package/dist/middlewares/versionMiddleware.js +1 -1
- package/dist/middlewares/versionMiddleware.js.map +1 -1
- package/dist/notifications/BackupNotification.d.ts +6 -3
- package/dist/notifications/BackupNotification.d.ts.map +1 -1
- package/dist/notifications/BackupNotification.js +1 -1
- package/dist/notifications/BackupNotification.js.map +1 -1
- package/dist/notifications/channels/NotificationChannelResolver.d.ts.map +1 -1
- package/dist/notifications/channels/NotificationChannelResolver.js.map +1 -1
- package/dist/notifications/templates/email/backup/BackupFailedNotification.d.ts.map +1 -1
- package/dist/notifications/templates/email/backup/BackupFailedNotification.ejs +9 -4
- package/dist/notifications/templates/email/backup/BackupFailedNotification.js +1 -1
- package/dist/notifications/templates/email/backup/BackupFailedNotification.js.map +1 -1
- package/dist/notifications/templates/email/backup/BackupStartedNotification.d.ts.map +1 -1
- package/dist/notifications/templates/email/backup/BackupStartedNotification.ejs +9 -4
- package/dist/notifications/templates/email/backup/BackupStartedNotification.js +1 -1
- package/dist/notifications/templates/email/backup/BackupStartedNotification.js.map +1 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.d.ts +2 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.d.ts.map +1 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.ejs +52 -4
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.js +1 -1
- package/dist/notifications/templates/email/backup/BackupSuccessNotification.js.map +1 -1
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.d.ts +24 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.d.ts.map +1 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.ejs +105 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.js +1 -0
- package/dist/notifications/templates/email/backup/ReplicationFailedNotification.js.map +1 -0
- package/dist/routes/backups.d.ts.map +1 -1
- package/dist/routes/backups.js +1 -1
- package/dist/routes/backups.js.map +1 -1
- package/dist/routes/plans.d.ts.map +1 -1
- package/dist/routes/plans.js +1 -1
- package/dist/routes/plans.js.map +1 -1
- package/dist/routes/settings.d.ts.map +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/users.d.ts.map +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/users.js.map +1 -1
- package/dist/services/BackupServices.d.ts +14 -5
- package/dist/services/BackupServices.d.ts.map +1 -1
- package/dist/services/BackupServices.js +1 -1
- package/dist/services/BackupServices.js.map +1 -1
- package/dist/services/DeviceService.d.ts +6 -0
- package/dist/services/DeviceService.d.ts.map +1 -1
- package/dist/services/DeviceService.js +1 -1
- package/dist/services/DeviceService.js.map +1 -1
- package/dist/services/PlanService.d.ts +20 -0
- package/dist/services/PlanService.d.ts.map +1 -1
- package/dist/services/PlanService.js +1 -1
- package/dist/services/PlanService.js.map +1 -1
- package/dist/services/RestoreService.d.ts +2 -2
- package/dist/services/RestoreService.d.ts.map +1 -1
- package/dist/services/RestoreService.js +1 -1
- package/dist/services/RestoreService.js.map +1 -1
- package/dist/services/SettingsService.d.ts +8 -0
- package/dist/services/SettingsService.d.ts.map +1 -1
- package/dist/services/SettingsService.js +1 -1
- package/dist/services/SettingsService.js.map +1 -1
- package/dist/services/StorageService.d.ts.map +1 -1
- package/dist/services/StorageService.js +1 -1
- package/dist/services/StorageService.js.map +1 -1
- package/dist/services/events/BackupEventService.d.ts +22 -0
- package/dist/services/events/BackupEventService.d.ts.map +1 -1
- package/dist/services/events/BackupEventService.js +1 -1
- package/dist/services/events/BackupEventService.js.map +1 -1
- package/dist/services/events/ReplicationEventService.d.ts +33 -0
- package/dist/services/events/ReplicationEventService.d.ts.map +1 -0
- package/dist/services/events/ReplicationEventService.js +1 -0
- package/dist/services/events/ReplicationEventService.js.map +1 -0
- package/dist/services/listeners/BackupEventListener.d.ts +14 -10
- package/dist/services/listeners/BackupEventListener.d.ts.map +1 -1
- package/dist/services/listeners/BackupEventListener.js +1 -1
- package/dist/services/listeners/BackupEventListener.js.map +1 -1
- package/dist/services/listeners/ReplicationEventListener.d.ts +30 -0
- package/dist/services/listeners/ReplicationEventListener.d.ts.map +1 -0
- package/dist/services/listeners/ReplicationEventListener.js +1 -0
- package/dist/services/listeners/ReplicationEventListener.js.map +1 -0
- package/dist/stores/BackupStore.d.ts +8 -0
- package/dist/stores/BackupStore.d.ts.map +1 -1
- package/dist/stores/BackupStore.js +1 -1
- package/dist/stores/BackupStore.js.map +1 -1
- package/dist/stores/DeviceStore.d.ts +6 -0
- package/dist/stores/DeviceStore.d.ts.map +1 -1
- package/dist/stores/DeviceStore.js +1 -1
- package/dist/stores/DeviceStore.js.map +1 -1
- package/dist/stores/PlanStore.d.ts +3 -1
- package/dist/stores/PlanStore.d.ts.map +1 -1
- package/dist/stores/PlanStore.js +1 -1
- package/dist/stores/PlanStore.js.map +1 -1
- package/dist/stores/StorageStore.d.ts +10 -0
- package/dist/stores/StorageStore.d.ts.map +1 -1
- package/dist/stores/StorageStore.js +1 -1
- package/dist/stores/StorageStore.js.map +1 -1
- package/dist/strategies/backup/BackupStrategy.d.ts +24 -2
- package/dist/strategies/backup/BackupStrategy.d.ts.map +1 -1
- package/dist/strategies/backup/LocalStrategy.d.ts +24 -2
- package/dist/strategies/backup/LocalStrategy.d.ts.map +1 -1
- package/dist/strategies/backup/LocalStrategy.js +1 -1
- package/dist/strategies/backup/LocalStrategy.js.map +1 -1
- package/dist/strategies/backup/RemoteStrategy.d.ts +13 -2
- package/dist/strategies/backup/RemoteStrategy.d.ts.map +1 -1
- package/dist/strategies/backup/RemoteStrategy.js +1 -1
- package/dist/strategies/backup/RemoteStrategy.js.map +1 -1
- package/dist/strategies/snapshot/LocalStrategy.d.ts +20 -4
- package/dist/strategies/snapshot/LocalStrategy.d.ts.map +1 -1
- package/dist/strategies/snapshot/LocalStrategy.js +1 -1
- package/dist/strategies/snapshot/LocalStrategy.js.map +1 -1
- package/dist/strategies/snapshot/RemoteStrategy.d.ts +4 -1
- package/dist/strategies/snapshot/RemoteStrategy.d.ts.map +1 -1
- package/dist/strategies/snapshot/RemoteStrategy.js +1 -1
- package/dist/strategies/snapshot/RemoteStrategy.js.map +1 -1
- package/dist/strategies/snapshot/SnapshotStrategy.d.ts +20 -4
- package/dist/strategies/snapshot/SnapshotStrategy.d.ts.map +1 -1
- package/dist/types/backups.d.ts +24 -0
- package/dist/types/backups.d.ts.map +1 -1
- package/dist/types/events.d.ts +110 -0
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/plans.d.ts +23 -2
- package/dist/types/plans.d.ts.map +1 -1
- package/dist/types/restores.d.ts +2 -0
- package/dist/types/restores.d.ts.map +1 -1
- package/dist/utils/restic/restic.d.ts +5 -0
- package/dist/utils/restic/restic.d.ts.map +1 -1
- package/dist/utils/restic/restic.js +1 -1
- package/dist/utils/restic/restic.js.map +1 -1
- package/dist/utils/sanitizeStoragePath.d.ts +5 -1
- package/dist/utils/sanitizeStoragePath.d.ts.map +1 -1
- package/dist/utils/sanitizeStoragePath.js +1 -1
- package/dist/utils/sanitizeStoragePath.js.map +1 -1
- package/package.json +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAGN,cAAc,EACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE;;GAEG;AACH,qBAAa,cAAc;IAEzB,SAAS,CAAC,cAAc,EAAE,kBAAkB;IAC5C,SAAS,CAAC,aAAa,EAAE,iBAAiB;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,SAAS,EAAE,SAAS;gBAHpB,cAAc,EAAE,kBAAkB,EAClC,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS;IAG/B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAO7C,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAIxC,UAAU,CACf,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,OAAO,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA2B5E,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAkBxD,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsDxE,aAAa,CAClB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IA2FtE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAGN,cAAc,EACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE;;GAEG;AACH,qBAAa,cAAc;IAEzB,SAAS,CAAC,cAAc,EAAE,kBAAkB;IAC5C,SAAS,CAAC,aAAa,EAAE,iBAAiB;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,SAAS,EAAE,SAAS;gBAHpB,cAAc,EAAE,kBAAkB,EAClC,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS;IAG/B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAO7C,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAIxC,UAAU,CACf,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,OAAO,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA2B5E,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAkBxD,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsDxE,aAAa,CAClB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IA2FtE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0C3C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAYvC,qBAAqB;CAuBnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{storageInsertSchema,storageUpdateSchema}from"../db/schema/storages";import{providers}from"../utils/providers";import Cryptr from"cryptr";import{RemoteStrategy as RemoteSystemStrategy,LocalStrategy as LocalSystemStrategy}from"../strategies/system";import{generateUID}from"../utils/helpers";import{runCommand}from"../utils/runCommand";import{configService}from"./ConfigService";import{AppError,NotFoundError}from"../utils/AppError";export class StorageService{storageManager;systemManager;storageStore;planStore;constructor(storageManager,systemManager,storageStore,planStore){this.storageManager=storageManager,this.systemManager=systemManager,this.storageStore=storageStore,this.planStore=planStore}getSystemStrategy(deviceId){return"main"!==deviceId?new RemoteSystemStrategy(deviceId):new LocalSystemStrategy(this.systemManager)}async getStorages(){return await this.storageStore.getAll(!0,!0)}async getStorage(id){const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const decryptedCreds={};try{const cryptr=new Cryptr(configService.config.SECRET),credsObj=storage.credentials;credsObj&&Object.keys(credsObj).forEach(k=>{"string"==typeof credsObj[k]&&(decryptedCreds[k]=cryptr.decrypt(credsObj[k]))});const authTypes=providers[storage.type].authTypes;return{...storage,credentials:decryptedCreds,authTypes:authTypes}}catch(error){throw new AppError(500,"Could not decrypt your Storage Credentials Settings. Your Pluton Secret key may have changed or missing.")}}async getAvailableStorageTypes(){const providersWithoutLocal={...providers};delete providersWithoutLocal.local;return Object.keys(providersWithoutLocal).reduce((acc,key)=>({...acc,[key]:{name:providers[key].name,authTypes:providers[key].authTypes,settings:providers[key].settings,doc:providers[key].doc}}),{})}async createStorage(storagePayload){try{const id=generateUID();let parsedStorageData={...storagePayload,id:id};try{parsedStorageData=storageInsertSchema.parse(parsedStorageData)}catch(error){throw new AppError(400,"Invalid storage configuration provided. Check required fields.")}const{type:type,name:name,authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,remoteResult=await this.storageManager.createRemote(type,name,authType,credentials,settings);if(!remoteResult.success)throw new AppError(500,remoteResult.result||"Error creating remote storage.");const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});const storageId=generateUID();return await this.storageStore.create({id:storageId,name:name,type:type,settings:settings,credentials:encryptedCreds,authType:authType,tags:tags})}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error creating storage.")}}async updateStorage(id,storagePayload){try{const existingStorage=await this.storageStore.getById(id);if(!existingStorage)throw new NotFoundError("Storage not found");let parsedStorageData={...storagePayload};try{parsedStorageData=storageUpdateSchema.parse(storagePayload)}catch(error){throw new AppError(400,"Invalid storage data provided")}const{authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,devicesWithStorage=[],plansWithStorage=await this.planStore.getStoragePlans(existingStorage.id),deviceUpdateResult={};if(plansWithStorage&&plansWithStorage.length>0){plansWithStorage.forEach(async plan=>{plan.sourceId&&!devicesWithStorage.includes(plan.sourceId)&&devicesWithStorage.push(plan.sourceId)});const existingCreds=existingStorage?.credentials,decryptedOldCred={};try{if(existingCreds){const eCreds=existingCreds,cryptr=new Cryptr(configService.config.SECRET);Object.keys(eCreds||{}).forEach(k=>{decryptedOldCred[k]=cryptr.decrypt(eCreds[k])})}}catch(error){}const credsDifferent=JSON.stringify(decryptedOldCred)!==JSON.stringify(credentials),deviceUpdatePromises=devicesWithStorage.map(async sourceId=>{const strategy=this.getSystemStrategy(sourceId),updateRes=await strategy.updateRemoteStorage(existingStorage.name,{new:{...settings,...credsDifferent?credentials:{}},old:{...existingStorage.settings||{},...decryptedOldCred&&credsDifferent?decryptedOldCred:{}}});return deviceUpdateResult[sourceId]=updateRes,updateRes});await Promise.all(deviceUpdatePromises)}const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});return{storage:await this.storageStore.update(id,{settings:settings,credentials:encryptedCreds,tags:tags}),devicesUpdated:deviceUpdateResult}}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error updating storage.")}}async deleteStorage(id){try{const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const storagePlans=await this.planStore.getStoragePlans(id);if(storagePlans&&storagePlans.length>0)throw new AppError(400
|
|
1
|
+
import{storageInsertSchema,storageUpdateSchema}from"../db/schema/storages";import{providers}from"../utils/providers";import Cryptr from"cryptr";import{RemoteStrategy as RemoteSystemStrategy,LocalStrategy as LocalSystemStrategy}from"../strategies/system";import{generateUID}from"../utils/helpers";import{runCommand}from"../utils/runCommand";import{configService}from"./ConfigService";import{AppError,NotFoundError}from"../utils/AppError";export class StorageService{storageManager;systemManager;storageStore;planStore;constructor(storageManager,systemManager,storageStore,planStore){this.storageManager=storageManager,this.systemManager=systemManager,this.storageStore=storageStore,this.planStore=planStore}getSystemStrategy(deviceId){return"main"!==deviceId?new RemoteSystemStrategy(deviceId):new LocalSystemStrategy(this.systemManager)}async getStorages(){return await this.storageStore.getAll(!0,!0)}async getStorage(id){const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const decryptedCreds={};try{const cryptr=new Cryptr(configService.config.SECRET),credsObj=storage.credentials;credsObj&&Object.keys(credsObj).forEach(k=>{"string"==typeof credsObj[k]&&(decryptedCreds[k]=cryptr.decrypt(credsObj[k]))});const authTypes=providers[storage.type].authTypes;return{...storage,credentials:decryptedCreds,authTypes:authTypes}}catch(error){throw new AppError(500,"Could not decrypt your Storage Credentials Settings. Your Pluton Secret key may have changed or missing.")}}async getAvailableStorageTypes(){const providersWithoutLocal={...providers};delete providersWithoutLocal.local;return Object.keys(providersWithoutLocal).reduce((acc,key)=>({...acc,[key]:{name:providers[key].name,authTypes:providers[key].authTypes,settings:providers[key].settings,doc:providers[key].doc}}),{})}async createStorage(storagePayload){try{const id=generateUID();let parsedStorageData={...storagePayload,id:id};try{parsedStorageData=storageInsertSchema.parse(parsedStorageData)}catch(error){throw new AppError(400,"Invalid storage configuration provided. Check required fields.")}const{type:type,name:name,authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,remoteResult=await this.storageManager.createRemote(type,name,authType,credentials,settings);if(!remoteResult.success)throw new AppError(500,remoteResult.result||"Error creating remote storage.");const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});const storageId=generateUID();return await this.storageStore.create({id:storageId,name:name,type:type,settings:settings,credentials:encryptedCreds,authType:authType,tags:tags})}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error creating storage.")}}async updateStorage(id,storagePayload){try{const existingStorage=await this.storageStore.getById(id);if(!existingStorage)throw new NotFoundError("Storage not found");let parsedStorageData={...storagePayload};try{parsedStorageData=storageUpdateSchema.parse(storagePayload)}catch(error){throw new AppError(400,"Invalid storage data provided")}const{authType:authType,credentials:credentials,settings:settings,tags:tags}=parsedStorageData,devicesWithStorage=[],plansWithStorage=await this.planStore.getStoragePlans(existingStorage.id),deviceUpdateResult={};if(plansWithStorage&&plansWithStorage.length>0){plansWithStorage.forEach(async plan=>{plan.sourceId&&!devicesWithStorage.includes(plan.sourceId)&&devicesWithStorage.push(plan.sourceId)});const existingCreds=existingStorage?.credentials,decryptedOldCred={};try{if(existingCreds){const eCreds=existingCreds,cryptr=new Cryptr(configService.config.SECRET);Object.keys(eCreds||{}).forEach(k=>{decryptedOldCred[k]=cryptr.decrypt(eCreds[k])})}}catch(error){}const credsDifferent=JSON.stringify(decryptedOldCred)!==JSON.stringify(credentials),deviceUpdatePromises=devicesWithStorage.map(async sourceId=>{const strategy=this.getSystemStrategy(sourceId),updateRes=await strategy.updateRemoteStorage(existingStorage.name,{new:{...settings,...credsDifferent?credentials:{}},old:{...existingStorage.settings||{},...decryptedOldCred&&credsDifferent?decryptedOldCred:{}}});return deviceUpdateResult[sourceId]=updateRes,updateRes});await Promise.all(deviceUpdatePromises)}const cryptr=new Cryptr(configService.config.SECRET),credsObj=credentials,encryptedCreds={};Object.keys(credsObj).forEach(k=>{encryptedCreds[k]=cryptr.encrypt(credsObj[k])});return{storage:await this.storageStore.update(id,{settings:settings,credentials:encryptedCreds,tags:tags}),devicesUpdated:deviceUpdateResult}}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Error updating storage.")}}async deleteStorage(id){try{const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const storagePlans=await this.planStore.getStoragePlans(id),replicationPlans=await this.storageStore.getReplicationPlans(id);if(storagePlans&&storagePlans.length>0){const planTitles=storagePlans.map(p=>p.title).join(", ");throw new AppError(400,`There are Backup Plans dependent on this Storage: ${planTitles}. Please remove them before deleting the Storage.`)}if(replicationPlans.length>0){const planTitles=replicationPlans.map(p=>p.title).join(", ");throw new AppError(400,`This Storage is used as a replication target by the following plans: ${planTitles}. Please remove it from their replication settings before deleting the storage.`)}const remoteResult=await this.storageManager.deleteRemote(storage.name);if(!remoteResult.success)throw new AppError(500,remoteResult.result||"Failed to delete remote storage");return await this.storageStore.delete(id),!0}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to delete storage")}}async verifyStorage(id){try{const storage=await this.storageStore.getById(id);if(!storage)throw new NotFoundError("Storage not found");const verifyResult=await this.storageManager.verifyRemote(storage.name);if(!verifyResult.success)throw new AppError(500,verifyResult.result||"Failed to verify storage");return verifyResult.result}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to verify storage")}}async authorizeStorage(type){try{return await this.getRcloneStorageToken(type)}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,error?.message||"Failed to authorize storage")}}async getRcloneStorageToken(storageType){try{const tokenMatch=(await runCommand(["rclone","authorize",storageType,"--auth-no-open-browser"],void 0,log=>{})).match(/--->\n\n(.*?)\n\n<---/s);if(tokenMatch&&tokenMatch[1]){return JSON.parse(tokenMatch[1])}throw new AppError(500,`Could not extract ${storageType} token from output`)}catch(error){if(error instanceof AppError)throw error;throw new AppError(500,`Failed to authorize ${storageType}: ${error.message}`)}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../src/services/StorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,5 +28,27 @@ export declare class BackupEventService {
|
|
|
28
28
|
|
|
29
29
|
*/
|
|
30
30
|
afterPermanentFailure(planId: string, backupId: string, error: string): Promise<void>;
|
|
31
|
+
onReplicationStatsUpdate(data: {
|
|
32
|
+
planId: string;
|
|
33
|
+
backupId: string;
|
|
34
|
+
mirrors: {
|
|
35
|
+
replicationId: string;
|
|
36
|
+
storageId: string;
|
|
37
|
+
storagePath: string;
|
|
38
|
+
size: number;
|
|
39
|
+
snapshots: string[];
|
|
40
|
+
}[];
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
onIntegrityStart(data: {
|
|
43
|
+
planId: string;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
onIntegrityEnd(data: {
|
|
46
|
+
planId: string;
|
|
47
|
+
result: Record<string, string | null>;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
onIntegrityFailed(data: {
|
|
50
|
+
planId: string;
|
|
51
|
+
error: string;
|
|
52
|
+
}): Promise<void>;
|
|
31
53
|
}
|
|
32
54
|
//# sourceMappingURL=BackupEventService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupEventService.d.ts","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EAEb,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"BackupEventService.d.ts","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EAEb,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAK5B,qBAAa,kBAAkB;IAK7B,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,UAAU,CAAC,EAAE,iBAAiB;IANzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,WAAW,SAA6B;gBAGvC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAKnC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoHpD,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsF1D,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CzF,mBAAmB,CAAC,IAAI,EAAE,qBAAqB;IAgC/C,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpD;;;;;;OAMG;IACG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrF,wBAAwB,CAAC,IAAI,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE;YACR,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,EAAE,CAAC;SACpB,EAAE,CAAC;KACJ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBX,gBAAgB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAsBzC,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;KAAE;IA2D9E,iBAAiB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAS/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync}from"fs";import{readFile}from"fs/promises";import{sql}from"drizzle-orm";import{planLogger}from"../../utils/logger";import{BackupNotification}from"../../notifications/BackupNotification";import{appPaths}from"../../utils/AppPaths";import{backupInsertSchema}from"../../db/schema/backups";export class BackupEventService{planStore;backupStore;localAgent;backupNotification;progressDir=appPaths.getProgressDir();constructor(planStore,backupStore,localAgent){this.planStore=planStore,this.backupStore=backupStore,this.localAgent=localAgent,this.backupNotification=new BackupNotification}async onBackupStart(data){const{planId:planId,backupId:backupId,summary:summary}=data;if(!planId)return;const existingBackup=await this.backupStore.getById(backupId);if(existingBackup&&"main"===existingBackup.sourceId&&this.localAgent)return await this.backupStore.update(backupId,{inProgress:!0,status:"retrying",ended:null}),void this.localAgent.emit("backup_created",{planId:planId,backupId:backupId});if(await this.planStore.hasActiveBackups(planId))planLogger("backup",planId).error("Failed to Start Backup as a backup is already running for this plan.");else{const thePlan=await this.planStore.getById(planId);if(!thePlan)return;try{const{storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,sourceConfig:sourceConfig,settings:{encryption:encryption,compression:compression}}=thePlan,newBackupData={id:backupId,status:"started",inProgress:!0,planId:planId,storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,encryption:encryption,compression:compression,sourceConfig:sourceConfig,taskStats:summary,method:"backup"};let parsedBackupData={...newBackupData};try{const parsedBackupDataRaw=backupInsertSchema.parse(newBackupData);parsedBackupData={...parsedBackupDataRaw,sourceType:parsedBackupDataRaw.sourceType}}catch(error){return void planLogger("backup",planId).error(`Error parsing Backup Data provided by the source. ${error?.message||"Unknown Error"}`)}const backup=await this.backupStore.create(parsedBackupData);if(!backup)return void planLogger("backup",planId).error("Failed to Create Backup entry in Database.");"main"===sourceId&&this.localAgent&&this.localAgent.emit("backup_created",{planId:planId,backupId:backup.id});const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"start",{id:backup.id,startTime:backup.started||new Date,stats:summary}),planLogger("backup",planId,backup.id).info(`Started Backing Up "${plan?.title||"Unknown Plan"}"`)}catch(error){planLogger("backup",planId).error(`Error Starting Backup for Plan ${planId} : ${error?.message.toString()||"Unknown Error"}`)}}}async onBackupComplete(data){const{planId:planId,success:success,backupId:backupId,summary:summary}=data,progressFile=`${this.progressDir}/backup-${backupId}.json`;let summaryData=null,totalDuration=0;try{if(summary&&"summary"===summary.message_type)summaryData=summary,totalDuration=summary.total_duration||0;else try{if(existsSync(progressFile)){const backupProgressData=JSON.parse(await readFile(progressFile,"utf8"));if(backupProgressData.events&&backupProgressData.events.length>0){const eventsWithSummary=backupProgressData.events.filter(event=>event.resticData&&"summary"===event.resticData.message_type);if(eventsWithSummary.length>0){const lastEvent=eventsWithSummary[eventsWithSummary.length-1];summaryData=lastEvent.resticData,totalDuration=lastEvent.resticData.total_duration||0}}}}catch(error){planLogger("backup",planId,backupId).warn(`Could not read progress file to fetch the completion summary: ${error.message}`)}const backup=await this.backupStore.update(backupId,{inProgress:!1,status:success?"completed":"failed",success:!!success,ended:sql`(unixepoch())`,completionStats:summaryData||null});if(!backup)throw new Error("Failed to update Backup entry in Database.");const plan=await this.planStore.getById(data.planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"success",{id:data.backupId,startTime:backup.started||new Date,stats:backup.completionStats||void 0}),success?planLogger("backup",planId,backupId).info(`Backup Completed for Backup Plan. Total Duration: ${totalDuration} seconds.`):planLogger("backup",planId,backupId).error("Backup Failed for Backup Plan. Reason: Unknown.")}catch(error){planLogger("backup",data.planId,data.backupId).error(`Error processing backup completion for Backup. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onBackupError(data){try{if(!await this.backupStore.update(data.backupId,{status:"retrying",errorMsg:data.error}))throw new Error("Failed to update Backup entry in Database.");planLogger("backup",data.planId,data.backupId).info(`Backup Failed for Plan. Reason: ${data.error||"Unknown Error"}`)}catch(error){planLogger("backup",data.planId,data.backupId).error(`Error processing backup failure for Backup. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onBackupFailure(data){const{planId:planId,backupId:backupId,error:error}=data;try{const backup=await this.backupStore.update(backupId,{status:"failed",errorMsg:error,success:!1,inProgress:!1,ended:sql`(unixepoch())`});if(!backup)throw new Error("Failed to update Backup entry in Database.");await this.afterPermanentFailure(planId,backupId,error);const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"failure",{id:backupId,startTime:backup.started||new Date,stats:backup.taskStats||void 0,error:error}),planLogger("backup",planId,backupId).info(`Backup Failed for Plan. Reason: ${error||"Unknown Error"}`)}catch(err){planLogger("backup",planId,backupId).error(`Error processing backup failure for Backup. Reason : ${err?.message.toString()||"Unknown Error"}`)}}async onBackupStatsUpdate(data){const{total_size:total_size,snapshots:snapshots=[],backupId:backupId,planId:planId,error:error=""}=data;if(planId&&total_size&&!Number.isNaN(total_size)&&snapshots.length>0)try{await this.planStore.update(data.planId,{stats:{size:total_size,snapshots:snapshots},lastBackupTime:sql`(unixepoch())`}),planLogger("update",planId,backupId).info(`Updated plan stats for Backup Plan. Total Size: ${total_size} bytes, Total Snapshots: ${snapshots.length||0} `)}catch(error){planLogger("update",planId,backupId).error(`Error updating plan stats for Backup Plan. Reason : ${error?.message.toString()||"Unknown Error"}`)}else planId&&planLogger("update",planId,backupId).error(`Failed to Update plan stats for Backup Plan. Reason: ${error||"Unknown Error"} `)}async onPruneEnd(data){if(data.success){planLogger("prune",data.planId).info("Successfully pruned Backups.");const{planId:planId,stats:stats}=data,{total_size:total_size,snapshots:snapshots=[]}=stats||{};if(planId&&total_size&&!Number.isNaN(total_size)&&snapshots.length>0)try{await this.planStore.update(data.planId,{stats:{size:total_size,snapshots:snapshots},lastBackupTime:sql`(unixepoch())`}),planLogger("update",planId).info(`Updated plan stats for Backup Plan. Total Size: ${total_size} bytes, Total Snapshots: ${snapshots.length||0} `)}catch(error){}}else planLogger("prune",data.planId).error(`Failed to prune Backups. Reason: ${data.error}`)}async afterPermanentFailure(planId,backupId,error){this.localAgent&&this.localAgent.emit(`backup_failed_processed_${backupId}`,{planId:planId,backupId:backupId,error:error})}}
|
|
1
|
+
import{existsSync}from"fs";import{readFile}from"fs/promises";import{sql}from"drizzle-orm";import{planLogger}from"../../utils/logger";import{BackupNotification}from"../../notifications/BackupNotification";import{appPaths}from"../../utils/AppPaths";import{backupInsertSchema}from"../../db/schema/backups";import{generateResticRepoPath}from"../../utils/restic/helpers";import{handleResticCheckResult}from"../../utils/restic/restic";export class BackupEventService{planStore;backupStore;localAgent;backupNotification;progressDir=appPaths.getProgressDir();constructor(planStore,backupStore,localAgent){this.planStore=planStore,this.backupStore=backupStore,this.localAgent=localAgent,this.backupNotification=new BackupNotification}async onBackupStart(data){const{planId:planId,backupId:backupId,summary:summary}=data;if(!planId)return;const existingBackup=await this.backupStore.getById(backupId);if(existingBackup&&"main"===existingBackup.sourceId&&this.localAgent)return await this.backupStore.update(backupId,{inProgress:!0,status:"retrying",ended:null}),void this.localAgent.emit("backup_created",{planId:planId,backupId:backupId});if(await this.planStore.hasActiveBackups(planId))planLogger("backup",planId).error("Failed to Start Backup as a backup is already running for this plan.");else{const thePlan=await this.planStore.getById(planId);if(!thePlan)return;try{const{storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,sourceConfig:sourceConfig,settings:{encryption:encryption,compression:compression}}=thePlan,newBackupData={id:backupId,status:"started",inProgress:!0,planId:planId,storageId:storageId,sourceId:sourceId,sourceType:sourceType,storagePath:storagePath,encryption:encryption,compression:compression,sourceConfig:sourceConfig,taskStats:summary,method:"backup"};let parsedBackupData={...newBackupData};try{const parsedBackupDataRaw=backupInsertSchema.parse(newBackupData);parsedBackupData={...parsedBackupDataRaw,sourceType:parsedBackupDataRaw.sourceType}}catch(error){return void planLogger("backup",planId).error(`Error parsing Backup Data provided by the source. ${error?.message||"Unknown Error"}`)}const backup=await this.backupStore.create(parsedBackupData);if(!backup)return void planLogger("backup",planId).error("Failed to Create Backup entry in Database.");"main"===sourceId&&this.localAgent&&this.localAgent.emit("backup_created",{planId:planId,backupId:backup.id});const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"start",{id:backup.id,startTime:backup.started||new Date,stats:summary}),planLogger("backup",planId,backup.id).info(`Started Backing Up "${plan?.title||"Unknown Plan"}"`)}catch(error){planLogger("backup",planId).error(`Error Starting Backup for Plan ${planId} : ${error?.message.toString()||"Unknown Error"}`)}}}async onBackupComplete(data){const{planId:planId,success:success,backupId:backupId,summary:summary}=data,progressFile=`${this.progressDir}/backup-${backupId}.json`;let summaryData=null,totalDuration=0;try{if(summary&&"summary"===summary.message_type)summaryData=summary,totalDuration=summary.total_duration||0;else try{if(existsSync(progressFile)){const backupProgressData=JSON.parse(await readFile(progressFile,"utf8"));if(backupProgressData.events&&backupProgressData.events.length>0){const eventsWithSummary=backupProgressData.events.filter(event=>event.resticData&&"summary"===event.resticData.message_type);if(eventsWithSummary.length>0){const lastEvent=eventsWithSummary[eventsWithSummary.length-1];summaryData=lastEvent.resticData,totalDuration=lastEvent.resticData.total_duration||0}}}}catch(error){planLogger("backup",planId,backupId).warn(`Could not read progress file to fetch the completion summary: ${error.message}`)}const backup=await this.backupStore.update(backupId,{inProgress:!1,status:success?"completed":"failed",success:!!success,ended:sql`(unixepoch())`,completionStats:summaryData||null});if(!backup)throw new Error("Failed to update Backup entry in Database.");const plan=await this.planStore.getById(data.planId);if(plan&&plan.settings.notification){const replicationFailures=(backup.mirrors||[]).filter(m=>"failed"===m.status).map(m=>({replicationId:m.replicationId,storageId:m.storageId,storageName:m.storageName,storageType:m.storageType,error:m.error}));await this.backupNotification.send(plan,"success",{id:data.backupId,startTime:backup.started||new Date,stats:backup.completionStats||void 0,...replicationFailures.length>0?{replicationFailures:replicationFailures}:{}})}success?planLogger("backup",planId,backupId).info(`Backup Completed for Backup Plan. Total Duration: ${totalDuration} seconds.`):planLogger("backup",planId,backupId).error("Backup Failed for Backup Plan. Reason: Unknown.")}catch(error){planLogger("backup",data.planId,data.backupId).error(`Error processing backup completion for Backup. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onBackupError(data){try{if(!await this.backupStore.update(data.backupId,{status:"retrying",errorMsg:data.error}))throw new Error("Failed to update Backup entry in Database.");planLogger("backup",data.planId,data.backupId).info(`Backup Failed for Plan. Reason: ${data.error||"Unknown Error"}`)}catch(error){planLogger("backup",data.planId,data.backupId).error(`Error processing backup failure for Backup. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onBackupFailure(data){const{planId:planId,backupId:backupId,error:error}=data;try{const backup=await this.backupStore.update(backupId,{status:"failed",errorMsg:error,success:!1,inProgress:!1,ended:sql`(unixepoch())`});if(!backup)throw new Error("Failed to update Backup entry in Database.");await this.afterPermanentFailure(planId,backupId,error);const plan=await this.planStore.getById(planId);plan&&plan.settings.notification&&await this.backupNotification.send(plan,"failure",{id:backupId,startTime:backup.started||new Date,stats:backup.taskStats||void 0,error:error}),planLogger("backup",planId,backupId).info(`Backup Failed for Plan. Reason: ${error||"Unknown Error"}`)}catch(err){planLogger("backup",planId,backupId).error(`Error processing backup failure for Backup. Reason : ${err?.message.toString()||"Unknown Error"}`)}}async onBackupStatsUpdate(data){const{total_size:total_size,snapshots:snapshots=[],backupId:backupId,planId:planId,error:error="",mirrors:mirrors}=data;if(planId&&total_size&&!Number.isNaN(total_size)&&snapshots.length>0)try{await this.planStore.update(data.planId,{stats:{size:total_size,snapshots:snapshots,...mirrors?{mirrors:mirrors}:{}},lastBackupTime:sql`(unixepoch())`}),planLogger("update",planId,backupId).info(`Updated plan stats for Backup Plan. Total Size: ${total_size} bytes, Total Snapshots: ${snapshots.length||0} `)}catch(error){planLogger("update",planId,backupId).error(`Error updating plan stats for Backup Plan. Reason : ${error?.message.toString()||"Unknown Error"}`)}else planId&&planLogger("update",planId,backupId).error(`Failed to Update plan stats for Backup Plan. Reason: ${error||"Unknown Error"} `)}async onPruneEnd(data){if(data.success){planLogger("prune",data.planId).info("Successfully pruned Backups.");const{planId:planId,stats:stats}=data,{total_size:total_size,snapshots:snapshots=[]}=stats||{};if(planId&&total_size&&!Number.isNaN(total_size)&&snapshots.length>0)try{await this.planStore.update(data.planId,{stats:{size:total_size,snapshots:snapshots},lastBackupTime:sql`(unixepoch())`}),planLogger("update",planId).info(`Updated plan stats for Backup Plan. Total Size: ${total_size} bytes, Total Snapshots: ${snapshots.length||0} `)}catch(error){}}else planLogger("prune",data.planId).error(`Failed to prune Backups. Reason: ${data.error}`)}async afterPermanentFailure(planId,backupId,error){this.localAgent&&this.localAgent.emit(`backup_failed_processed_${backupId}`,{planId:planId,backupId:backupId,error:error})}async onReplicationStatsUpdate(data){const{planId:planId,backupId:backupId,mirrors:mirrors}=data;if(planId&&mirrors&&0!==mirrors.length)try{const plan=await this.planStore.getById(planId);plan&&plan.stats&&(await this.planStore.update(planId,{stats:{...plan.stats,mirrors:mirrors}}),planLogger("update",planId,backupId).info(`Updated plan mirror stats. ${mirrors.length} mirror(s) tracked.`))}catch(error){planLogger("update",planId,backupId).error(`Error updating plan mirror stats: ${error?.message||"Unknown Error"}`)}}async onIntegrityStart(data){const startedAt=(new Date).getTime();try{await this.planStore.update(data.planId,{verified:{status:"running",startedAt:startedAt,endedAt:null,hasError:!1}}),planLogger("integrity_check",data.planId).info("Started Integrity Check for Backup Plan.")}catch(error){planLogger("integrity_check",data.planId).error(`Error starting Integrity Check for Backup Plan. Reason : ${error?.message.toString()||"Unknown Error"}`)}}async onIntegrityEnd(data){const endedAt=(new Date).getTime();try{const thePlan=await this.planStore.getById(data.planId);if(thePlan&&thePlan.storage?.name&&thePlan.device?.id){const parsedResult={};let hasIntegrityIssue=!1;Object.keys(data.result).forEach(async key=>{const theStorage="primary"===key?thePlan.storage:thePlan.settings.replication?.storages?.find(m=>m.storageId===key.replace("mirror_","")),storageName="primary"===key?theStorage?.name:theStorage?.storageName||key,storagePath="primary"===key?thePlan.storagePath:theStorage?.storagePath||"",repoPath=generateResticRepoPath(storageName,storagePath||""),checkResult=handleResticCheckResult(data.result[key]||"",{repo:repoPath,device:`${thePlan.device?.name}${"main"!==thePlan.device?.id&&thePlan.device?.hostname?` (${thePlan.device.hostname})`:""}`});parsedResult[key]=checkResult,checkResult.hasError&&(hasIntegrityIssue=!0)}),await this.planStore.update(data.planId,{verified:{status:"completed",startedAt:thePlan.verified?.startedAt||endedAt,result:parsedResult,hasError:hasIntegrityIssue,endedAt:endedAt}}),planLogger("integrity_check",data.planId).info("Completed Integrity Check for Backup Plan.")}else planLogger("integrity_check",data.planId).error("Backup Plan not found.")}catch(error){planLogger("integrity_check",data.planId).error(`Error completing Integrity Check for Backup Plan. Reason : ${error?.message||"Unknown Error"}`)}}async onIntegrityFailed(data){const thePlan=await this.planStore.getById(data.planId);thePlan&&thePlan.storage?.name&&thePlan.device?.id?planLogger("integrity_check",data.planId).error("Failed Integrity Check for Backup Plan."):planLogger("integrity_check",data.planId).error("Backup Plan not found.")}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupEventService.js","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BackupEventService.js","sourceRoot":"","sources":["../../../src/services/events/BackupEventService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseBackupManager } from '../../managers/BaseBackupManager';
|
|
2
|
+
import { BackupStore } from '../../stores/BackupStore';
|
|
3
|
+
import { StorageStore } from '../../stores/StorageStore';
|
|
4
|
+
import { PlanStore } from '../../stores/PlanStore';
|
|
5
|
+
import { BackupNotification } from '../../notifications/BackupNotification';
|
|
6
|
+
import { BackupMirror } from '../../types/backups';
|
|
7
|
+
import { ReplicationStartEvent, ReplicationCompleteEvent, ReplicationInitEvent, ReplicationRetryEvent } from '../../types/events';
|
|
8
|
+
export declare class ReplicationEventService {
|
|
9
|
+
protected planStore: PlanStore;
|
|
10
|
+
protected backupStore: BackupStore;
|
|
11
|
+
protected storageStore: StorageStore;
|
|
12
|
+
protected localAgent?: BaseBackupManager | undefined;
|
|
13
|
+
protected backupNotification: BackupNotification;
|
|
14
|
+
constructor(planStore: PlanStore, backupStore: BackupStore, storageStore: StorageStore, localAgent?: BaseBackupManager | undefined);
|
|
15
|
+
/**
|
|
16
|
+
* Resolves storage names and creates initial mirror entries on the backup record.
|
|
17
|
+
* Emits `replication_init_complete` back to signal BackupHandler to proceed.
|
|
18
|
+
*/
|
|
19
|
+
onReplicationInit(data: ReplicationInitEvent): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Handles replication retry by creating a fresh ReplicationHandler,
|
|
22
|
+
* resolving storage names, and running the replications.
|
|
23
|
+
*/
|
|
24
|
+
onReplicationRetry(data: ReplicationRetryEvent): Promise<void>;
|
|
25
|
+
onReplicationStart(data: ReplicationStartEvent): Promise<void>;
|
|
26
|
+
onReplicationComplete(data: ReplicationCompleteEvent): Promise<void>;
|
|
27
|
+
onReplicationPartialFailure(data: {
|
|
28
|
+
planId: string;
|
|
29
|
+
backupId: string;
|
|
30
|
+
mirrors: BackupMirror[];
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ReplicationEventService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplicationEventService.d.ts","sourceRoot":"","sources":["../../../src/services/events/ReplicationEventService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACN,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EAErB,MAAM,oBAAoB,CAAC;AAK5B,qBAAa,uBAAuB;IAIlC,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,UAAU,CAAC,EAAE,iBAAiB;IANzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBAGtC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAKzC;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqElE;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8G9D,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9D,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpE,2BAA2B,CAAC,IAAI,EAAE;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,YAAY,EAAE,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{BackupNotification}from"../../notifications/BackupNotification";import{planLogger}from"../../utils/logger";import{ReplicationHandler}from"../../managers/handlers/ReplicationHandler";import{ProgressManager}from"../../managers/ProgressManager";import{appPaths}from"../../utils/AppPaths";export class ReplicationEventService{planStore;backupStore;storageStore;localAgent;backupNotification;constructor(planStore,backupStore,storageStore,localAgent){this.planStore=planStore,this.backupStore=backupStore,this.storageStore=storageStore,this.localAgent=localAgent,this.backupNotification=new BackupNotification}async onReplicationInit(data){try{const resolvedStorages=[];for(const ms of data.replicationStorages)try{const storage=await this.storageStore.getById(ms.storageId);resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:storage?.name||"",storageType:storage?.type||""})}catch(error){resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:"",storageType:""}),planLogger("replication",data.planId,data.backupId).error(`Error resolving storage ${ms.storageId}: ${error?.message||"Unknown Error"}`)}if(data.isRetry)for(const s of resolvedStorages)await this.backupStore.updateMirrorStatus(data.backupId,s.replicationId,{status:"pending",started:void 0,ended:void 0,error:void 0,storageName:s.storageName,storageType:s.storageType});else{const initialMirrors=resolvedStorages.map(s=>({replicationId:s.replicationId,storageId:s.storageId,storageName:s.storageName,storagePath:s.storagePath,storageType:s.storageType,status:"pending"}));await this.backupStore.update(data.backupId,{mirrors:initialMirrors})}this.localAgent&&this.localAgent.emit("replication_init_complete",{planId:data.planId,backupId:data.backupId,resolvedStorages:resolvedStorages})}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication init event: ${error?.message||"Unknown Error"}`)}}async onReplicationRetry(data){try{const resolvedStorages=[];for(const ms of data.replicationStorages)try{const storage=await this.storageStore.getById(ms.storageId);resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:storage?.name||"",storageType:storage?.type||""})}catch(error){resolvedStorages.push({replicationId:ms.replicationId,storageId:ms.storageId,storagePath:ms.storagePath,storageName:"",storageType:""})}const progressManager=new ProgressManager(appPaths.getProgressDir());await progressManager.initialize();const replicationHandler=new ReplicationHandler(this.localAgent,progressManager,new Set);await progressManager.updateAction(data.planId,data.backupId,"replication","REPLICATION_MANUAL_RETRY_START",!1);for(const storage of resolvedStorages)await this.backupStore.updateMirrorStatus(data.backupId,storage.replicationId,{status:"pending",started:void 0,ended:void 0,error:void 0});const results=await replicationHandler.replicateSnapshot(data.planId,data.backupId,data.sourceRepoPath,data.encryption,resolvedStorages,data.pruneSettings,data.concurrent,{attempts:0,maxAttempts:0});for(const mirror of results)await this.backupStore.updateMirrorStatus(data.backupId,mirror.replicationId,{status:mirror.status,started:mirror.started,ended:mirror.ended,error:mirror.error});const allSucceeded=results.every(m=>"completed"===m.status);allSucceeded||this.localAgent&&this.localAgent.emit("replication_partial_failure",{planId:data.planId,backupId:data.backupId,mirrors:results}),await progressManager.updateAction(data.planId,data.backupId,"replication",allSucceeded?"REPLICATION_MANUAL_RETRY_COMPLETE":"REPLICATION_MANUAL_RETRY_PARTIAL_FAILURE",!0,allSucceeded?void 0:`${results.filter(m=>"failed"===m.status).length} replication(s) still failed`),planLogger("replication",data.planId,data.backupId).info(`Replication retry completed. ${results.filter(m=>"completed"===m.status).length}/${results.length} succeeded.`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Replication retry failed: ${error?.message||"Unknown Error"}`)}}async onReplicationStart(data){try{await this.backupStore.updateMirrorStatus(data.backupId,data.replicationId,{storageId:data.storageId,storageName:data.storageName,storagePath:data.storagePath,storageType:data.storageType,status:"started",started:Date.now()}),planLogger("replication",data.planId,data.backupId).info(`Replication started for storage ${data.storageName} (${data.storageId})`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication start event: ${error?.message||"Unknown Error"}`)}}async onReplicationComplete(data){try{await this.backupStore.updateMirrorStatus(data.backupId,data.replicationId,{storageId:data.storageId,storageName:data.storageName,storagePath:data.storagePath,storageType:data.storageType,status:data.success?"completed":"failed",ended:Date.now(),error:data.error}),data.success?planLogger("replication",data.planId,data.backupId).info(`Replication completed for storage ${data.storageName} (${data.storageId})`):planLogger("replication",data.planId,data.backupId).error(`Replication failed for storage ${data.storageName} (${data.storageId}): ${data.error||"Unknown Error"}`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication complete event: ${error?.message||"Unknown Error"}`)}}async onReplicationPartialFailure(data){try{const failedMirrors=data.mirrors.filter(m=>"failed"===m.status),plan=await this.planStore.getById(data.planId);if(plan&&plan.settings.notification){const failedStorageNames=failedMirrors.map(m=>m.storageName).join(", ");await this.backupNotification.send(plan,"replication_failure",{id:data.backupId,startTime:new Date,error:`Replication failed for storages: ${failedStorageNames}`,failedMirrors:failedMirrors})}planLogger("replication",data.planId,data.backupId).error(`Replication partial failure: ${failedMirrors.length} replication(s) failed`)}catch(error){planLogger("replication",data.planId,data.backupId).error(`Error processing replication partial failure: ${error?.message||"Unknown Error"}`)}}}
|
|
@@ -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,15 +27,19 @@ 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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
onIntegrityStart(data: {
|
|
34
|
+
planId: string;
|
|
35
|
+
}): Promise<void>;
|
|
36
|
+
onIntegrityEnd(data: {
|
|
37
|
+
planId: string;
|
|
38
|
+
result: Record<string, string | null>;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
onIntegrityCheckFailure(data: {
|
|
41
|
+
planId: string;
|
|
42
|
+
error: string;
|
|
43
|
+
}): Promise<void>;
|
|
40
44
|
}
|
|
41
45
|
//# sourceMappingURL=BackupEventListener.d.ts.map
|
|
@@ -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,
|
|
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;cAyCxB,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;IAIxD,gBAAgB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAKzC,cAAc,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;KAAE;IAK9E,uBAAuB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAIrE"}
|
|
@@ -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
|
|
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)),this.localAgent.on("integrity_start",event=>this.onIntegrityStart(event)),this.localAgent.on("integrity_end",event=>this.onIntegrityEnd(event)),jobProcessor.on("integrity_failed",event=>{this.onIntegrityCheckFailure(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 onIntegrityStart(data){await this.backupEventService.onIntegrityStart(data)}async onIntegrityEnd(data){await this.backupEventService.onIntegrityEnd(data)}async onIntegrityCheckFailure(data){await this.backupEventService.onIntegrityFailed(data)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupEventListener.js","sourceRoot":"","sources":["../../../src/services/listeners/BackupEventListener.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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"}
|