Skip to content

Commit

Permalink
feat: add mirror bacup 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 8bfd646 commit ce9fc23
Show file tree
Hide file tree
Showing 3 changed files with 16 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
9 changes: 7 additions & 2 deletions packages/xo-web/src/common/xo/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2348,8 +2348,6 @@ export const subscribeMetadataBackupJobs = createSubscription(() => _call('metad

export const createBackupNgJob = props => _call('backupNg.createJob', props)::tap(subscribeBackupNgJobs.forceRefresh)

export const createMirrorBacupJob = props => _call('mirrorBackup.createJob', props) // @TODO: refresh subscriptions

export const getSuggestedExcludedTags = () => _call('backupNg.getSuggestedExcludedTags')

export const deleteBackupJobs = async ({ backupIds = [], metadataBackupIds = [] }) => {
Expand Down Expand Up @@ -2467,6 +2465,13 @@ export const deleteMetadataBackups = async (backups = []) => {
}
}

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

export const subscribeMirrorBackupJobs = createSubscription(() => _call('mirrorBackup.getAllJobs'))

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

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

export const loadPlugin = async id =>
Expand Down
9 changes: 8 additions & 1 deletion 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 @@ -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 ce9fc23

Please sign in to comment.