Enable events export (#5015)

<!-- PR description-->

---

#### 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
- [ ] 🤖 Supportability/Tests
- [ ] 💻 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. -->
* closes https://github.com/alcionai/corso/issues/3890

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
This commit is contained in:
Abin Simon 2024-01-13 01:36:50 +05:30 committed by GitHub
parent 9aa32d2755
commit 6beb774ba8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] (beta) ## [Unreleased] (beta)
### Added
- Events can now be exported from Exchange backups as .ics files.
### Fixed ### Fixed
- Retry transient 400 "invalidRequest" errors during onedrive & sharepoint backup. - Retry transient 400 "invalidRequest" errors during onedrive & sharepoint backup.
- Backup attachments associated with group mailbox items. - Backup attachments associated with group mailbox items.
@ -17,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Known issues ### Known issues
- Backing up a group mailbox item may fail if it has a very large number of attachments (500+). - Backing up a group mailbox item may fail if it has a very large number of attachments (500+).
- Event description for exchange exports might look slightly different for certain events.
## [v0.18.0] (beta) - 2024-01-02 ## [v0.18.0] (beta) - 2024-01-02

View File

@ -14,7 +14,6 @@ import (
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/export" "github.com/alcionai/corso/src/pkg/export"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/metrics" "github.com/alcionai/corso/src/pkg/metrics"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/services/m365/api" "github.com/alcionai/corso/src/pkg/services/m365/api"
@ -62,7 +61,7 @@ func (h *baseExchangeHandler) ProduceExportCollections(
category := dc.FullPath().Category() category := dc.FullPath().Category()
switch category { switch category {
case path.ContactsCategory, path.EmailCategory: case path.ContactsCategory, path.EmailCategory, path.EventsCategory:
folders := dc.FullPath().Folders() folders := dc.FullPath().Folders()
pth := path.Builder{}.Append(category.HumanString()).Append(folders...) pth := path.Builder{}.Append(category.HumanString()).Append(folders...)
@ -73,8 +72,6 @@ func (h *baseExchangeHandler) ProduceExportCollections(
[]data.RestoreCollection{dc}, []data.RestoreCollection{dc},
backupVersion, backupVersion,
stats)) stats))
case path.EventsCategory:
logger.Ctx(ctx).With("category", category.String()).Debugw("Skipping restore for category")
default: default:
return nil, clues.NewWC(ctx, "data category not supported"). return nil, clues.NewWC(ctx, "data category not supported").
With("category", category) With("category", category)