From 8c6a5eed8e19a11393f705ee77ee36c5640b7d0f Mon Sep 17 00:00:00 2001 From: Milorad Filipovic Date: Tue, 4 Mar 2025 14:54:21 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1Implemented=20error=20notice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ResourceLocator/ResourceLocator.vue | 64 +++++++++++++------ .../ResourceLocator/resourceLocator.scss | 7 +- .../src/plugins/i18n/locales/en.json | 5 +- 3 files changed, 53 insertions(+), 23 deletions(-) diff --git a/packages/frontend/editor-ui/src/components/ResourceLocator/ResourceLocator.vue b/packages/frontend/editor-ui/src/components/ResourceLocator/ResourceLocator.vue index 649272a12a..779897efd2 100644 --- a/packages/frontend/editor-ui/src/components/ResourceLocator/ResourceLocator.vue +++ b/packages/frontend/editor-ui/src/components/ResourceLocator/ResourceLocator.vue @@ -53,11 +53,17 @@ import { updateFromAIOverrideValues, type FromAIOverride, } from '../../utils/fromAIOverrideUtils'; +import { N8nNotice } from '@n8n/design-system'; interface IResourceLocatorQuery { results: INodeListSearchItems[]; nextPageToken: unknown; error: boolean; + errorDetails?: { + message?: string; + description?: string; + httpCode?: string; + }; loading: boolean; } @@ -148,13 +154,9 @@ const selectedMode = computed(() => { const isListMode = computed(() => selectedMode.value === 'list'); -const hasCredential = computed(() => { - const node = ndvStore.activeNode; - if (!node) { - return false; - } - return !!(node?.credentials && Object.keys(node.credentials).length === 1); -}); +const hasPermissionError = computed(() => + ['401', '403'].includes(currentResponse.value?.errorDetails?.httpCode ?? ''), +); const credentialsNotSet = computed(() => { if (!props.node) return false; @@ -643,6 +645,11 @@ async function loadResources() { setResponse(paramsKey, { loading: false, error: true, + errorDetails: { + message: e.message, + description: e.description, + httpCode: e.httpCode, + }, }); } } @@ -777,19 +784,37 @@ function removeOverride() { @load-more="loadResourcesDebounced" >