From 7ba3be52425e61f32575270429b85665ca7ebf75 Mon Sep 17 00:00:00 2001 From: Danny Date: Mon, 20 Feb 2023 16:21:27 -0500 Subject: [PATCH] CLI: SharePoint --data flag and wildcards (#2580) ## Description Enables feature SharePoint to use "wildcard" to select all available sites with the ability to only backup selected categories. Example ```bash ./corso backup create sharepoint --web-url "*" --data libraries ``` ## Does this PR need a docs update or release note? - [x] :no_entry: No ## Type of change - [x] :bug: Bugfix ## Issue(s) * closes #2579 ## Test Plan - [x] :muscle: Manual --- src/cli/backup/sharepoint.go | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/cli/backup/sharepoint.go b/src/cli/backup/sharepoint.go index 0184f034c..03cca7385 100644 --- a/src/cli/backup/sharepoint.go +++ b/src/cli/backup/sharepoint.go @@ -303,19 +303,13 @@ func sharePointBackupCreateSelectors( for _, site := range sites { if site == utils.Wildcard { - sel := selectors.NewSharePointBackup(selectors.Any()) - sel.Include(sel.AllData()) - - return sel, nil + return includeAllSitesWithCategories(cats), nil } } for _, wURL := range weburls { if wURL == utils.Wildcard { - sel := selectors.NewSharePointBackup(selectors.Any()) - sel.Include(sel.AllData()) - - return sel, nil + return includeAllSitesWithCategories(cats), nil } } @@ -328,10 +322,21 @@ func sharePointBackupCreateSelectors( } sel := selectors.NewSharePointBackup(union) + + return addCategories(sel, cats), nil +} + +func includeAllSitesWithCategories(categories []string) *selectors.SharePointBackup { + sel := addCategories( + selectors.NewSharePointBackup(selectors.Any()), + categories) + + return sel +} + +func addCategories(sel *selectors.SharePointBackup, cats []string) *selectors.SharePointBackup { if len(cats) == 0 { sel.Include(sel.AllData()) - - return sel, nil } for _, d := range cats { @@ -343,7 +348,7 @@ func sharePointBackupCreateSelectors( } } - return sel, nil + return sel } // ------------------------------------------------------------------------------------------------