@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
package/dist/stores/PlanStore.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAiB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,SAAS;IACC;IAAtB,YAAsB,EAAgB;QAAhB,OAAE,GAAF,EAAE,CAAc;IAAG,CAAC;IAE1C,KAAK,CAAC,MAAM,CAAC,UAAmB,IAAI;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjD,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,IAAI;qBACd;iBACD;gBACD,OAAO,EAAE;oBACR,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,IAAI;qBACV;iBACD;gBACD,OAAO,EAAE;oBACR,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACxB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACrD,OAAO,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,IAAI;wBACX,WAAW,EAAE,IAAI;wBACjB,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,IAAI;wBACX,eAAe,EAAE,IAAI;wBACrB,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,IAAI;
|
|
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;
|
|
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=>(
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"StorageStore.js","sourceRoot":"","sources":["../../src/stores/StorageStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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
|
|
60
|
+
unlockRepo?(planId: string, replicationStorages?: {
|
|
61
|
+
storageName: string;
|
|
62
|
+
storagePath: string;
|
|
63
|
+
}[]): Promise<{
|
|
46
64
|
success: boolean;
|
|
47
65
|
result: string;
|
|
48
66
|
}>;
|
|
@@ -50,6 +68,10 @@ export interface BackupStrategy {
|
|
|
50
68
|
success: boolean;
|
|
51
69
|
result: string;
|
|
52
70
|
}>;
|
|
71
|
+
checkIntegrity(planId: string): Promise<{
|
|
72
|
+
success: boolean;
|
|
73
|
+
result: any;
|
|
74
|
+
}>;
|
|
53
75
|
}
|
|
54
76
|
export type BackupStrategyTypes = StrategyMethodTypes<BackupStrategy>;
|
|
55
77
|
//# sourceMappingURL=BackupStrategy.d.ts.map
|
|
@@ -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,
|
|
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
|
|
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
|
|
59
|
+
unlockRepo(planId: string, replicationStorages?: {
|
|
60
|
+
storageName: string;
|
|
61
|
+
storagePath: string;
|
|
62
|
+
}[]): Promise<{
|
|
45
63
|
success: boolean;
|
|
46
64
|
result: string;
|
|
47
65
|
}>;
|
|
@@ -49,6 +67,10 @@ export declare class LocalStrategy implements BackupStrategy {
|
|
|
49
67
|
success: boolean;
|
|
50
68
|
result: string;
|
|
51
69
|
}>;
|
|
70
|
+
checkIntegrity(planId: string): Promise<{
|
|
71
|
+
success: boolean;
|
|
72
|
+
result: any;
|
|
73
|
+
}>;
|
|
52
74
|
getBackupProgress(planId: string, backupId: string): Promise<{
|
|
53
75
|
success: boolean;
|
|
54
76
|
result: any;
|
|
@@ -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;
|
|
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,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IAI1E,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 checkIntegrity(planId){return await this.localAgent.checkIntegrity(planId)}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,
|
|
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:
|
|
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;
|
|
@@ -51,6 +58,10 @@ export declare class RemoteStrategy implements BackupStrategy {
|
|
|
51
58
|
success: boolean;
|
|
52
59
|
result: any;
|
|
53
60
|
}>;
|
|
61
|
+
checkIntegrity(planId: string): Promise<{
|
|
62
|
+
success: boolean;
|
|
63
|
+
result: any;
|
|
64
|
+
}>;
|
|
54
65
|
publishCommand(action: string, payload: any): Promise<{
|
|
55
66
|
success: boolean;
|
|
56
67
|
result: any;
|
|
@@ -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,
|
|
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;iBAmD+D,OAAO;gBAAU,GAAG;;IA9C/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;iBAwC+D,OAAO;gBAAU,GAAG;;IAnC/E,aAAa,CAAC,MAAM,EAAE,MAAM;iBAmC+B,OAAO;gBAAU,GAAG;;IA/B/E,WAAW,CAAC,MAAM,EAAE,MAAM;iBA+BiC,OAAO;gBAAU,GAAG;;IA3B/E,YAAY,CAAC,MAAM,EAAE,MAAM;iBA2BgC,OAAO;gBAAU,GAAG;;IAxB/E,YAAY,CAAC,MAAM,EAAE,MAAM;iBAwBgC,OAAO;gBAAU,GAAG;;IApB/E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAoBS,OAAO;gBAAU,GAAG;;IAhB/E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAgBc,OAAO;gBAAU,GAAG;;IAZ/E,UAAU,CAAC,MAAM,EAAE,MAAM;iBAYkC,OAAO;gBAAU,GAAG;;IAR/E,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;iBAQJ,OAAO;gBAAU,GAAG;;IAJ/E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IAIhF,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{
|
|
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})}async checkIntegrity(planId){return await this.publishCommand("CHECK_INTEGRITY",{planId:planId})}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,
|
|
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,KAAK,CAAC,cAAc,CAAC,MAAc;QAClC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,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"}
|
|
@@ -7,13 +7,25 @@ export declare class LocalStrategy implements SnapshotStrategy {
|
|
|
7
7
|
storageName: string;
|
|
8
8
|
storagePath: string;
|
|
9
9
|
encryption: boolean;
|
|
10
|
-
|
|
10
|
+
mirrors?: {
|
|
11
|
+
replicationId: string;
|
|
12
|
+
storageName: string;
|
|
13
|
+
storagePath: string;
|
|
14
|
+
}[];
|
|
11
15
|
}): Promise<{
|
|
12
16
|
success: boolean;
|
|
13
17
|
result: any;
|
|
14
|
-
stats?:
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
stats?: {
|
|
19
|
+
primary: null | {
|
|
20
|
+
total_size: number;
|
|
21
|
+
snapshots: string[];
|
|
22
|
+
};
|
|
23
|
+
mirrors?: {
|
|
24
|
+
[key: string]: {
|
|
25
|
+
total_size: number;
|
|
26
|
+
snapshots: string[];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
17
29
|
};
|
|
18
30
|
}>;
|
|
19
31
|
downloadSnapshot(planId: string, backupId: string, path: string, options: {
|
|
@@ -31,5 +43,9 @@ export declare class LocalStrategy implements SnapshotStrategy {
|
|
|
31
43
|
success: boolean;
|
|
32
44
|
result: import("../../types/restic").SnapShotFile[] | string;
|
|
33
45
|
}>;
|
|
46
|
+
retryFailedReplication(planId: string, backupId: string, replicationIds: string[]): Promise<{
|
|
47
|
+
success: boolean;
|
|
48
|
+
result: string;
|
|
49
|
+
}>;
|
|
34
50
|
}
|
|
35
51
|
//# sourceMappingURL=LocalStrategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/snapshot/LocalStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,aAAc,YAAW,gBAAgB;IACzC,SAAS,CAAC,UAAU,EAAE,mBAAmB;gBAA/B,UAAU,EAAE,mBAAmB;IAE/C,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/snapshot/LocalStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,aAAc,YAAW,gBAAgB;IACzC,SAAS,CAAC,UAAU,EAAE,mBAAmB;gBAA/B,UAAU,EAAE,mBAAmB;IAE/C,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChF;;;;;;;;mBAiCyhC,CAAC;;;;;;;;IA5BthC,gBAAgB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;IAKrE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAIpD,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAIvD,gBAAgB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;;;;IAIrE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;;;;CAGvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export class LocalStrategy{localAgent;constructor(localAgent){this.localAgent=localAgent}async removeSnapshot(planId,backupId,options){return await this.localAgent.removeSnapshot(planId,backupId,options)}async downloadSnapshot(planId,backupId,path,options){return await this.localAgent.downloadSnapshot(planId,backupId,path,options)}async getSnapshotDownload(planId,backupId){return await this.localAgent.getSnapshotDownload(planId,backupId)}async cancelSnapshotDownload(planId,backupId){return await this.localAgent.cancelSnapshotDownload(planId,backupId)}async getSnapshotFiles(planId,backupId,options){return await this.localAgent.getSnapshotFiles(backupId,options)}}
|
|
1
|
+
export class LocalStrategy{localAgent;constructor(localAgent){this.localAgent=localAgent}async removeSnapshot(planId,backupId,options){return await this.localAgent.removeSnapshot(planId,backupId,options)}async downloadSnapshot(planId,backupId,path,options){return await this.localAgent.downloadSnapshot(planId,backupId,path,options)}async getSnapshotDownload(planId,backupId){return await this.localAgent.getSnapshotDownload(planId,backupId)}async cancelSnapshotDownload(planId,backupId){return await this.localAgent.cancelSnapshotDownload(planId,backupId)}async getSnapshotFiles(planId,backupId,options){return await this.localAgent.getSnapshotFiles(backupId,options)}async retryFailedReplication(planId,backupId,replicationIds){return await this.localAgent.retryFailedReplication(planId,backupId,replicationIds)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStrategy.js","sourceRoot":"","sources":["../../../src/strategies/snapshot/LocalStrategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IACH;IAAtB,YAAsB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEzD,KAAK,CAAC,cAAc,CACnB,MAAc,EACd,QAAgB,EAChB,OAKC;QAED,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,QAAgB,EAChB,IAAY,EACZ,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,QAAgB;QACzD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAgB;QAC5D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,QAAgB,EAChB,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"LocalStrategy.js","sourceRoot":"","sources":["../../../src/strategies/snapshot/LocalStrategy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IACH;IAAtB,YAAsB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEzD,KAAK,CAAC,cAAc,CACnB,MAAc,EACd,QAAgB,EAChB,OAKC;QAED,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,QAAgB,EAChB,IAAY,EACZ,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,QAAgB;QACzD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAgB;QAC5D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,QAAgB,EAChB,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAgB,EAAE,cAAwB;QACtF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvF,CAAC;CACD"}
|
|
@@ -6,7 +6,6 @@ export declare class RemoteStrategy implements SnapshotStrategy {
|
|
|
6
6
|
storagePath: string;
|
|
7
7
|
storageName: string;
|
|
8
8
|
encryption: boolean;
|
|
9
|
-
planId: string;
|
|
10
9
|
}): Promise<{
|
|
11
10
|
success: boolean;
|
|
12
11
|
result: any;
|
|
@@ -35,6 +34,10 @@ export declare class RemoteStrategy implements SnapshotStrategy {
|
|
|
35
34
|
success: boolean;
|
|
36
35
|
result: any;
|
|
37
36
|
}>;
|
|
37
|
+
retryFailedReplication(planId: string, backupId: string, replicationIds: string[]): Promise<{
|
|
38
|
+
success: boolean;
|
|
39
|
+
result: any;
|
|
40
|
+
}>;
|
|
38
41
|
publishCommand(action: string, payload: any): Promise<{
|
|
39
42
|
success: boolean;
|
|
40
43
|
result: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/snapshot/RemoteStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,cAAe,YAAW,gBAAgB;IACtD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,MAAM;IAGtB,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"RemoteStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/snapshot/RemoteStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,cAAe,YAAW,gBAAgB;IACtD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEf,QAAQ,EAAE,MAAM;IAGtB,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;iBAkCV,OAAO;gBAAU,GAAG;;IA7B/E,gBAAgB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;iBAyBV,OAAO;gBAAU,GAAG;;IApB/E,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;iBAoBO,OAAO;gBAAU,GAAG;;IAhB/E,sBAAsB,CAAC,QAAQ,EAAE,MAAM;iBAgBoB,OAAO;gBAAU,GAAG;;IAZ/E,gBAAgB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;iBASV,OAAO;gBAAU,GAAG;;IAJ/E,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;iBAItB,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 removeSnapshot(planId,backupId,options){return await this.publishCommand("REMOVE_SNAPSHOT",{backupId:backupId,options:options})}async downloadSnapshot(planId,backupId,path,options){return await this.publishCommand("DOWNLOAD_SNAPSHOT",{backupId:backupId,path:path,options:options})}async getSnapshotDownload(planId,backupId){return await this.publishCommand("GET_SNAPSHOT_DOWNLOAD",{planId:planId,backupId:backupId})}async cancelSnapshotDownload(backupId){return await this.publishCommand("CANCEL_SNAPSHOT_DOWNLOAD",{backupId:backupId})}async getSnapshotFiles(planId,backupId,options){return await this.publishCommand("GET_SNAPSHOT_FILES",{planId:planId,backupId:backupId,options:options})}publishCommand(action,payload){return new Promise((resolve,reject)=>{resolve({success:!0,result:null})})}}
|
|
1
|
+
export class RemoteStrategy{deviceId;constructor(deviceId){this.deviceId=deviceId}async removeSnapshot(planId,backupId,options){return await this.publishCommand("REMOVE_SNAPSHOT",{backupId:backupId,options:options})}async downloadSnapshot(planId,backupId,path,options){return await this.publishCommand("DOWNLOAD_SNAPSHOT",{backupId:backupId,path:path,options:options})}async getSnapshotDownload(planId,backupId){return await this.publishCommand("GET_SNAPSHOT_DOWNLOAD",{planId:planId,backupId:backupId})}async cancelSnapshotDownload(backupId){return await this.publishCommand("CANCEL_SNAPSHOT_DOWNLOAD",{backupId:backupId})}async getSnapshotFiles(planId,backupId,options){return await this.publishCommand("GET_SNAPSHOT_FILES",{planId:planId,backupId:backupId,options:options})}async retryFailedReplication(planId,backupId,replicationIds){return await this.publishCommand("RETRY_REPLICATION",{planId:planId,backupId:backupId,replicationIds:replicationIds})}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/snapshot/RemoteStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAS;IAE3B,YAAY,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,cAAc,CACnB,MAAc,EACd,QAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"RemoteStrategy.js","sourceRoot":"","sources":["../../../src/strategies/snapshot/RemoteStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAS;IAE3B,YAAY,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,cAAc,CACnB,MAAc,EACd,QAAgB,EAChB,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,QAAgB,EAChB,IAAY,EACZ,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,QAAgB;QACzD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAC5C,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,MAAc,EACd,QAAgB,EAChB,OAA0E;QAE1E,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAgB,EAAE,cAAwB;QACtF,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,QAAQ,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"}
|
|
@@ -6,13 +6,25 @@ export interface SnapshotStrategy {
|
|
|
6
6
|
storagePath: string;
|
|
7
7
|
storageName: string;
|
|
8
8
|
encryption: boolean;
|
|
9
|
-
|
|
9
|
+
mirrors?: {
|
|
10
|
+
replicationId: string;
|
|
11
|
+
storageName: string;
|
|
12
|
+
storagePath: string;
|
|
13
|
+
}[];
|
|
10
14
|
}): Promise<{
|
|
11
15
|
success: boolean;
|
|
12
16
|
result: any;
|
|
13
|
-
stats?:
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
stats?: {
|
|
18
|
+
primary: null | {
|
|
19
|
+
total_size: number;
|
|
20
|
+
snapshots: string[];
|
|
21
|
+
};
|
|
22
|
+
mirrors?: {
|
|
23
|
+
[key: string]: {
|
|
24
|
+
total_size: number;
|
|
25
|
+
snapshots: string[];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
16
28
|
};
|
|
17
29
|
}>;
|
|
18
30
|
downloadSnapshot(planId: string, backupId: string, path: string, options: {
|
|
@@ -42,6 +54,10 @@ export interface SnapshotStrategy {
|
|
|
42
54
|
success: boolean;
|
|
43
55
|
result: SnapShotFile[] | string;
|
|
44
56
|
}>;
|
|
57
|
+
retryFailedReplication(planId: string, backupId: string, replicationIds: string[]): Promise<{
|
|
58
|
+
success: boolean;
|
|
59
|
+
result: string;
|
|
60
|
+
}>;
|
|
45
61
|
}
|
|
46
62
|
export type SnapshotStrategyTypes = StrategyMethodTypes<SnapshotStrategy>;
|
|
47
63
|
//# sourceMappingURL=SnapshotStrategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnapshotStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/snapshot/SnapshotStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,WAAW,gBAAgB;IAChC,cAAc,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"SnapshotStrategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/snapshot/SnapshotStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,WAAW,gBAAgB;IAChC,cAAc,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChF,GACC,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,CAAC,EAAE;YACP,OAAO,EAAE,IAAI,GAAG;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC;YAC5D,OAAO,CAAC,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,SAAS,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAA;aAAE,CAAC;SACzE,CAAC;KACF,CAAC,CAAC;IACH,gBAAgB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GACxE,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,mBAAmB,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,UAAU,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAChG,sBAAsB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,gBAAgB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GACxE,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,sBAAsB,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC"}
|
package/dist/types/backups.d.ts
CHANGED
|
@@ -41,11 +41,21 @@ export interface BackupProgressStats {
|
|
|
41
41
|
}
|
|
42
42
|
export interface BackupDownload {
|
|
43
43
|
status: string;
|
|
44
|
+
storageId?: string;
|
|
45
|
+
storageName?: string;
|
|
46
|
+
storageType?: string;
|
|
44
47
|
started?: number;
|
|
45
48
|
ended?: number;
|
|
46
49
|
error?: string;
|
|
47
50
|
sourceConfig?: Record<string, any>;
|
|
48
51
|
}
|
|
52
|
+
export interface ReplicationFailureInfo {
|
|
53
|
+
replicationId: string;
|
|
54
|
+
storageId: string;
|
|
55
|
+
storageName: string;
|
|
56
|
+
storageType: string;
|
|
57
|
+
error?: string;
|
|
58
|
+
}
|
|
49
59
|
export interface BackupNotificationJSONPayload {
|
|
50
60
|
eventName: string;
|
|
51
61
|
appTitle: string;
|
|
@@ -53,6 +63,7 @@ export interface BackupNotificationJSONPayload {
|
|
|
53
63
|
storageName: string;
|
|
54
64
|
storageType: string;
|
|
55
65
|
storagePath: string;
|
|
66
|
+
replicationStorages: number;
|
|
56
67
|
startTime: Date;
|
|
57
68
|
planID: string;
|
|
58
69
|
planTitle: string;
|
|
@@ -64,5 +75,18 @@ export interface BackupNotificationJSONPayload {
|
|
|
64
75
|
endTime?: Date;
|
|
65
76
|
error?: string;
|
|
66
77
|
stats?: BackupTaskStats | BackupCompletionStats;
|
|
78
|
+
replicationFailures?: ReplicationFailureInfo[];
|
|
79
|
+
}
|
|
80
|
+
export interface BackupMirror {
|
|
81
|
+
replicationId: string;
|
|
82
|
+
storageId: string;
|
|
83
|
+
storageName: string;
|
|
84
|
+
storagePath: string;
|
|
85
|
+
storageType: string;
|
|
86
|
+
status: 'pending' | 'started' | 'completed' | 'failed';
|
|
87
|
+
started?: number;
|
|
88
|
+
ended?: number;
|
|
89
|
+
error?: string;
|
|
90
|
+
size?: number;
|
|
67
91
|
}
|
|
68
92
|
//# sourceMappingURL=backups.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../../src/types/backups.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,6BAA6B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,eAAe,GAAG,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../../src/types/backups.ts"],"names":[],"mappings":"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"}
|