From bcaa5d434df2bef6ea3f765fb7484423334dd776 Mon Sep 17 00:00:00 2001 From: Abhishek Pandey Date: Mon, 20 Nov 2023 21:08:07 -0800 Subject: [PATCH] Fix nil ptrs and drive name setting --- src/internal/m365/collection/drive/collection.go | 2 +- .../m365/collection/drive/custom_drive_item.go | 2 +- src/internal/m365/collection/drive/item.go | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/internal/m365/collection/drive/collection.go b/src/internal/m365/collection/drive/collection.go index 3f378088d..65cb09077 100644 --- a/src/internal/m365/collection/drive/collection.go +++ b/src/internal/m365/collection/drive/collection.go @@ -577,7 +577,7 @@ func (oc *Collection) streamDriveItem( "item_name", clues.Hide(itemName), "item_size", itemSize) - // item.SetParentReference(setName(item.GetParentReference(), oc.driveName)) + item.SetParentReference(setName(item.GetParentReference(), oc.driveName)) isFile := item.GetFile() != nil diff --git a/src/internal/m365/collection/drive/custom_drive_item.go b/src/internal/m365/collection/drive/custom_drive_item.go index 9cc5a2783..a89894e9c 100644 --- a/src/internal/m365/collection/drive/custom_drive_item.go +++ b/src/internal/m365/collection/drive/custom_drive_item.go @@ -273,7 +273,7 @@ func ToCorsoDriveItemable(item models.DriveItemable) CorsoDriveItemable { } } - if item.GetCreatedBy() != nil { + if item.GetCreatedBy() != nil && item.GetCreatedBy().GetUser() != nil { cdi.CreatedBy = &itemIdentitySet{ user: &itemUser{ additionalData: item.GetCreatedBy().GetUser().GetAdditionalData(), diff --git a/src/internal/m365/collection/drive/item.go b/src/internal/m365/collection/drive/item.go index 150d00dc6..b8e8e2662 100644 --- a/src/internal/m365/collection/drive/item.go +++ b/src/internal/m365/collection/drive/item.go @@ -205,12 +205,16 @@ func driveItemWriter( return iw, ptr.Val(icu.GetUploadUrl()), nil } -func setName(orig models.ItemReferenceable, driveName string) models.ItemReferenceable { +func setName(orig parentReferenceable, driveName string) models.ItemReferenceable { if orig == nil { return nil } - orig.SetName(&driveName) + mod := models.NewItemReference() + mod.SetDriveId(orig.GetDriveId()) + mod.SetId(orig.GetId()) + mod.SetPath(orig.GetPath()) + mod.SetName(&driveName) - return orig + return mod }