From 0c25c568c1a0bc3bd9d89be77181f1ad8c688845 Mon Sep 17 00:00:00 2001 From: Keepers Date: Wed, 26 Jul 2023 14:46:30 -0600 Subject: [PATCH] use proper resource ids in factory (#3912) #### Does this PR need a docs update or release note? - [x] :no_entry: No #### Type of change - [x] :bug: Bugfix #### Test Plan - [x] :green_heart: E2E --- .github/actions/slack-message/action.yml | 3 ++- src/cmd/factory/impl/common.go | 20 +++++++++++++++----- src/cmd/factory/impl/onedrive.go | 2 +- src/cmd/factory/impl/sharepoint.go | 2 +- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/actions/slack-message/action.yml b/.github/actions/slack-message/action.yml index 1b72d9bee..57091d430 100644 --- a/.github/actions/slack-message/action.yml +++ b/.github/actions/slack-message/action.yml @@ -31,6 +31,7 @@ runs: - name: use url or blank val shell: bash run: | + echo "STEP=${{ github.action || '' }}" >> $GITHUB_ENV echo "JOB=${{ github.job || '' }}" >> $GITHUB_ENV echo "LOGS=${{ github.run_id && env.logurl || '-' }}" >> $GITHUB_ENV echo "COMMIT=${{ github.sha && env.commiturl || '-' }}" >> $GITHUB_ENV @@ -50,7 +51,7 @@ runs: "type": "section", "text": { "type": "mrkdwn", - "text": "${{ inputs.msg }} :: ${{ env.JOB }}\n${{ env.LOGS }} ${{ env.COMMIT }} ${{ env.REF }}" + "text": "${{ inputs.msg }} :: ${{ env.JOB }} - ${{ env.STEP }}\n${{ env.LOGS }} ${{ env.COMMIT }} ${{ env.REF }}" } } ] diff --git a/src/cmd/factory/impl/common.go b/src/cmd/factory/impl/common.go index 837063b40..5904e09d4 100644 --- a/src/cmd/factory/impl/common.go +++ b/src/cmd/factory/impl/common.go @@ -224,7 +224,8 @@ var ( func generateAndRestoreDriveItems( ctrl *m365.Controller, - resourceOwner, secondaryUserID, secondaryUserName string, + protectedResource idname.Provider, + secondaryUserID, secondaryUserName string, acct account.Account, service path.ServiceType, cat path.CategoryType, @@ -248,14 +249,23 @@ func generateAndRestoreDriveItems( switch service { case path.SharePointService: - d, err := ctrl.AC.Stable.Client().Sites().BySiteId(resourceOwner).Drive().Get(ctx, nil) + d, err := ctrl.AC.Stable. + Client(). + Sites(). + BySiteId(protectedResource.ID()). + Drive(). + Get(ctx, nil) if err != nil { return nil, clues.Wrap(err, "getting site's default drive") } driveID = ptr.Val(d.GetId()) default: - d, err := ctrl.AC.Stable.Client().Users().ByUserId(resourceOwner).Drive().Get(ctx, nil) + d, err := ctrl.AC.Stable.Client(). + Users(). + ByUserId(protectedResource.ID()). + Drive(). + Get(ctx, nil) if err != nil { return nil, clues.Wrap(err, "getting user's default drive") } @@ -423,7 +433,7 @@ func generateAndRestoreDriveItems( Resource: resource.Users, Service: service, Tenant: tenantID, - ResourceOwners: []string{resourceOwner}, + ResourceOwners: []string{protectedResource.ID()}, RestoreCfg: restoreCfg, } @@ -438,7 +448,7 @@ func generateAndRestoreDriveItems( rcc := inject.RestoreConsumerConfig{ BackupVersion: version.Backup, Options: opts, - ProtectedResource: sel, + ProtectedResource: protectedResource, RestoreConfig: restoreCfg, Selector: sel, } diff --git a/src/cmd/factory/impl/onedrive.go b/src/cmd/factory/impl/onedrive.go index e647863dd..6ccc98977 100644 --- a/src/cmd/factory/impl/onedrive.go +++ b/src/cmd/factory/impl/onedrive.go @@ -47,7 +47,7 @@ func handleOneDriveFileFactory(cmd *cobra.Command, args []string) error { deets, err := generateAndRestoreDriveItems( ctrl, - inp.ID(), + inp, SecondaryUser, strings.ToLower(SecondaryUser), acct, diff --git a/src/cmd/factory/impl/sharepoint.go b/src/cmd/factory/impl/sharepoint.go index eeec57c95..ab9d3fc92 100644 --- a/src/cmd/factory/impl/sharepoint.go +++ b/src/cmd/factory/impl/sharepoint.go @@ -47,7 +47,7 @@ func handleSharePointLibraryFileFactory(cmd *cobra.Command, args []string) error deets, err := generateAndRestoreDriveItems( ctrl, - inp.ID(), + inp, SecondaryUser, strings.ToLower(SecondaryUser), acct,