diff --git a/WebServices/client-frontend/src/apicalls/basics.ts b/WebServices/client-frontend/src/apicalls/basics.ts index 17eea35..46f4d58 100644 --- a/WebServices/client-frontend/src/apicalls/basics.ts +++ b/WebServices/client-frontend/src/apicalls/basics.ts @@ -6,9 +6,9 @@ const formatServiceUrl = (url: string) => { export const baseUrlAuth = formatServiceUrl( process.env.NEXT_PUBLIC_AUTH_SERVICE_URL || "auth_service:8001" ); -// export const baseUrlValidation = formatServiceUrl( -// process.env.NEXT_PUBLIC_VALIDATION_SERVICE_URL || "validationservice:8888" -// ); +export const baseUrlPeople = formatServiceUrl( + process.env.NEXT_PUBLIC_VALIDATION_SERVICE_URL || "identity_service:8002" +); // export const baseUrlEvent = formatServiceUrl( // process.env.NEXT_PUBLIC_EVENT_SERVICE_URL || "eventservice:8888" // ); diff --git a/WebServices/client-frontend/src/apicalls/login/login.tsx b/WebServices/client-frontend/src/apicalls/login/login.tsx index edd0364..9e7e3b6 100644 --- a/WebServices/client-frontend/src/apicalls/login/login.tsx +++ b/WebServices/client-frontend/src/apicalls/login/login.tsx @@ -5,8 +5,6 @@ import { fetchData, fetchDataWithToken } from "../api-fetcher"; import { baseUrlAuth, cookieObject, tokenSecret } from "../basics"; import { cookies } from "next/headers"; -// import { setAvailableEvents } from "../events/available"; - const loginEndpoint = `${baseUrlAuth}/authentication/login`; const loginSelectEndpoint = `${baseUrlAuth}/authentication/select`; diff --git a/WebServices/client-frontend/src/apicalls/people/people.tsx b/WebServices/client-frontend/src/apicalls/people/people.tsx new file mode 100644 index 0000000..2648ce2 --- /dev/null +++ b/WebServices/client-frontend/src/apicalls/people/people.tsx @@ -0,0 +1,31 @@ +"use server"; +import { fetchData, fetchDataWithToken } from "../api-fetcher"; +import { baseUrlPeople, cookieObject, tokenSecret } from "../basics"; +import { PageListOptions, PaginateOnly } from "../schemas/list"; + +const peopleListEndpoint = `${baseUrlPeople}/people/list`; +const peopleCreateEndpoint = `${baseUrlPeople}/people/create`; +const peopleUpdateEndpoint = `${baseUrlPeople}/people/update`; + +async function peopleList(payload: PageListOptions) { + try { + const response = await fetchDataWithToken( + peopleListEndpoint, + { + page: payload.page, + size: payload.size, + order_field: payload.orderField, + order_type: payload.orderType, + query: payload.query, + }, + "POST", + false + ); + return response?.status === 200 ? response.data : null; + } catch (error) { + console.error("Error fetching people list:", error); + return null; + } +} + +export { peopleList }; diff --git a/WebServices/client-frontend/src/apicalls/schemas/list.tsx b/WebServices/client-frontend/src/apicalls/schemas/list.tsx new file mode 100644 index 0000000..659fb37 --- /dev/null +++ b/WebServices/client-frontend/src/apicalls/schemas/list.tsx @@ -0,0 +1,14 @@ +export interface PaginateOnly { + page?: number; + size?: number; + orderField?: string[]; + orderType?: string[]; +} + +export interface PageListOptions { + page?: number; + size?: number; + orderField?: string[]; + orderType?: string[]; + query?: any; +} diff --git a/WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx b/WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx new file mode 100644 index 0000000..c6f0e95 --- /dev/null +++ b/WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx @@ -0,0 +1,60 @@ +"use server"; +import React from "react"; +import Template from "@/components/Pages/template/app"; +import ClientMenu from "@/components/menuCleint/menu"; +import { LanguageKey } from "@/components/Pages/template/language"; + +import { retrievePageList } from "@/apicalls/cookies/token"; + +interface TemplatePageProps { + params: { lang?: string }; + searchParams: { [key: string]: string | string[] | undefined }; +} + +async function TemplatePage({ params, searchParams }: TemplatePageProps) { + // Get language from query params or default to 'en' + const pParams = await params; + const siteUrlsList = (await retrievePageList()) || []; + const searchParamsInstance = await searchParams; + const activePage = "/template"; + const lang = (searchParamsInstance?.lang as LanguageKey) || "en"; + + return ( + <> + <> +
+ {/* Sidebar */} + + + {/* Main Content Area */} +
+ {/* Sticky Header */} +
+

{activePage}

+
+ +
+
+
+
+