From 6d413d7c9f5ebb4f8e92164552e8f3939cceaf9d Mon Sep 17 00:00:00 2001 From: Tom Smyth Date: Mon, 26 Feb 2024 09:41:34 -0500 Subject: [PATCH] Handle error in folders/files --- app/models/gdrive/item_syncer.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/models/gdrive/item_syncer.rb b/app/models/gdrive/item_syncer.rb index e4375862e..1bd2cd5d6 100644 --- a/app/models/gdrive/item_syncer.rb +++ b/app/models/gdrive/item_syncer.rb @@ -21,7 +21,6 @@ def sync end else service.get_file(item.external_id, fields: "name,mimeType,capabilities(canShare)", supports_all_drives: true) do |result, error| - item.kind = (result.mime_type == GDrive::FOLDER_MIME_TYPE) ? "folder" : "file" process_item(item, result, error) end end @@ -35,11 +34,16 @@ def process_item(item, result, error) if error Rails.logger.error("Error accessing item", item_id: item.id, error: error.to_s) item.update!(error_type: "inaccessible") - elsif !result.capabilities.can_share - item.update!(name: result.name, error_type: "not_shareable") - else - item.update!(name: result.name, error_type: nil) + return end + + # Drives use a separate API endpoint so if the type were wrong it would have errored above. + unless item.drive? + item.kind = (result.mime_type == GDrive::FOLDER_MIME_TYPE) ? "folder" : "file" + end + item.name = result.name + item.error_type = result.capabilities.can_share ? nil : "not_shareable" + item.save! end end end