From d38c99f05f9ace9b9436896187c4e7ee9eb1732d Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Mon, 6 Jan 2025 19:17:16 +0100 Subject: [PATCH 01/54] feat: add access token --- src/components/Configuration/SettingsEdit.vue | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index c0d492f..1cb72fa 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -20,6 +20,20 @@ :model-value="settings.publicData.apiKey" @update:modelValue="changeApiKey" /> + + + From 401af114348fbb806f836c958e21d648025e45ea Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Tue, 7 Jan 2025 12:40:52 +0100 Subject: [PATCH 03/54] feat: add data log --- src/components/Functions/InvokeEdge.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Functions/InvokeEdge.vue b/src/components/Functions/InvokeEdge.vue index a09cc8a..63de8cc 100644 --- a/src/components/Functions/InvokeEdge.vue +++ b/src/components/Functions/InvokeEdge.vue @@ -145,6 +145,7 @@ export default { this.$store.getters['websiteData/getDesignInfo'].id }/supabase/edge` ); + console.log(data); this.functionsOptions = data.map(func => ({ label: func.name, value: func.slug })); this.isLoading = false; } catch (error) { From e6c641e241c403c9e732db88d23124fbbe270bdf Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Tue, 7 Jan 2025 12:42:18 +0100 Subject: [PATCH 04/54] fix: data --- src/components/Functions/InvokeEdge.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Functions/InvokeEdge.vue b/src/components/Functions/InvokeEdge.vue index 63de8cc..f3f0e76 100644 --- a/src/components/Functions/InvokeEdge.vue +++ b/src/components/Functions/InvokeEdge.vue @@ -146,7 +146,7 @@ export default { }/supabase/edge` ); console.log(data); - this.functionsOptions = data.map(func => ({ label: func.name, value: func.slug })); + this.functionsOptions = data?.data.map(func => ({ label: func.name, value: func.slug })); this.isLoading = false; } catch (error) { this.isLoading = false; From 37e63d0c7f9d900476b6b9b467ca72e90d4a138c Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Thu, 9 Jan 2025 15:10:24 +0100 Subject: [PATCH 05/54] feat: add database password --- src/components/Configuration/SettingsEdit.vue | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index 1cb72fa..2673741 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -20,20 +20,36 @@ :model-value="settings.publicData.apiKey" @update:modelValue="changeApiKey" /> - + - + + + + + + From 75c6d5441a9a4e50980ae514dea1b498aaea8537 Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Fri, 10 Jan 2025 18:20:41 +0100 Subject: [PATCH 07/54] fix: label for projects --- src/components/Configuration/SettingsEdit.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index 298b5b9..a07017a 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -30,7 +30,12 @@ type="select" placeholder="https://your-project.supabase.co" :model-value="settings.publicData.projectUrl" - :options="projects.map(project => ({ label: project.name, value: `https://${project.id}.supabase.co` }))" + :options=" + projects.map(project => ({ + label: `${project.name} (${project.id}) ${project.status === 'INACTIVE' ? '#PAUSED' : ''}`, + value: `https://${project.id}.supabase.co`, + })) + " @update:modelValue="changeProjectUrl" /> @@ -132,11 +137,12 @@ export default { this.plugin.load(this.settings.publicData.projectUrl, this.settings.publicData.apiKey); }, async fetchProjects() { - this.projects = await wwAxios.get( + const { data } = await wwAxios.get( `${wwLib.wwApiRequests._getPluginsUrl()}/designs/${ this.$store.getters['websiteData/getDesignInfo'].id }/supabase/projects` ); + this.projects = data?.data; }, }, }; From 8976a2e3c1ea9aecd20400566f03bf1df8f3cefc Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Fri, 10 Jan 2025 19:14:27 +0100 Subject: [PATCH 08/54] feat: load api key --- src/components/Configuration/SettingsEdit.vue | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index a07017a..cbcfc91 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -107,11 +107,19 @@ export default { } }, methods: { - changeProjectUrl(projectUrl) { + async changeProjectUrl(projectUrl) { + let apiKey = this.settings.publicData.apiKey; + if (this.settings.privateData.accessToken) { + const { apiKeys } = await this.fetchProject( + projectUrl.replace('https://', '').replace('.supabase.co', '') + ); + apiKey = apiKeys.find(key => key.role === 'anon').api_key; + } this.$emit('update:settings', { ...this.settings, - publicData: { ...this.settings.publicData, projectUrl }, + publicData: { ...this.settings.publicData, projectUrl, apiKey }, }); + this.$nextTick(this.loadInstance); }, changeApiKey(apiKey) { @@ -144,6 +152,14 @@ export default { ); this.projects = data?.data; }, + async fetchProject(projectId) { + const { data } = await wwAxios.get( + `${wwLib.wwApiRequests._getPluginsUrl()}/designs/${ + this.$store.getters['websiteData/getDesignInfo'].id + }/supabase/projects:${projectId}` + ); + return data?.data; + }, }, }; From d9a3a36c3c00ce26cd16fbc1ff2d53bc7010f812 Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Fri, 10 Jan 2025 19:15:45 +0100 Subject: [PATCH 09/54] fix: endpoint url --- src/components/Configuration/SettingsEdit.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index cbcfc91..cf62133 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -156,7 +156,7 @@ export default { const { data } = await wwAxios.get( `${wwLib.wwApiRequests._getPluginsUrl()}/designs/${ this.$store.getters['websiteData/getDesignInfo'].id - }/supabase/projects:${projectId}` + }/supabase/projects/${projectId}` ); return data?.data; }, From d0ccd4d41eba5908f5f6050d946bf613370eb98a Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Fri, 10 Jan 2025 19:17:08 +0100 Subject: [PATCH 10/54] fix: name instead of role --- src/components/Configuration/SettingsEdit.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index cf62133..c975bc7 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -113,7 +113,7 @@ export default { const { apiKeys } = await this.fetchProject( projectUrl.replace('https://', '').replace('.supabase.co', '') ); - apiKey = apiKeys.find(key => key.role === 'anon').api_key; + apiKey = apiKeys.find(key => key.name === 'anon').api_key; } this.$emit('update:settings', { ...this.settings, From 025113fbdd6c55f56d0ff32e7de375c944c16dcc Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Fri, 10 Jan 2025 19:29:13 +0100 Subject: [PATCH 11/54] feat: forward database pass --- src/components/Configuration/SettingsEdit.vue | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index c975bc7..6322c30 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -14,7 +14,12 @@ @@ -102,6 +107,7 @@ export default { privateData: { ...this.settings.privateData, accessToken: wwLib.wwPlugins.supabaseAuth.settings.privateData.accessToken, + databasePassword: wwLib.wwPlugins.supabaseAuth.settings.privateData.databasePassword, }, }); } From 990dc0ae39848ea9e798590b2c8e8d207c208764 Mon Sep 17 00:00:00 2001 From: Alexis JC Date: Fri, 10 Jan 2025 19:36:50 +0100 Subject: [PATCH 12/54] feat: add loader --- src/components/Configuration/SettingsEdit.vue | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index 6322c30..736cb2f 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -69,6 +69,7 @@ @update:modelValue="changeDatabasePassword" > + diff --git a/src/components/Configuration/ConnectionSummary.vue b/src/components/Configuration/ConnectionSummary.vue new file mode 100644 index 0000000..2a5cdcb --- /dev/null +++ b/src/components/Configuration/ConnectionSummary.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/src/components/Configuration/SettingsEdit.vue b/src/components/Configuration/SettingsEdit.vue index 802b41c..18f1158 100644 --- a/src/components/Configuration/SettingsEdit.vue +++ b/src/components/Configuration/SettingsEdit.vue @@ -1,17 +1,4 @@