diff --git a/actions/compliances/compliances.ts b/actions/compliances/compliances.ts
new file mode 100644
index 0000000000..6b254acff0
--- /dev/null
+++ b/actions/compliances/compliances.ts
@@ -0,0 +1,34 @@
+"use server";
+import { revalidatePath } from "next/cache";
+
+import { auth } from "@/auth.config";
+import { parseStringify } from "@/lib";
+
+export const getCompliancesOverview = async ({
+ scanId,
+}: {
+ scanId: string;
+}) => {
+ const session = await auth();
+
+ const keyServer = process.env.API_BASE_URL;
+ const url = new URL(
+ `${keyServer}/compliance-overviews?filter[scan_id]=${scanId}`,
+ );
+ try {
+ const compliances = await fetch(url.toString(), {
+ headers: {
+ Accept: "application/vnd.api+json",
+ Authorization: `Bearer ${session?.accessToken}`,
+ },
+ });
+ const data = await compliances.json();
+ const parsedData = parseStringify(data);
+ revalidatePath("/compliance");
+ return parsedData;
+ } catch (error) {
+ // eslint-disable-next-line no-console
+ console.error("Error fetching providers:", error);
+ return undefined;
+ }
+};
diff --git a/actions/compliances/index.ts b/actions/compliances/index.ts
new file mode 100644
index 0000000000..ba9df7e860
--- /dev/null
+++ b/actions/compliances/index.ts
@@ -0,0 +1 @@
+export * from "./compliances";
diff --git a/actions/invitations/index.ts b/actions/invitations/index.ts
new file mode 100644
index 0000000000..addd041884
--- /dev/null
+++ b/actions/invitations/index.ts
@@ -0,0 +1 @@
+export * from "./invitation";
diff --git a/actions/invitations/invitation.ts b/actions/invitations/invitation.ts
index 654d9fd982..56aefc74e1 100644
--- a/actions/invitations/invitation.ts
+++ b/actions/invitations/invitation.ts
@@ -42,6 +42,7 @@ export const getInvitations = async ({
revalidatePath("/invitations");
return parsedData;
} catch (error) {
+ // eslint-disable-next-line no-console
console.error("Error fetching invitations:", error);
return undefined;
}
@@ -117,6 +118,7 @@ export const updateInvite = async (formData: FormData) => {
revalidatePath("/invitations");
return parseStringify(data);
} catch (error) {
+ // eslint-disable-next-line no-console
console.error("Error updating invitation:", error);
return {
error: getErrorMessage(error),
diff --git a/app/(prowler)/compliance/page.tsx b/app/(prowler)/compliance/page.tsx
index 6cc1c5c11e..7e47723441 100644
--- a/app/(prowler)/compliance/page.tsx
+++ b/app/(prowler)/compliance/page.tsx
@@ -1,15 +1,14 @@
import { Spacer } from "@nextui-org/react";
-import { redirect } from "next/navigation";
import { Suspense } from "react";
-import { getCompliance } from "@/actions/compliance";
+import { getCompliancesOverview } from "@/actions/compliances";
import {
ComplianceCard,
ComplianceSkeletonGrid,
} from "@/components/compliance";
import { FilterControls } from "@/components/filters";
import { Header } from "@/components/ui";
-import { SearchParamsProps } from "@/types";
+import { ComplianceOverviewData, SearchParamsProps } from "@/types";
export default async function Compliance({
searchParams,
@@ -23,41 +22,48 @@ export default async function Compliance({