From d2a93eb1d21e6bb52db8dd4c163558e705753218 Mon Sep 17 00:00:00 2001 From: Salman Date: Mon, 18 Mar 2024 21:31:21 +0530 Subject: [PATCH] feat: add support for secret path for cloudflare page --- .../integrations/cloudflare-pages/create.tsx | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/integrations/cloudflare-pages/create.tsx b/frontend/src/pages/integrations/cloudflare-pages/create.tsx index 637e95eca..39d26a937 100644 --- a/frontend/src/pages/integrations/cloudflare-pages/create.tsx +++ b/frontend/src/pages/integrations/cloudflare-pages/create.tsx @@ -1,10 +1,19 @@ import { useEffect, useState } from "react"; import { useRouter } from "next/router"; +import axios from "axios"; import queryString from "query-string"; +import { useNotificationContext } from "@app/components/context/Notifications/NotificationProvider"; import { useCreateIntegration, useGetWorkspaceById } from "@app/hooks/api"; -import { Button, Card, CardTitle, FormControl, Select, SelectItem } from "../../../components/v2"; +import { + Button, + Card, + CardTitle, + FormControl, + Input, + Select, + SelectItem} from "../../../components/v2"; import { useGetIntegrationAuthApps, useGetIntegrationAuthById @@ -18,8 +27,10 @@ const cloudflareEnvironments = [ export default function CloudflarePagesIntegrationPage() { const router = useRouter(); const { mutateAsync } = useCreateIntegration(); + const { createNotification } = useNotificationContext(); const { integrationAuthId } = queryString.parse(router.asPath.split("?")[1]); + const [secretPath, setSecretPath] = useState("/"); const { data: workspace } = useGetWorkspaceById(localStorage.getItem("projectData.id") ?? ""); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); const { data: integrationAuthApps } = useGetIntegrationAuthApps({ @@ -65,7 +76,7 @@ export default function CloudflarePagesIntegrationPage() { appId: targetAppId, sourceEnvironment: selectedSourceEnvironment, targetEnvironment, - secretPath: "/" + secretPath }); setIsLoading(false); @@ -73,6 +84,18 @@ export default function CloudflarePagesIntegrationPage() { router.push(`/integrations/${localStorage.getItem("projectData.id")}`); } catch (err) { console.error(err); + + let errorMessage: string = "Something went wrong!"; + if (axios.isAxiosError(err)) { + const { message } = err?.response?.data as { message: string }; + errorMessage = message; + } + + createNotification({ + text: errorMessage, + type: "error" + }); + setIsLoading(false); } }; @@ -106,6 +129,13 @@ export default function CloudflarePagesIntegrationPage() { ))} + + setSecretPath(evt.target.value)} + placeholder="Provide a path, default is /" + /> +