in src/SfxWeb/src/app/views/service/backup/backup.component.ts [55:122]
setupActions() {
if (!this.actions) {
this.actions = new ActionCollection(this.telemetry);
this.actions.add(new IsolatedAction(
this.data.dialog,
'enableServiceBackup',
'Enable/Update Service Backup',
'Enabling Service Backup',
{
enable: (backupName: string) => this.data.restClient.enableServiceBackup(this.service, backupName).pipe(mergeMap(() => {
return this.service.serviceBackupConfigurationInfoCollection.refresh();
})),
data: this
},
PartitionEnableBackUpComponent,
() => true,
));
this.actions.add(new IsolatedAction(
this.data.dialog,
'disableApplicationBackup',
'Disable Service Backup',
'Disabling Service Backup',
{
enable: (cleanBackup: boolean) => this.data.restClient.disableServiceBackup(this.service, cleanBackup).pipe(mergeMap(() => {
return this.service.serviceBackupConfigurationInfoCollection.refresh();
})),
data: this
},
PartitionDisableBackUpComponent,
() => this.service.serviceBackupConfigurationInfoCollection.collection.length && this.service.serviceBackupConfigurationInfoCollection.collection[0].raw &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.Kind === 'Service' &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.PolicyInheritedFrom === 'Service',
));
this.actions.add(new ActionWithConfirmationDialog(
this.data.dialog,
'suspendServiceBackup',
'Suspend Service Backup',
'Suspending...',
() => this.data.restClient.suspendServiceBackup(this.service.id).pipe(map(() => {
return this.service.serviceBackupConfigurationInfoCollection.refresh();
})),
() => this.service.serviceBackupConfigurationInfoCollection.collection.length && this.service.serviceBackupConfigurationInfoCollection.collection[0].raw &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.Kind === 'Service' &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.PolicyInheritedFrom === 'Service' &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.SuspensionInfo.IsSuspended === false,
'Confirm Service Backup Suspension',
`Suspend Service backup for ${this.service.name} ?`,
this.service.name));
this.actions.add(new ActionWithConfirmationDialog(
this.data.dialog,
'resumeServiceBackup',
'Resume Service Backup',
'Resuming...',
() => this.data.restClient.resumeApplicationBackup(this.service.id).pipe(map(() => {
return this.service.serviceBackupConfigurationInfoCollection.refresh();
})),
() => this.service.serviceBackupConfigurationInfoCollection.collection.length && this.service.serviceBackupConfigurationInfoCollection.collection[0].raw &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.Kind === 'Service' &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.PolicyInheritedFrom === 'Service' &&
this.service.serviceBackupConfigurationInfoCollection.collection[0].raw.SuspensionInfo.IsSuspended === true,
'Confirm Service Backup Resumption',
`Resume Service backup for ${this.service.name} ?`,
this.service.name));
}
}