From 1dfde958bfe4e5f48900e1654a11e782e1c06b8f Mon Sep 17 00:00:00 2001 From: Pablo Lara Date: Sun, 22 Sep 2024 15:48:03 +0200 Subject: [PATCH] chore: rename getProviders action and add modal for editing provider info --- actions/providers.ts | 27 +++++++++++++++++-- app/(prowler)/providers/page.tsx | 4 +-- .../table/data-table-row-actions.tsx | 13 +++++---- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/actions/providers.ts b/actions/providers.ts index 380ed72284..68478dc4d2 100644 --- a/actions/providers.ts +++ b/actions/providers.ts @@ -6,7 +6,7 @@ import { redirect } from "next/navigation"; import { auth } from "@/auth.config"; import { parseStringify } from "@/lib"; -export const getProvider = async ({ +export const getProviders = async ({ page = 1, query = "", sort = "", @@ -47,6 +47,28 @@ export const getProvider = async ({ } }; +export const getProvider = async (formData: FormData) => { + const keyServer = process.env.API_BASE_URL; + + const providerId = formData.get("id"); + + try { + const response = await fetch(`${keyServer}/providers/${providerId}`, { + method: "GET", + headers: { + "X-Tenant-ID": `${process.env.HEADER_TENANT_ID}`, + }, + }); + const data = await response.json(); + revalidatePath("/providers"); + return parseStringify(data); + } catch (error) { + return { + error: getErrorMessage(error), + }; + } +}; + export const addProvider = async (formData: FormData) => { const keyServer = process.env.API_BASE_URL; @@ -81,8 +103,8 @@ export const addProvider = async (formData: FormData) => { error: getErrorMessage(error), }; } - revalidatePath("/providers"); }; + export const checkConnectionProvider = async (formData: FormData) => { const keyServer = process.env.API_BASE_URL; @@ -107,6 +129,7 @@ export const checkConnectionProvider = async (formData: FormData) => { }; } }; + export const deleteProvider = async (formData: FormData) => { const keyServer = process.env.API_BASE_URL; diff --git a/app/(prowler)/providers/page.tsx b/app/(prowler)/providers/page.tsx index 79ccbf5d29..6a79a8a872 100644 --- a/app/(prowler)/providers/page.tsx +++ b/app/(prowler)/providers/page.tsx @@ -1,7 +1,7 @@ import { Spacer } from "@nextui-org/react"; import { Suspense } from "react"; -import { getProvider } from "@/actions"; +import { getProviders } from "@/actions"; import { FilterControls } from "@/components/filters"; import { AddProviderModal } from "@/components/providers"; import { @@ -54,7 +54,7 @@ const SSRDataTable = async ({ // Extract query from filters const query = (filters["filter[search]"] as string) || ""; - const providersData = await getProvider({ query, page, sort, filters }); + const providersData = await getProviders({ query, page, sort, filters }); return ( { row: Row; @@ -32,18 +33,19 @@ const iconClasses = export function DataTableRowActions({ row, }: DataTableRowActionsProps) { - // const [isEditOpen, setIsEditOpen] = useState(false); + const [isEditOpen, setIsEditOpen] = useState(false); const [isDeleteOpen, setIsDeleteOpen] = useState(false); const providerId = (row.original as { id: string }).id; return ( <> - {/* - */} + ({ shortcut="⌘⇧E" textValue="Edit Provider" startContent={} + onClick={() => setIsEditOpen(true)} > Edit Provider