From a6fc7801b572bfddf74353758330f8c92ed036ea Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Tue, 28 Mar 2023 12:51:43 +0800 Subject: [PATCH 1/2] Add edge function validation for webhooks --- .../components/interfaces/Database/Hooks/EditHookPanel.tsx | 6 +++++- .../interfaces/Database/Hooks/HTTPRequestFields.tsx | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/studio/components/interfaces/Database/Hooks/EditHookPanel.tsx b/studio/components/interfaces/Database/Hooks/EditHookPanel.tsx index 0fcaf664224..bc77c37b07f 100644 --- a/studio/components/interfaces/Database/Hooks/EditHookPanel.tsx +++ b/studio/components/interfaces/Database/Hooks/EditHookPanel.tsx @@ -130,6 +130,9 @@ const EditHookPanel = ({ visible, selectedHook, onClose }: EditHookPanelProps) = } } else if (values.function_type === 'supabase_function') { // For Supabase Edge Functions + if (values.http_url.includes('undefined')) { + errors['http_url'] = 'No edge functions available for selection' + } } if (JSON.stringify(values) !== JSON.stringify(initialValues)) setIsEdited(true) @@ -273,7 +276,7 @@ const EditHookPanel = ({ visible, selectedHook, onClose }: EditHookPanelProps) = } >
- {({ values, resetForm }: any) => { + {({ values, resetForm, errors }: any) => { useEffect(() => { if (values.function_type === 'http_request') { if (selectedHook !== undefined) { @@ -415,6 +418,7 @@ const EditHookPanel = ({ visible, selectedHook, onClose }: EditHookPanelProps) = { diff --git a/studio/components/interfaces/Database/Hooks/HTTPRequestFields.tsx b/studio/components/interfaces/Database/Hooks/HTTPRequestFields.tsx index bf4615ba8d1..2e88aa24d02 100644 --- a/studio/components/interfaces/Database/Hooks/HTTPRequestFields.tsx +++ b/studio/components/interfaces/Database/Hooks/HTTPRequestFields.tsx @@ -19,6 +19,7 @@ import { useProjectApiQuery } from 'data/config/project-api-query' interface HTTPRequestFieldsProps { type: 'http_request' | 'supabase_function' + errors: any httpHeaders: HTTPArgument[] httpParameters: HTTPArgument[] onAddHeader: (header?: any) => void @@ -31,6 +32,7 @@ interface HTTPRequestFieldsProps { const HTTPRequestFields = ({ type, + errors, httpHeaders = [], httpParameters = [], onAddHeader, @@ -92,6 +94,7 @@ const HTTPRequestFields = ({ + {errors.http_url &&

{errors.http_url}

} ) : type === 'supabase_function' && edgeFunctions.length > 0 ? ( From 42c76cb27028387b3827a5ad39b7b536fd5342c7 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Tue, 28 Mar 2023 12:53:44 +0800 Subject: [PATCH 2/2] Remove alpha label on database menu --- studio/components/layouts/DatabaseLayout/DatabaseMenu.utils.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/studio/components/layouts/DatabaseLayout/DatabaseMenu.utils.ts b/studio/components/layouts/DatabaseLayout/DatabaseMenu.utils.ts index 774ad0fb2a7..8ea9c65ca30 100644 --- a/studio/components/layouts/DatabaseLayout/DatabaseMenu.utils.ts +++ b/studio/components/layouts/DatabaseLayout/DatabaseMenu.utils.ts @@ -26,7 +26,6 @@ export const generateDatabaseMenu = (project?: Project): ProductMenuGroup[] => { name: 'Functions', key: 'functions', url: `/project/${ref}/database/functions`, - label: 'ALPHA', items: [], }, {