Skip to content

Commit

Permalink
feat: add mirror backup jobs in backup overview
Browse files Browse the repository at this point in the history
  • Loading branch information
MathieuRA committed May 26, 2023
1 parent 80ab7b1 commit 4413cf9
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
1 change: 1 addition & 0 deletions packages/xo-web/src/common/intl/messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ const messages = {
xoConfig: 'XO config',
backupVms: 'Backup VMs',
backupMetadata: 'Backup metadata',
mirrorBackup: 'Mirror backup',
mirrorBackupVms: 'Mirror Backup VMs',
jobsOverviewPage: 'Overview',
jobsNewPage: 'New',
Expand Down
5 changes: 4 additions & 1 deletion packages/xo-web/src/common/xo/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2467,7 +2467,10 @@ export const deleteMetadataBackups = async (backups = []) => {

// Mirror backup ---------------------------------------------------------

export const createMirrorBackupJob = props => _call('mirrorBackup.createJob', props) // @TODO: refresh subscriptions
export const subscribeMirrorBackupJobs = createSubscription(() => _call('mirrorBackup.getAllJobs'))

export const createMirrorBackupJob = props =>
_call('mirrorBackup.createJob', props)::tap(subscribeMirrorBackupJobs.forceRefresh)

// Plugins -----------------------------------------------------------

Expand Down
11 changes: 9 additions & 2 deletions packages/xo-web/src/xo-app/backup/overview/tab-jobs.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import {
subscribeBackupNgJobs,
subscribeBackupNgLogs,
subscribeMetadataBackupJobs,
subscribeMirrorBackupJobs,
subscribeSchedules,
} from 'xo'

Expand All @@ -50,6 +51,10 @@ const Li = props => (
)

const MODES = [
{
label: 'mirrorBackup',
test: job => job?.type === 'mirrorBackup',
},
{
label: 'rollingSnapshot',
test: job => some(job.settings, ({ snapshotRetention }) => snapshotRetention > 0),
Expand Down Expand Up @@ -235,6 +240,7 @@ const SchedulePreviewBody = decorate([
@addSubscriptions({
jobs: subscribeBackupNgJobs,
metadataJobs: subscribeMetadataBackupJobs,
mirrorBackupJobs: subscribeMirrorBackupJobs,
schedulesByJob: cb =>
subscribeSchedules(schedules => {
cb(groupBy(schedules, 'jobId'))
Expand Down Expand Up @@ -307,7 +313,7 @@ class JobsTable extends React.Component {
} = getSettingsWithNonDefaultValue(job.mode, {
compression: job.compression,
proxyId: job.proxy,
...job.settings[''],
...job.settings?.[''],
})

return (
Expand Down Expand Up @@ -382,7 +388,8 @@ class JobsTable extends React.Component {
createSelector(
() => this.props.jobs,
() => this.props.metadataJobs,
(jobs = [], metadataJobs = []) => [...jobs, ...metadataJobs]
() => this.props.mirrorBackupJobs,
(jobs = [], metadataJobs = [], mirrorJobs = []) => [...jobs, ...metadataJobs, ...mirrorJobs]
),
() => this.props.predicate
)
Expand Down

0 comments on commit 4413cf9

Please sign in to comment.