From 126f2719b838ef3ffb085591bb9fff62bd17e4f8 Mon Sep 17 00:00:00 2001 From: skilion Date: Thu, 15 Jun 2017 14:19:23 +0200 Subject: [PATCH] hack for onedrive biz --- src/sync.d | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sync.d b/src/sync.d index 1f2b068d..a6f7f10c 100644 --- a/src/sync.d +++ b/src/sync.d @@ -36,6 +36,9 @@ private bool isItemRemote(const ref JSONValue item) return ("remoteItem" in item) != null; } +// HACK: OneDrive Biz does not return parentReference for the root +string defaultDriveId; + private Item makeItem(const ref JSONValue jsonItem) { ItemType type; @@ -48,7 +51,7 @@ private Item makeItem(const ref JSONValue jsonItem) } Item item = { - driveId: jsonItem["parentReference"]["driveId"].str, + driveId: isItemRoot(jsonItem) ? defaultDriveId : jsonItem["parentReference"]["driveId"].str, id: jsonItem["id"].str, name: jsonItem["name"].str, type: type, @@ -147,6 +150,7 @@ final class SyncEngine } try { + defaultDriveId = onedrive.getDefaultDrive()["id"].str; JSONValue changes; do { // get changes from the server