1213 Commits

Author SHA1 Message Date
Danny Adams
91f2556e4c removal of type identification. 2023-01-10 18:47:06 -05:00
Danny Adams
5ac97ec856 GOFMT: Added defer clause for writer.Close(). 2023-01-06 16:57:25 -05:00
Danny Adams
d2b7ac0d0c Merge branch 'main' into serialize-common 2023-01-06 16:32:39 -05:00
Danny Adams
9ab2d96451 Interface updated. MockGraphService struct removed from the helper_test.go 2023-01-06 16:18:56 -05:00
Danny Adams
886015126a Updates to add interface to onedrive package. 2023-01-06 16:13:44 -05:00
Danny Adams
dd42105b3e Interface updated to use servicer. 2023-01-06 16:11:44 -05:00
Danny Adams
8a919ead95 Move Serialize function to interface. 2023-01-06 16:06:10 -05:00
Keepers
50209cd879
use stringslice for users in onedrive (#2042)
## Type of change

- [x] 🐛 Bugfix

## Issue(s)

* #2041

## Test Plan

- [x] 💪 Manual
2023-01-06 16:55:54 +00:00
Danny
b769c288b7
[Bug Fix] GC: Backup: Onedrive: Context timeout during drive retrieval fix (#2046)
## Description
Adds manual retry for drive retrieval <!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🐛 Bugfix


## Issue(s)

* closes Issue  #2044<issue>

## Test Plan

- [x]  Unit test
2023-01-06 16:17:21 +00:00
Danny Adams
5f3d9266a3 Update for comments. 2023-01-06 10:00:47 -05:00
Danny Adams
6dedf1807c Conversion change. 2023-01-06 09:55:03 -05:00
Danny Adams
105314d379 Refactor of serialization function applied to getItem.go 2023-01-06 09:54:42 -05:00
Danny Adams
d331ad8ecf Update to use internal fields rather than creating additional objects. 2023-01-06 09:38:26 -05:00
Danny Adams
9a872fd388 added defer to call to prevent failure. 2023-01-06 09:37:40 -05:00
dependabot[bot]
103f4ccd2c
⬆️ Bump github.com/aws/aws-sdk-go from 1.44.173 to 1.44.174 in /src (#2043)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.173 to 1.44.174.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.174 (2023-01-05)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/amplifybackend</code>: Updates service API and documentation</li>
<li><code>service/apprunner</code>: Updates service API and documentation</li>
<li><code>service/connect</code>: Updates service API</li>
<li><code>service/emr-serverless</code>: Updates service API and documentation</li>
<li><code>service/lightsail</code>: Updates service documentation
<ul>
<li>Documentation updates for Amazon Lightsail.</li>
</ul>
</li>
<li><code>service/mwaa</code>: Updates service documentation</li>
<li><code>service/rds</code>: Updates service API, documentation, waiters, paginators, and examples
<ul>
<li>This release adds support for specifying which certificate authority (CA) to use for a DB instance's server certificate during DB instance creation, as well as other CA enhancements.</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="455e98093a"><code>455e980</code></a> Release v1.44.174 (2023-01-05) (<a href="https://github-redirect.dependabot.com/aws/aws-sdk-go/issues/4681">#4681</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.173...v1.44.174">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/aws/aws-sdk-go&package-manager=go_modules&previous-version=1.44.173&new-version=1.44.174)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-01-06 10:02:05 +00:00
Keepers
2b45cfa617
remove resource owners from scopes (#1895)
## Description
    
Now that resource owners are identified via
the selector itself, rather than each scope, we
can remove the resource owner data from
scope production and data.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🌻 Feature

## Issue(s)

* #1617

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-05 21:29:48 +00:00
Keepers
70d5a5ab56
transition api methods to interfaces (#2010)
## Description

replaces the new api client methods with interfaces, to prepare for testing funcions with mocks instead of integration.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1967

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-05 21:03:35 +00:00
dependabot[bot]
2e92d10777
⬆️ Bump golang.org/x/tools from 0.4.0 to 0.5.0 in /src (#2037)
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.4.0 to 0.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p>
<blockquote>
<h2>gopls/v0.5.0</h2>
<p>A full list of issues closed can be found in the <a href="https://github.com/golang/go/milestone/138?closed=1">gopls/v0.5.0 milestone</a>.</p>
<h2>Memory usage</h2>
<ul>
<li>Rewrite of caching model, resulting in significant memory usage improvements (<a href="https://github.com/heschik"><code>@​heschik</code></a>).</li>
</ul>
<h2>New features</h2>
<ul>
<li>Extract to function: Support for extracting code blocks that contain return statements (<a href="https://github.com/joshbaum"><code>@​joshbaum</code></a>).</li>
<li>Workspace symbols: Support for <a href="https://github.com/junegunn/fzf#search-syntax">fzf-style search syntax</a> (<a href="https://github.com/findleyr"><code>@​findleyr</code></a>). The following syntax is supported:
<ul>
<li><code>'</code> for exact matching</li>
<li><code>^</code> for prefix matching</li>
<li><code>$</code> for suffix matching</li>
</ul>
</li>
</ul>
<p><strong>Note</strong>: This feature does not yet work in VS Code. See <a href="https://github-redirect.dependabot.com/golang/vscode-go/issues/647">golang/vscode-go#647</a> and <a href="https://github-redirect.dependabot.com/microsoft/vscode/issues/106788">microsoft/vscode#106788</a>.</p>
<ul>
<li>An experimental new code lens to view GC optimization details (<a href="https://github.com/pjweinb"><code>@​pjweinb</code></a>). Once the code lens is enabled, you will see a <code>Toggle gc details</code> annotation at the top of your file. Clicking it will show optimization diagnostics produced by the Go compiler, and clicking it once again will hide these diagnostics. Enable the code lens by adding the following to your settings:
<pre lang="json5"><code>&quot;codelens&quot;: {
	&quot;gc_details&quot;: true
}
</code></pre>
</li>
<li><code>go mod tidy</code> and <code>go mod vendor</code> code lenses for <code>go.mod</code> files (<a href="https://github.com/dandua98"><code>@​dandua98</code></a>).</li>
<li>Support for filling in matching in-scope variables instead of just empty values in fillstruct and fillreturns (<a href="https://github.com/joshbaum"><code>@​joshbaum</code></a>).</li>
<li>Autocompletion within import statements (<a href="https://github.com/dandua98"><code>@​dandua98</code></a>).</li>
<li>Autocompletion within package declarations (<a href="https://github.com/dandua98"><code>@​dandua98</code></a>).</li>
</ul>
<h2>Improvements</h2>
<ul>
<li>Improvements to workspace symbols ranking and fuzzy matching (<a href="https://github.com/findleyr"><code>@​findleyr</code></a>, <a href="https://github.com/myitcv"><code>@​myitcv</code></a>).</li>
<li>Better completion suggestions in type switch case clauses and for calls to <code>append</code>, function literals, and unnamed types (<a href="https://github.com/muirdm"><code>@​muirdm</code></a>).</li>
</ul>
<h2>Thank you</h2>
<p>Thank you to everyone who contributed to this release!</p>
<p><a href="https://github.com/heschik"><code>@​heschik</code></a>
<a href="https://github.com/findleyr"><code>@​findleyr</code></a>
<a href="https://github.com/pjweinb"><code>@​pjweinb</code></a>
<a href="https://github.com/joshbaum"><code>@​joshbaum</code></a>
<a href="https://github.com/mcjcloud"><code>@​mcjcloud</code></a>
<a href="https://github.com/dandua98"><code>@​dandua98</code></a>
<a href="https://github.com/muirdm"><code>@​muirdm</code></a>
<a href="https://github.com/leitzler"><code>@​leitzler</code></a>
<a href="https://github.com/myitcv"><code>@​myitcv</code></a>
<a href="https://github.com/matloob"><code>@​matloob</code></a>
<a href="https://github.com/tennashi"><code>@​tennashi</code></a>
<a href="https://github.com/ainar-g"><code>@​ainar-g</code></a>
<a href="https://github.com/hasheddan"><code>@​hasheddan</code></a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7db99dd126"><code>7db99dd</code></a> go.mod: update golang.org/x dependencies</li>
<li><a href="1e0dff28f4"><code>1e0dff2</code></a> gopls/internal/regtest: avoid race in TestSwitchFromGOPATHToModuleMode</li>
<li><a href="0441b432ca"><code>0441b43</code></a> gopls/internal/lsp/cache: use specific mutexes for module data</li>
<li><a href="33071fbe1a"><code>33071fb</code></a> internal/robustio: move robustio</li>
<li><a href="b01e7a4e75"><code>b01e7a4</code></a> gopls/internal/regtest/watch: don't run TestSwitchFromGOPATHToModuleMode</li>
<li><a href="e417ea36ba"><code>e417ea3</code></a> gopls: remove dead analysis code</li>
<li><a href="1a08d01ac9"><code>1a08d01</code></a> gopls/internal/lsp: update replace directives in go.mod for package renaming</li>
<li><a href="eac36cb2ac"><code>eac36cb</code></a> gopls/internal/regtest: port experimental workspace tests to go.work</li>
<li><a href="224a61b354"><code>224a61b</code></a> gopls/internal/lsp/source: delete Snapshot.WriteEnv method</li>
<li><a href="81e741e32f"><code>81e741e</code></a> gopls/internal/lsp/safetoken: funnel more calls through this package</li>
<li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.4.0...v0.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.4.0&new-version=0.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-01-05 17:40:45 +00:00
dependabot[bot]
e2cecc8b41
⬆️ Bump github.com/aws/aws-sdk-go from 1.44.172 to 1.44.173 in /src (#2038)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.172 to 1.44.173.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.173 (2023-01-04)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/application-autoscaling</code>: Updates service API and documentation</li>
<li><code>service/logs</code>: Updates service documentation
<ul>
<li>Update to remove sequenceToken as a required field in PutLogEvents calls.</li>
</ul>
</li>
<li><code>service/ssm</code>: Updates service API and documentation
<ul>
<li>Adding support for QuickSetup Document Type in Systems Manager</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="67d3a1d0ad"><code>67d3a1d</code></a> Release v1.44.173 (2023-01-04) (<a href="https://github-redirect.dependabot.com/aws/aws-sdk-go/issues/4680">#4680</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.172...v1.44.173">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/aws/aws-sdk-go&package-manager=go_modules&previous-version=1.44.172&new-version=1.44.173)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-01-05 17:12:03 +00:00
dependabot[bot]
f05386b117
⬆️ Bump github.com/microsoftgraph/msgraph-sdk-go from 0.49.0 to 0.50.0 in /src (#1988)
Bumps [github.com/microsoftgraph/msgraph-sdk-go](https://github.com/microsoftgraph/msgraph-sdk-go) from 0.49.0 to 0.50.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go/releases">github.com/microsoftgraph/msgraph-sdk-go's releases</a>.</em></p>
<blockquote>
<h2>v0.50.0</h2>
<h3>Changed</h3>
<ul>
<li>Weekly generation.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/microsoftgraph/msgraph-sdk-go/blob/main/CHANGELOG.md">github.com/microsoftgraph/msgraph-sdk-go's changelog</a>.</em></p>
<blockquote>
<h2>[0.50.0] - 2022-12-28</h2>
<h3>Changed</h3>
<ul>
<li>Weekly generation.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1c541cd79b"><code>1c541cd</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/microsoftgraph/msgraph-sdk-go/issues/348">#348</a> from microsoftgraph/v1.0/pipelinebuild/99126</li>
<li><a href="8b3605d818"><code>8b3605d</code></a> - adds changelog entry for weekly generation</li>
<li><a href="54b479b7d9"><code>54b479b</code></a> - adds reference to form serialization package</li>
<li><a href="0ce329f454"><code>0ce329f</code></a> Update generated files with build 99126</li>
<li><a href="61956276ad"><code>6195627</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/microsoftgraph/msgraph-sdk-go/issues/345">#345</a> from microsoftgraph/dependabot/go_modules/github.com/...</li>
<li><a href="0c594993ff"><code>0c59499</code></a> Bump github.com/microsoftgraph/msgraph-sdk-go-core from 0.31.0 to 0.31.1</li>
<li><a href="cf46e7cb46"><code>cf46e7c</code></a> Bump github.com/microsoft/kiota-abstractions-go from 0.15.0 to 0.15.1 (<a href="https://github-redirect.dependabot.com/microsoftgraph/msgraph-sdk-go/issues/342">#342</a>)</li>
<li>See full diff in <a href="https://github.com/microsoftgraph/msgraph-sdk-go/compare/v0.49.0...v0.50.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/microsoftgraph/msgraph-sdk-go&package-manager=go_modules&previous-version=0.49.0&new-version=0.50.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-01-05 16:26:35 +00:00
Danny
4bcfc9dadf
GC: Restore: SharePoint List Workflow (#1964)
## Description
Connects restore pipeline for List Category. CLI commands are not included, Documentation for List restore needs to be placed within the CLI PR
<!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature

## Issue(s)

* closes #1962<issue>
* closes #1978
* closes #1935

## Test Plan

- [x]  Unit test
2023-01-05 14:59:48 +00:00
Keepers
1f26339813
Match resource owners at top of reduce (#1891)
## Description

Checks for resource owner matches in the top
of the reduce func using the selector owners,
instead of waiting until the path match check.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🌻 Feature

## Issue(s)

* #1617

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-05 00:59:16 +00:00
Keepers
edc4426b9c
Fix --users "*' not finding user in tenant (#2033)
## Description

DataCollections validation step was still using the full resourceOwner list in the selector to validate every backup, rather than checking only the DiscreteOwner.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🐛 Bugfix

## Issue(s)

* #1617

## Test Plan

- [x]  Unit test
2023-01-05 00:29:21 +00:00
Danny
bb5b2f23e9
GC: Framework to use adapter's serialization writer. (#2032)
## Description
The MS Graph's adapter contains a serialization writer within it. Create a framework to use this writer rather than creating the object within serialization workflows. The writer library was used separately when the package still had many bugs and the most current version was required. This does not change any of the writer instances within the package. Will change out the writer instances in follow-up PRs.

<!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature


## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
*related to  #2031 <issue>

## Test Plan
- [x]  Unit test
2023-01-04 20:59:13 +00:00
Keepers
672fe54c41
migrate resolver iterators (#2009)
## Description

Previous changes held out on migrating the
resolver iterators into the api package because
they embedded function calls from the resolvers
themselves.  This change migrates that code
into the api package, and accepts a callback
function to hook in the resolver updates.  This
change sets up resolvers to better utilize an
interface in the next PR.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1967

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-04 20:02:47 +00:00
Keepers
0d0a7516f0
use selector owners, not scope owners (#1890)
## Description

Migrates code away from pulling the resource
owner from each scope, and instead usees the
selector as the canon identifier of the resource
owner.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🌻 Feature

## Issue(s)

* #1617

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-04 19:39:25 +00:00
ashmrtn
84db56cc70
Allow incremental backups for multiple data categories if some metadata is missing (#2030)
## Description

Don't return nil if we had an error getting metadata. This gives us the best chance possible of having enough metadata retrieved from the best-effort restore execution flow to actually enable incrementals for some data category.

## Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No 

## Type of change

- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

## Issue(s)

* #1777 

## Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-04 19:16:52 +00:00
Danny
76984c23c7
Mock: SharePoint: List objects expansion (#2019)
## Description
Adds the ability to create non-empty lists within mocks
<!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change


- [x] 🤖 Test
- [x] 💻 CI/Deployment

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
*closes to  #2018<issue>

## Test Plan


- [x]  Unit test
2023-01-04 18:42:55 +00:00
Keepers
978f9304bf
methodize all api funcs to the Client (#2008)
## Description

In order to use the api layer as an interface, we
need the functions therein to be methods, so
that callers can leverage local interfaces.  This
change introduces the api.Client, and begins
to spread it throughout the exchange package,
largely in place of graph servicers.

No logic changes have occurred here.  The only
modifications are what is required to utilize the
api client.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1967

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-04 17:19:44 +00:00
dependabot[bot]
32be743a7b
⬆️ Bump github.com/aws/aws-sdk-go from 1.44.171 to 1.44.172 in /src (#2029)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.171 to 1.44.172.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.172 (2023-01-03)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/securitylake</code>: Updates service API and documentation</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2d87e1b7a9"><code>2d87e1b</code></a> Release v1.44.172 (2023-01-03) (<a href="https://github-redirect.dependabot.com/aws/aws-sdk-go/issues/4678">#4678</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.171...v1.44.172">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/aws/aws-sdk-go&package-manager=go_modules&previous-version=1.44.171&new-version=1.44.172)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-01-04 07:24:12 +00:00
Abin Simon
bc271cdd0a
Reduce parallelism of goreleaser to 1 (#2021)
## Description

Previously Github Actions was killing (probably because gorelease was using up quite a bit of resources) the process resulting in the Publish-Binary job failing with the following error message:

```
The runner has received a shutdown signal.
```

Related: https://github.com/actions/runner-images/issues/6709

<!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [ ]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [x] 💻 CI/Deployment
- [ ] 🐹 Trivial/Minor

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* fixes https://github.com/alcionai/corso/issues/2014

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-04 04:04:58 +00:00
Keepers
e5edbfd77c
first pass migrate graph api to subfolder (#2003)
## Description

In order to establish a standard api around our
graph client usage, and thus be able to mock
for testing, we need to migrate graph client
usage into another pacakge.  This is the first
step in that process of refactoring.

All changes are code relocation importing and
exporting may change as needed.  No logic
was altered.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test
- [x] 🐹 Trivial/Minor

## Issue(s)

* #1967

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-04 01:35:32 +00:00
Keepers
753ede5a1a
tetst fixes and touchups (#1983)
## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1966

## Test Plan

- [x] 💚 E2E
2023-01-04 00:39:33 +00:00
Keepers
1586ed927b
remove 0-item progress bars (#1986)
## Description

Incremental backups can display progress bars
with 0 items to add or remove.  This can cause
end-user confusion when hte bar completes
with 0 items involved.  We should instead keep
those bars hidden.

Also removes the "heuristics" progress step.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [ ] 🐹 Trivial/Minor

## Issue(s)

* #1984

## Test Plan

- [x] 💪 Manual
2023-01-03 23:22:20 +00:00
Keepers
ce1f4406f1
No tester errors 2 (#2005)
## Type of change

- [x] 🐹 Trivial/Minor
2023-01-03 21:35:56 +00:00
Keepers
07faa7bffb
split selectors on discrete resource owners (#1889)
## Description

Switches the CLI from calling `DiscreteScopes` to `SplitByResourceOwner`
on the selector itself.  This func will take the original selector and produce
a slice of selectors, each one with a DiscreteOwner (the single user involved
in usage of that selector) and all include/filter scopes in that selector re-rooted
to that discrete owner.

Does not yet solve the per-category tuple, since we are still pivoting on the
scopes inside the selector.  That comes as a later change.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🌻 Feature

## Issue(s)

* #1617

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-03 20:55:39 +00:00
Keepers
9cebe739bb
switch trivial for tech-debt (#2004)
Swap the `Trivial/Minor` category for `Tech Debt/Cleanup`

- [x] 🐹 Trivial/Minor
2023-01-03 19:49:49 +00:00
Keepers
b15ce2807b
remove exchangeService for graph.Service (#2002)
## Description

the exchangeService struct is a vestigial prop
from before we had centralized around the
graph.Service, and is no longer needed.  These
changes will cascade into the migration of
graph client usage into an api package for mocking.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🐹 Trivial/Minor

## Issue(s)

* #1967

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-03 19:49:09 +00:00
Keepers
e4e1b4d4d8
add item mutation tests (#1982)
## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1966

## Test Plan

- [x] 💚 E2E
2023-01-03 19:18:51 +00:00
Danny
6457e49882
GC: Restore: SharePoint: ListItem modification on upload (#2011)
## Description
Functions for encapsulation of ListItem object for restore workflow. ListItems bytes cannot be uploaded with previous M365 IDs from the original ListItems. Upload functions remove `ETags`, `M365IDs`, and other fields that are not permitted upon ListItem creation.  
<!-- Insert PR description-->

## Does this PR need a docs update or release note?


- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
Related:
- #1935<issue>

## Test Plan

- [x]  Unit test
2023-01-02 21:39:36 +00:00
Keepers
23a3cd6e16
remove optionIdentifier (#2001)
## Description

the exchange optionIdentifier performs almost
all the same functions as the path category.  In
many cases, it is actually a translation of the
other value.  This cleanup will cascade into
the creation of an api layer for the graph client.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🐹 Trivial/Minor

## Issue(s)

* #1967

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-02 21:18:52 +00:00
Danny
7561645fb2
GC: Restore: SharePoint: List base object transformation for restore. (#2012)
## Description
Functions for encapsulation of the base List object for restore workflow. List objects cannot be uploaded with previous M365 IDs from the original. Upload functions remove ETags, M365IDs, and other fields that are not permitted upon ListItem creation.
<!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature


## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* related to Issue #<issue>

## Test Plan


- [x]  Unit test
2023-01-02 20:01:11 +00:00
Keepers
ef866da099
add folder muation tests (#1981)
## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1966

## Test Plan

- [x] 💚 E2E
2023-01-02 19:38:58 +00:00
Keepers
35e0415a75
add move folder delta test (#1979)
## Description

Adds a delta test case for exchange incremental
backups by moving one folder into another one.
Also sets up retrieving container IDs in the test
in preparation for other test control.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🤖 Test

## Issue(s)

* #1966

## Test Plan

- [x] 💚 E2E
2023-01-02 18:00:51 +00:00
Danny
5239ff97e3
GC: Sharepoint: List: Delete feature added (#2017)
## Description
Adds the ability to delete a from a SharePoint Site for purge script
<!-- Insert PR description-->

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
*related to #2016 <issue>
2023-01-02 17:39:54 +00:00
dependabot[bot]
229e7a48b7
⬆️ Bump github.com/aws/aws-sdk-go from 1.44.170 to 1.44.171 in /src (#2013)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.170 to 1.44.171.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.171 (2022-12-30)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/cloudfront</code>: Updates service API and documentation
<ul>
<li>Extend response headers policy to support removing headers from viewer responses</li>
</ul>
</li>
<li><code>service/iotfleetwise</code>: Updates service documentation</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="eb531b5a00"><code>eb531b5</code></a> Release v1.44.171 (2022-12-30) (<a href="https://github-redirect.dependabot.com/aws/aws-sdk-go/issues/4677">#4677</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.170...v1.44.171">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/aws/aws-sdk-go&package-manager=go_modules&previous-version=1.44.170&new-version=1.44.171)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2023-01-02 07:52:29 +00:00
dependabot[bot]
3e789aa77b
⬆️ Bump github.com/aws/aws-sdk-go from 1.44.169 to 1.44.170 in /src (#2007)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.169 to 1.44.170.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/aws/aws-sdk-go/releases">github.com/aws/aws-sdk-go's releases</a>.</em></p>
<blockquote>
<h1>Release v1.44.170 (2022-12-29)</h1>
<h3>Service Client Updates</h3>
<ul>
<li><code>service/apigateway</code>: Updates service documentation
<ul>
<li>Documentation updates for Amazon API Gateway</li>
</ul>
</li>
<li><code>service/elasticmapreduce</code>: Updates service API and documentation
<ul>
<li>Added GetClusterSessionCredentials API to allow Amazon SageMaker Studio to connect to EMR on EC2 clusters with runtime roles and AWS Lake Formation-based access control for Apache Spark, Apache Hive, and Presto queries.</li>
</ul>
</li>
<li><code>service/secretsmanager</code>: Updates service API and documentation
<ul>
<li>Added owning service filter, include planned deletion flag, and next rotation date response parameter in ListSecrets.</li>
</ul>
</li>
<li><code>service/wisdom</code>: Updates service API and documentation</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3961b07ab7"><code>3961b07</code></a> Release v1.44.170 (2022-12-29) (<a href="https://github-redirect.dependabot.com/aws/aws-sdk-go/issues/4675">#4675</a>)</li>
<li>See full diff in <a href="https://github.com/aws/aws-sdk-go/compare/v1.44.169...v1.44.170">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/aws/aws-sdk-go&package-manager=go_modules&previous-version=1.44.169&new-version=1.44.170)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
2022-12-30 16:02:18 +00:00
Aarti Jivrajani
15ec0a65d6
Add alcion_restore_ folder prefix to cleanup script (#1998)
## Description

Add a prefix `Alcion_Restore_` to the cleanup CI action. 

## Does this PR need a docs update or release note?
- [X]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [X] 🐹 Trivial/Minor

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #1997 

## Test Plan

<!-- How will this be tested prior to merging.-->
- [X] 💪 Manual
2022-12-30 00:47:01 +00:00
Keepers
37b9eab2a7
protect against prevPath nil panic (#2000)
## Description

Return an error if a collection in a deleted state has a nil previousPath.  This technically should
never occur, but we'll prefer an error over a panic.

## Does this PR need a docs update or release note?

- [x]  No 

## Type of change

- [x] 🐛 Bugfix

## Issue(s)

* #1999

## Test Plan

- [x] 💚 E2E
2022-12-30 00:12:46 +00:00
Vaibhav Kamra
ad691148fe
Mark folder updated when an updated item is added (#1987)
## Description

If an item is updated, update the folder entries it belongs to. 

Also contains a minor refactor - unexport `FolderEntry` to `folderEntry`

## Does this PR need a docs update or release note?

- [x]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ]  No 

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [x] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [ ] 🐹 Trivial/Minor

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #1812 

## Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2022-12-29 23:41:04 +00:00