Skip creating inline reference attachments (#1606)
## Description This fixes #999 by skipping restore of reference attachments that are marked inline. The attachment links (e.g. OneDrive links) are part of the message body and do not need to be recreated. ## Type of change <!--- Please check the type of change your PR introduces: ---> - [ ] 🌻 Feature - [x] 🐛 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. --> * #999 ## Test Plan <!-- How will this be tested prior to merging.--> - [ ] 💪 Manual - [x] ⚡ Unit test - [ ] 💚 E2E
This commit is contained in:
parent
7ab0b03e1a
commit
cdc92b3929
@ -44,9 +44,17 @@ func uploadAttachment(
|
||||
attachment models.Attachmentable,
|
||||
) error {
|
||||
logger.Ctx(ctx).Debugf("uploading attachment with size %d", *attachment.GetSize())
|
||||
attachmentType := attachmentType(attachment)
|
||||
|
||||
// Reference attachments that are inline() do not need to be recreated. The contents are part of the body.
|
||||
if attachmentType == models.REFERENCE_ATTACHMENTTYPE &&
|
||||
attachment.GetIsInline() != nil && *attachment.GetIsInline() {
|
||||
logger.Ctx(ctx).Debugf("skip uploading inline reference attachment: ", *attachment.GetName())
|
||||
return nil
|
||||
}
|
||||
|
||||
// For Item/Reference attachments *or* file attachments < 3MB, use the attachments endpoint
|
||||
if attachmentType(attachment) != models.FILE_ATTACHMENTTYPE || *attachment.GetSize() < largeAttachmentSize {
|
||||
if attachmentType != models.FILE_ATTACHMENTTYPE || *attachment.GetSize() < largeAttachmentSize {
|
||||
err := uploader.uploadSmallAttachment(ctx, attachment)
|
||||
|
||||
return err
|
||||
|
||||
@ -415,6 +415,19 @@ func (suite *ExchangeServiceSuite) TestRestoreExchangeObject() {
|
||||
return *folder.GetId()
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Test Mail: Reference(OneDrive) Attachment",
|
||||
bytes: mockconnector.GetMessageWithOneDriveAttachment("Restore Reference(OneDrive) Attachment"),
|
||||
category: path.EmailCategory,
|
||||
cleanupFunc: DeleteMailFolder,
|
||||
destination: func(ctx context.Context) string {
|
||||
folderName := "TestRestoreMailwithReferenceAttachment: " + common.FormatSimpleDateTime(now)
|
||||
folder, err := CreateMailFolder(ctx, suite.es, userID, folderName)
|
||||
require.NoError(t, err)
|
||||
|
||||
return *folder.GetId()
|
||||
},
|
||||
},
|
||||
// TODO: #884 - reinstate when able to specify root folder by name
|
||||
{
|
||||
name: "Test Contact",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user