439 Commits

Author SHA1 Message Date
Danny Adams
585ce939ed Merge branch 'beta-library-switch' into backup-page-flow 2023-01-20 10:39:57 -05:00
Danny Adams
2f125d44a6 Merge branch 'main' into beta-library-switch 2023-01-20 09:40:57 -05:00
Danny Adams
2cd64c4775 Updates to internal/connector/graph_connector_helper_test.go
git status
2023-01-20 09:31:14 -05:00
Danny Adams
4009a5c2d4 Update /connector/ package
Beta Library replaces msgraph v1.0
2023-01-20 09:25:03 -05:00
Danny Adams
4687b134ef Update /connector/support package
Beta Library replaces msgraph v1.0
2023-01-20 09:24:11 -05:00
Danny Adams
2929c9f25e Update /connector/sharepoint package
Beta Library replaces msgraph v1.0
2023-01-20 09:23:41 -05:00
Danny Adams
7404c4c8b0 Update /connector/onedrive package
Beta Library replaces msgraph v1.0
2023-01-20 09:22:40 -05:00
Danny Adams
135c07a41a Update /connector/exchange package
Beta Library replaces msgraph v1.0
2023-01-20 09:22:15 -05:00
Danny Adams
3ccdda8ef0 Update /connector/mockconnector package
Change to Beta library.
2023-01-20 09:21:08 -05:00
Danny Adams
4952b81333 Update /connector/graph package
Change to Beta library.
2023-01-20 09:20:31 -05:00
Danny Adams
b82a6349f4 Update /connector/exchange/api package
Change to Beta library.
2023-01-20 09:19:38 -05:00
Danny Adams
519a449b2f Update /connector/discovery package
Change to Beta library.
2023-01-20 09:18:49 -05:00
ashmrtn
5d20e30062
Record graph error (#2195)
## Description

Record information about the error Graph returned if something went wrong when fetching an item.

## 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
- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* closes #2194

## Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-20 05:55:11 +00:00
ashmrtn
38b9fabb51
Check for and ignore item not found errors (#2202)
## Description

Item not found errors may appear because an item was moved or deleted between enumerating the items in a folder and fetching the data for the items in the folder. This keeps them from being reported as there is nothing we can do if the item data is no longer available.

This applies to all Exchange data categories

## 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)

* closes #2198

## Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-20 04:34:48 +00:00
ashmrtn
298ee35f05
Use mutex when appending to error (#2201)
## Description

Make error appending thread-safe since multiple goroutines may attempt to add an error at the same time.

## 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)

* closes #2197

## Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-20 04:16:39 +00:00
Danny
4473215882
GC: Backup: [FIX]Embedded image requires download (#2189)
## Description
Images copy/pasted into a message were not being saved previously.  Verified with Corso binary
<!-- Insert PR description-->

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

- [x]  Yes, in the ChangeLog.


## Type of change

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


## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x]  Unit test
2023-01-20 00:32:18 +00:00
Keepers
8df00bd386
standardizes the calendar resolver interface (#2162)
## Description

Adds a little extra process into the calendar
resolver so that it mimics the mail and contact
resolvers.  This will allow us to collapse the
three resolvers into a more common handler
or interface.

We can take this change or drop it.  I added
the code in exploration of the event test failures,
and figured I'd throw it out just in case.

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

- [x]  No 

## Type of change

- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* #2022

## Test Plan

- [x] 💚 E2E
2023-01-19 22:30:14 +00:00
Danny Adams
7ef73b866a Update for Beta Connector. 2023-01-19 16:41:32 -05:00
Danny Adams
613de30664 Updates to error response. Test to verify time for cache. 2023-01-19 16:23:39 -05:00
Abin Simon
60a04c9ca4
Handle ResourceNotFound error when fetching drive (#2161)
## Description

Follow up for https://github.com/alcionai/corso/pull/2156. We might deice to change where we add the logic to handle this, as in if we should move it to discovery module.

## 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: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-19 07:49:07 +00:00
Danny Adams
6b1e84732e Merge branch 'main' into beta-page-connector 2023-01-19 01:34:33 -05:00
Danny Adams
bbf3370879 Update to /connector/sharepoint/collection.go
Adds field to hold Beta service within struct for populate method.
2023-01-19 01:32:45 -05:00
Danny Adams
f5326c0304 Update /sharepoint/data_collections.g
Adds function collectPages() to logic of dataCollections.
2023-01-19 01:32:01 -05:00
Danny Adams
ec613b636d Updates to /sharepoint/site_page.go
Adds logic for fetching Page M365 IDs.
2023-01-19 01:31:13 -05:00
Danny Adams
764909e6e9 Updates to site_page.go
Removes minimal definition of SitePages from page.
2023-01-19 00:36:37 -05:00
Danny Adams
0c83eab068 Updates tests to reflect pageInfo library. 2023-01-19 00:33:49 -05:00
Danny Adams
1ac4922c80 Updates pageInfo.go
Uses Beta library for pages.
2023-01-19 00:33:19 -05:00
Danny Adams
7d9d7bc02b Merge branch 'main' into backup-page-flow 2023-01-19 00:29:16 -05:00
Danny Adams
b92da54fb2 Logic added to retrieve site Pages from M365 back store. 2023-01-19 00:19:56 -05:00
Danny Adams
287dcd6930 Testing for new struct added. 2023-01-18 23:35:20 -05:00
Danny Adams
a9421d7195 Beta Servicer created. 2023-01-18 23:34:58 -05:00
Danny Adams
0a111cd9df Updates to the change log to address build times. 2023-01-18 23:33:18 -05:00
Danny
70ebaa6b0d
MetaData: Pages Backup Info Support (#2084)
## Description
SharePointInfo extended to include SitePageable objects. 
**NOTE:** Merge includes the beta graph package and will affect the compile time. 
<!-- 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. -->
* closes  #2069<issue>
* related #2071

## Test Plan

- [x]  Unit test
2023-01-19 04:06:30 +00:00
Danny
1db101ca17
GC: Restore: SharePoint add case for Page Category in Workflow. (#2114)
## Description
Fix to allow selectors to include `SharePoint.Pages` during backup without causing backup workflow to fail. 
<!-- 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)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
2023-01-19 03:42:31 +00:00
Danny
936789b6b4
GC: Backup: Sharepoint libraries to omit site drive. (#2098)
## Description
Branch treats Drive `Site Pages` as a restricted directory. All  `pages` within the directory, will be backed up via the Site Pages API.  This adds an additional call to per collection to obtain the parent `driveName`. 
<!-- Insert PR description-->
TODO: Create a Pipeline that distinguishes between SitePages, Libraries, and List for SharePoint
## Does this PR need a docs update or release note?

- [x] 🕐 Yes, but in a later PR
The documentation should state the assumption is that only `.aspx` files are to be found in the s
## 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. -->
* closes #2072<issue>

## Test Plan
- [x]  Unit test
2023-01-19 03:19:15 +00:00
Keepers
51e29f2975
use delta queries for calendar events (#2154)
## Description

Hacks the beta version call into the events api
when iterating through items, allowing us to run
delta-based queries for calendar events.

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

- [x]  No 

## Type of change

- [x] 🌻 Feature

## Issue(s)

* #2022

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-19 01:30:56 +00:00
Keepers
e3b6d035fb
extra loggng and error wraps (#2155)
## Description

Adds info logging on all throttling responses,
and some extra error handling in container
resolvers.

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

- [x]  No 

## Type of change

- [x] 🧹 Tech Debt/Cleanup

## Test Plan

- [x] 💪 Manual
2023-01-18 16:43:19 +00:00
Danny
dc17c68074
Middleware: Context timeout expansion (#2048)
## Description
Adds additional definitions for context timeouts for middleware usage
<!-- Insert PR description-->

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


- [x]  No 

## Type of change

- [x] 🐛 Bugfix


## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
2023-01-18 14:08:00 +00:00
Vaibhav Kamra
3a37584938
Check whether the user has an exchange mailbox (#2156)
## Description

This commit adds logic in discovery and backup to check whether the specified user has
an exchange mailbox that is available/enabled.

If so - the backup is short-circuited to succeed but with "no data"

Going forward - we should be able to move the logic in the OneDrive connector that checks
for a valid drive and license in here.

## 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: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-18 06:59:29 +00:00
ashmrtn
45874abf7e
Begin persisting OneDrive/SharePoint library metdata (#2144)
## Description

Start persisting the folder path maps and delta URLs for backed up OneDrive/SharePoint drives. Delta URLs are saved in a map[drive ID]deltaURL while folder IDs are in a map[driveID]map[folder ID]folder path

Needs another patch to properly save the path for folders that match the selector, currently the selector comparison is only on the parent of an item

Later PRs can get the new folder map by taking the map from the previous backup and making changes to it when folder deletions/moves are encountered

## 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

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

## Issue(s)

* #2120 

## Test Plan

- [x] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-01-17 20:50:24 +00:00
Keepers
1ef300d6c2
add item fetching and serialization to api (#2150)
## Description

Adds the per item collection streaming calls to
the api interface.  Primarily migrates a "getItem"
and a "serializeItem" acton into the api pkg, out
from exchange_data_collection.  Building an
ExchangeInfo is now also housed in api.

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

- [x]  No 

## Type of change

- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* #1996

## Test Plan

- [x]  Unit test
- [x] 💚 E2E
2023-01-17 20:27:37 +00:00
ashmrtn
8d798d6024
Switch to "delete wins" merge strategy for Exchange IDs (#2142)
## Description

#2116 implemented a "last change wins" strategy for deduping IDs. However, it appears Graph API doesn't really enforce an ordering for returned items so that strategy may not work. Instead, implement a "delete wins" strategy.

Items that are added, deleted, and then restored in M365 will be restored with a different ID

This PR does the following:
* reverts changes to return a unified list of IDs and added/removed status
* switches to a "delete wins" merge strategy for duplicate IDs
* updates tests

## 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)

* closes #1954 

## Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-01-13 20:11:25 +00:00
Keepers
5980c4dca0
log observed messages (#2073)
## Description

add logging to the observe package, assume that
every instance where a message is observed, it
also gets logged.

Merger may want to wait until logging to a file is the standard behavior, else the terminal might get messy/buggy.

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

- [x]  No 

## Type of change

- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* closes #2061

## Test Plan

- [x] 💪 Manual
2023-01-13 19:34:01 +00:00
ashmrtn
f43c458844
Dedupe collection item IDs prior to fetching item data (#2116)
## Description

Under some conditions, items can be returned multiple times when enumerating the items in a folder in Exchange. Begin deduping those items by doing the following:
* use a map in ExchangeDataCollection to dedupe on item IDs
* have enumeration function return a single slice of items containing both additions and deletion so a "last-change-wins" policy can be implemented

## 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
- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* #1954 

## Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-01-13 02:19:21 +00:00
ashmrtn
edd08269f6
Reenable OneDrive kopia-assisted incrementals (#2137)
## Description

Reenable kopia-assisted incrementals now that #2136 contains the bugfix patch

## 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)

* closes #2133

## Test Plan

- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-13 00:35:45 +00:00
Vaibhav Kamra
5d70b4b3a6
Disable kopia incrementals for OneDrive (#2132)
## Description

Kopia-assisted incremental backups do not appear to have the correct file size set on restore

## 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
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-12 07:40:49 +00:00
Vaibhav Kamra
cfe6549987
Re-Enable Kopia-assisted incrementals for OneDrive (#2126)
## Description

This addresses the deadlock in the item progress reader by deferring the reader creation to
when the first read is issued for the item

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

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

## Type of change

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

## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-12 03:50:26 +00:00
ashmrtn
32b11cdca8
Dedupe collection items for OneDrive (#2118)
## Description

Under some circumstances items can be returned multiple times when iterating through the endpoint. This dedupes items within a single collection.

It does not address the following:
* item being removed from the collection during iteration
* item appearing multiple times in different collections

## 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
- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* #1954 

## Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-01-12 00:00:41 +00:00
Danny
9f05e83d43
CLI: Adds to the displayable headers for OneDrive and SharePoint. (#2090)
## Description
The update adds `DriveName` to SharePoint details. Values are currently the M365ID

## 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 #1938<issue>
* related to #2064 


## Test Plan
- [x]  Unit test
2023-01-11 12:49:20 +00:00
Vaibhav Kamra
fc17c387f1
Update list of skus that license onedrive (#2105)
## Description

Adds a few missing SKUs that license OneDrive. This is not the complete list.

## 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: --->
- [ ] 🌻 Feature
- [x] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

## Issue(s)

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

## Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
2023-01-11 07:09:14 +00:00