Browse Source

move some functions from commonUtil to fetchUtil

tags/Baseline_30082024_FRONTEND_UAT
cyril.tsui 1 year ago
parent
commit
57539fc60f
38 changed files with 98 additions and 88 deletions
  1. +2
    -2
      src/app/(main)/projects/create/page.tsx
  2. +2
    -2
      src/app/(main)/projects/createSub/page.tsx
  3. +2
    -2
      src/app/(main)/projects/edit/page.tsx
  4. +2
    -2
      src/app/(main)/projects/editSub/page.tsx
  5. +2
    -2
      src/app/(main)/projects/page.tsx
  6. +2
    -2
      src/app/(main)/settings/company/page.tsx
  7. +2
    -2
      src/app/(main)/settings/customer/page.tsx
  8. +2
    -2
      src/app/(main)/settings/department/page.tsx
  9. +2
    -2
      src/app/(main)/settings/mail/page.tsx
  10. +2
    -2
      src/app/(main)/settings/position/page.tsx
  11. +2
    -2
      src/app/(main)/settings/skill/page.tsx
  12. +2
    -2
      src/app/(main)/settings/staff/page.tsx
  13. +2
    -2
      src/app/(main)/settings/subsidiary/page.tsx
  14. +2
    -2
      src/app/(main)/settings/team/page.tsx
  15. +14
    -14
      src/app/utils/commonUtil.ts
  16. +11
    -1
      src/app/utils/fetchUtil.ts
  17. +2
    -2
      src/components/CompanyHoliday/CompanyHolidayWrapper.tsx
  18. +2
    -2
      src/components/CompanySearch/CompanySearchWrapper.tsx
  19. +2
    -2
      src/components/CompanyTeamCashFlow/CompanyTeamCashFlowWrapper.tsx
  20. +2
    -2
      src/components/CreateProject/CreateProjectWrapper.tsx
  21. +2
    -2
      src/components/CustomerSearch/CustomerSearchWrapper.tsx
  22. +2
    -2
      src/components/DepartmentSearch/DepartmentSearchWrapper.tsx
  23. +1
    -1
      src/components/ExcelFileImport/ExcelFileImportWrapper.tsx
  24. +2
    -2
      src/components/GenerateCrossTeamChargeReport/GenerateCrossTeamChargeReportWrapper.tsx
  25. +2
    -2
      src/components/GenerateProjectCashFlowReport/GenerateProjectCashFlowReportWrapper.tsx
  26. +2
    -2
      src/components/GenerateProjectPandLReport/GenerateProjectPandLReportWrapper.tsx
  27. +2
    -2
      src/components/GenerateProjectPotentialDelayReport/GenerateProjectPotentialDelayReportWrapper.tsx
  28. +2
    -2
      src/components/MailSetting/MailSettingWrapper.tsx
  29. +2
    -2
      src/components/PositionSearch/PositionSearchWrapper.tsx
  30. +2
    -2
      src/components/ProjectSearch/ProjectSearchWrapper.tsx
  31. +2
    -2
      src/components/Report/FinancialStatusReportGen/FinancialStatusReportGenWrapper.tsx
  32. +2
    -2
      src/components/Report/LateStartReportGen/LateStartReportGenWrapper.tsx
  33. +2
    -2
      src/components/SalarySearch/SalarySearchWrapper.tsx
  34. +2
    -2
      src/components/SkillSearch/SkillSearchWrapper.tsx
  35. +3
    -3
      src/components/StaffUtilization/StaffUtilizationWrapper.tsx
  36. +2
    -2
      src/components/SubsidiarySearch/SubsidiarySearchWrapper.tsx
  37. +2
    -2
      src/components/TeamSearch/TeamSearchWrapper.tsx
  38. +3
    -3
      src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx

+ 2
- 2
src/app/(main)/projects/create/page.tsx View File

@@ -11,7 +11,7 @@ import {
} from "@/app/api/projects"; } from "@/app/api/projects";
import { preloadStaff, preloadTeamLeads } from "@/app/api/staff"; import { preloadStaff, preloadTeamLeads } from "@/app/api/staff";
import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks"; import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import CreateProject from "@/components/CreateProject"; import CreateProject from "@/components/CreateProject";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
import { MAINTAIN_PROJECT } from "@/middleware"; import { MAINTAIN_PROJECT } from "@/middleware";
@@ -26,7 +26,7 @@ export const metadata: Metadata = {
const Projects: React.FC = async () => { const Projects: React.FC = async () => {
const { t } = await getServerI18n("projects"); const { t } = await getServerI18n("projects");


const abilities = await getUserAbilities();
const abilities = await fetchUserAbilities();


if (![MAINTAIN_PROJECT].some((ability) => abilities.includes(ability))) { if (![MAINTAIN_PROJECT].some((ability) => abilities.includes(ability))) {
notFound(); notFound();


+ 2
- 2
src/app/(main)/projects/createSub/page.tsx View File

@@ -13,7 +13,7 @@ import {
} from "@/app/api/projects"; } from "@/app/api/projects";
import { preloadStaff, preloadTeamLeads } from "@/app/api/staff"; import { preloadStaff, preloadTeamLeads } from "@/app/api/staff";
import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks"; import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { ServerFetchError } from "@/app/utils/fetchUtil"; import { ServerFetchError } from "@/app/utils/fetchUtil";
import CreateProject from "@/components/CreateProject"; import CreateProject from "@/components/CreateProject";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
@@ -28,7 +28,7 @@ export const metadata: Metadata = {


const Projects: React.FC = async () => { const Projects: React.FC = async () => {
const { t } = await getServerI18n("projects"); const { t } = await getServerI18n("projects");
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
if (![MAINTAIN_PROJECT].some(ability => abilities.includes(ability))) { if (![MAINTAIN_PROJECT].some(ability => abilities.includes(ability))) {
notFound(); notFound();


+ 2
- 2
src/app/(main)/projects/edit/page.tsx View File

@@ -12,7 +12,7 @@ import {
} from "@/app/api/projects"; } from "@/app/api/projects";
import { preloadStaff, preloadTeamLeads } from "@/app/api/staff"; import { preloadStaff, preloadTeamLeads } from "@/app/api/staff";
import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks"; import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { ServerFetchError } from "@/app/utils/fetchUtil"; import { ServerFetchError } from "@/app/utils/fetchUtil";
import CreateProject from "@/components/CreateProject"; import CreateProject from "@/components/CreateProject";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
@@ -34,7 +34,7 @@ const Projects: React.FC<Props> = async ({ searchParams }) => {
const { t } = await getServerI18n("projects"); const { t } = await getServerI18n("projects");
// Assume projectId is string here // Assume projectId is string here
const projectId = searchParams["id"]; const projectId = searchParams["id"];
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()


if (!projectId || isArray(projectId) || ![MAINTAIN_PROJECT].some(ability => abilities.includes(ability))) { if (!projectId || isArray(projectId) || ![MAINTAIN_PROJECT].some(ability => abilities.includes(ability))) {
notFound(); notFound();


+ 2
- 2
src/app/(main)/projects/editSub/page.tsx View File

@@ -13,7 +13,7 @@ import {
} from "@/app/api/projects"; } from "@/app/api/projects";
import { preloadStaff, preloadTeamLeads } from "@/app/api/staff"; import { preloadStaff, preloadTeamLeads } from "@/app/api/staff";
import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks"; import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import CreateProject from "@/components/CreateProject"; import CreateProject from "@/components/CreateProject";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
import { MAINTAIN_PROJECT } from "@/middleware"; import { MAINTAIN_PROJECT } from "@/middleware";
@@ -34,7 +34,7 @@ const Projects: React.FC<Props> = async ({ searchParams }) => {
const { t } = await getServerI18n("projects"); const { t } = await getServerI18n("projects");
const projectId = searchParams["id"]; const projectId = searchParams["id"];


const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
if (!projectId || isArray(projectId) || !abilities.includes(MAINTAIN_PROJECT)) { if (!projectId || isArray(projectId) || !abilities.includes(MAINTAIN_PROJECT)) {
notFound(); notFound();
} }


+ 2
- 2
src/app/(main)/projects/page.tsx View File

@@ -1,5 +1,5 @@
import { fetchProjectCategories, fetchProjects, preloadProjects } from "@/app/api/projects"; import { fetchProjectCategories, fetchProjects, preloadProjects } from "@/app/api/projects";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import ProjectSearch from "@/components/ProjectSearch"; import ProjectSearch from "@/components/ProjectSearch";
import { getServerI18n } from "@/i18n"; import { getServerI18n } from "@/i18n";
import { MAINTAIN_PROJECT, VIEW_PROJECT } from "@/middleware"; import { MAINTAIN_PROJECT, VIEW_PROJECT } from "@/middleware";
@@ -21,7 +21,7 @@ const Projects: React.FC = async () => {
// preloadProjects(); // preloadProjects();
fetchProjectCategories(); fetchProjectCategories();
const projects = await fetchProjects(); const projects = await fetchProjects();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
if (![MAINTAIN_PROJECT].some(ability => abilities.includes(ability))) { if (![MAINTAIN_PROJECT].some(ability => abilities.includes(ability))) {
notFound(); notFound();
} }


+ 2
- 2
src/app/(main)/settings/company/page.tsx View File

@@ -8,7 +8,7 @@ import Typography from "@mui/material/Typography";
import Link from "next/link"; import Link from "next/link";
import { Suspense } from "react"; import { Suspense } from "react";
import { fetchCompanys, preloadCompanys } from "@/app/api/companys"; import { fetchCompanys, preloadCompanys } from "@/app/api/companys";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { MAINTAIN_COMPANY } from "@/middleware"; import { MAINTAIN_COMPANY } from "@/middleware";


export const metadata: Metadata = { export const metadata: Metadata = {
@@ -22,7 +22,7 @@ const Company: React.FC = async () => {
fetchCompanys(); fetchCompanys();
preloadCompanys(); preloadCompanys();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainCompany = abilities.includes(MAINTAIN_COMPANY) const maintainCompany = abilities.includes(MAINTAIN_COMPANY)


return ( return (


+ 2
- 2
src/app/(main)/settings/customer/page.tsx View File

@@ -9,7 +9,7 @@ import { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { Suspense } from "react"; import { Suspense } from "react";
import { I18nProvider } from "@/i18n"; import { I18nProvider } from "@/i18n";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { MAINTAIN_CLIENT } from "@/middleware"; import { MAINTAIN_CLIENT } from "@/middleware";


export const metadata: Metadata = { export const metadata: Metadata = {
@@ -19,7 +19,7 @@ export const metadata: Metadata = {
const Customer: React.FC = async () => { const Customer: React.FC = async () => {
const { t } = await getServerI18n("customer"); const { t } = await getServerI18n("customer");
preloadAllCustomers(); preloadAllCustomers();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainClient = abilities.includes(MAINTAIN_CLIENT) const maintainClient = abilities.includes(MAINTAIN_CLIENT)


return ( return (


+ 2
- 2
src/app/(main)/settings/department/page.tsx View File

@@ -8,7 +8,7 @@ import Typography from "@mui/material/Typography";
import Link from "next/link"; import Link from "next/link";
import { Suspense } from "react"; import { Suspense } from "react";
import { fetchDepartments, preloadDepartments } from "@/app/api/departments"; import { fetchDepartments, preloadDepartments } from "@/app/api/departments";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { MAINTAIN_DEPARTMENT } from "@/middleware"; import { MAINTAIN_DEPARTMENT } from "@/middleware";


export const metadata: Metadata = { export const metadata: Metadata = {
@@ -22,7 +22,7 @@ const Department: React.FC = async () => {
// fetchDepartments(); // fetchDepartments();
// preloadDepartments(); // preloadDepartments();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainDepartment = abilities.includes(MAINTAIN_DEPARTMENT) const maintainDepartment = abilities.includes(MAINTAIN_DEPARTMENT)


return ( return (


+ 2
- 2
src/app/(main)/settings/mail/page.tsx View File

@@ -4,7 +4,7 @@ import Typography from "@mui/material/Typography";
import { Metadata } from "next"; import { Metadata } from "next";
import { Suspense } from "react"; import { Suspense } from "react";
import { I18nProvider } from "@/i18n"; import { I18nProvider } from "@/i18n";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { preloadMails } from "@/app/api/mail"; import { preloadMails } from "@/app/api/mail";
import MailSetting from "@/components/MailSetting"; import MailSetting from "@/components/MailSetting";


@@ -15,7 +15,7 @@ export const metadata: Metadata = {
const Customer: React.FC = async () => { const Customer: React.FC = async () => {
const { t } = await getServerI18n("mail"); const { t } = await getServerI18n("mail");
preloadMails(); preloadMails();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()


return ( return (
<> <>


+ 2
- 2
src/app/(main)/settings/position/page.tsx View File

@@ -8,7 +8,7 @@ import Typography from "@mui/material/Typography";
import Link from "next/link"; import Link from "next/link";
import { Suspense } from "react"; import { Suspense } from "react";
import { fetchPositions, preloadPositions } from "@/app/api/positions"; import { fetchPositions, preloadPositions } from "@/app/api/positions";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { MAINTAIN_POSITION } from "@/middleware"; import { MAINTAIN_POSITION } from "@/middleware";


export const metadata: Metadata = { export const metadata: Metadata = {
@@ -22,7 +22,7 @@ const Position: React.FC = async () => {
// fetchPositions(); // fetchPositions();
// preloadPositions(); // preloadPositions();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainPosition = abilities.includes(MAINTAIN_POSITION) const maintainPosition = abilities.includes(MAINTAIN_POSITION)


return ( return (


+ 2
- 2
src/app/(main)/settings/skill/page.tsx View File

@@ -1,5 +1,5 @@
import { preloadClaims } from "@/app/api/claims"; import { preloadClaims } from "@/app/api/claims";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
// import { preloadSkill, preloadTeamLeads } from "@/app/api/staff"; // import { preloadSkill, preloadTeamLeads } from "@/app/api/staff";
import SkillSearch from "@/components/SkillSearch"; import SkillSearch from "@/components/SkillSearch";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
@@ -21,7 +21,7 @@ const Skill: React.FC = async () => {
// preloadTeamLeads(); // preloadTeamLeads();
// preloadSkill(); // preloadSkill();


const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainSkill = abilities.includes(MAINTAIN_SKILL) const maintainSkill = abilities.includes(MAINTAIN_SKILL)
return ( return (


+ 2
- 2
src/app/(main)/settings/staff/page.tsx View File

@@ -1,6 +1,6 @@
import { preloadClaims } from "@/app/api/claims"; import { preloadClaims } from "@/app/api/claims";
import { preloadStaff, preloadTeamLeads } from "@/app/api/staff"; import { preloadStaff, preloadTeamLeads } from "@/app/api/staff";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import StaffSearch from "@/components/StaffSearch"; import StaffSearch from "@/components/StaffSearch";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
import { MAINTAIN_STAFF } from "@/middleware"; import { MAINTAIN_STAFF } from "@/middleware";
@@ -21,7 +21,7 @@ const Staff: React.FC = async () => {
preloadTeamLeads(); preloadTeamLeads();
preloadStaff(); preloadStaff();


const abilities = await getUserAbilities();
const abilities = await fetchUserAbilities();
const maintainStaff = abilities.includes(MAINTAIN_STAFF) const maintainStaff = abilities.includes(MAINTAIN_STAFF)


return ( return (


+ 2
- 2
src/app/(main)/settings/subsidiary/page.tsx View File

@@ -9,7 +9,7 @@ import { Suspense } from "react";
import { I18nProvider } from "@/i18n"; import { I18nProvider } from "@/i18n";
import { preloadAllSubsidiaries } from "@/app/api/subsidiary"; import { preloadAllSubsidiaries } from "@/app/api/subsidiary";
import SubsidiarySearch from "@/components/SubsidiarySearch"; import SubsidiarySearch from "@/components/SubsidiarySearch";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import { MAINTAIN_SUBSIDIARY } from "@/middleware"; import { MAINTAIN_SUBSIDIARY } from "@/middleware";


export const metadata: Metadata = { export const metadata: Metadata = {
@@ -19,7 +19,7 @@ export const metadata: Metadata = {
const Subsidiary: React.FC = async () => { const Subsidiary: React.FC = async () => {
const { t } = await getServerI18n("subsidiary"); const { t } = await getServerI18n("subsidiary");
preloadAllSubsidiaries(); preloadAllSubsidiaries();
const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainSubsidiary = abilities.includes(MAINTAIN_SUBSIDIARY) const maintainSubsidiary = abilities.includes(MAINTAIN_SUBSIDIARY)


return ( return (


+ 2
- 2
src/app/(main)/settings/team/page.tsx View File

@@ -1,6 +1,6 @@
import { preloadClaims } from "@/app/api/claims"; import { preloadClaims } from "@/app/api/claims";
import { preloadStaff, preloadTeamLeads } from "@/app/api/staff"; import { preloadStaff, preloadTeamLeads } from "@/app/api/staff";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import StaffSearch from "@/components/StaffSearch"; import StaffSearch from "@/components/StaffSearch";
import TeamSearch from "@/components/TeamSearch"; import TeamSearch from "@/components/TeamSearch";
import { I18nProvider, getServerI18n } from "@/i18n"; import { I18nProvider, getServerI18n } from "@/i18n";
@@ -24,7 +24,7 @@ export const metadata: Metadata = {
// preloadTeamLeads(); // preloadTeamLeads();
// preloadStaff(); // preloadStaff();


const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()
const maintainTeam = abilities.includes(MAINTAIN_TEAM) const maintainTeam = abilities.includes(MAINTAIN_TEAM)


return ( return (


+ 14
- 14
src/app/utils/commonUtil.ts View File

@@ -1,5 +1,5 @@
import { SessionStaff, SessionWithTokens, authOptions } from "@/config/authConfig"
import { getServerSession } from "next-auth"
// import { SessionStaff, SessionWithTokens, authOptions } from "@/config/authConfig"
// import { getServerSession } from "next-auth"
export interface WildCard { export interface WildCard {
[key: string]: any; [key: string]: any;
} }
@@ -51,17 +51,17 @@ export function readIntFromString(input: string): [string, number | null] | stri
return [stringPart, intPart]; return [stringPart, intPart];
} }


export const getUserSession = async () => {
const session = await getServerSession(authOptions) as SessionWithTokens;
return session
}
// export const getUserSession = async () => {
// const session = await getServerSession(authOptions) as SessionWithTokens;
// return session
// }


export const getUserAbilities = async () => {
const session = await getServerSession(authOptions) as SessionWithTokens;
return session?.abilities ?? [] as string[]
}
// export const fetchUserAbilities = async () => {
// const session = await getServerSession(authOptions) as SessionWithTokens;
// return session?.abilities ?? [] as string[]
// }


export const getUserStaff = async () => {
const session = await getServerSession(authOptions) as SessionWithTokens;
return session?.staff as SessionStaff
}
// export const fetchUserStaff = async () => {
// const session = await getServerSession(authOptions) as SessionWithTokens;
// return session?.staff as SessionStaff
// }

+ 11
- 1
src/app/utils/fetchUtil.ts View File

@@ -1,4 +1,4 @@
import { SessionWithTokens, authOptions } from "@/config/authConfig";
import { SessionWithTokens, authOptions, SessionStaff } from "@/config/authConfig";
import { getServerSession } from "next-auth"; import { getServerSession } from "next-auth";
import { headers } from "next/headers"; import { headers } from "next/headers";
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
@@ -180,3 +180,13 @@ export const signOutUser = () => {
`/logout${referer ? `?callbackUrl=${encodeURIComponent(referer)}` : ""}`, `/logout${referer ? `?callbackUrl=${encodeURIComponent(referer)}` : ""}`,
); );
}; };

export const fetchUserAbilities = async () => {
const session = await getServerSession(authOptions) as SessionWithTokens;
return session?.abilities ?? [] as string[]
}

export const fetchUserStaff = async () => {
const session = await getServerSession(authOptions) as SessionWithTokens;
return session?.staff as SessionStaff
}

+ 2
- 2
src/components/CompanyHoliday/CompanyHolidayWrapper.tsx View File

@@ -6,7 +6,7 @@ import { fetchCompanys } from "@/app/api/companys";
import Holidays from "date-holidays"; import Holidays from "date-holidays";
import { HolidaysResult, fetchHolidays, HolidaysList } from "@/app/api/holidays"; import { HolidaysResult, fetchHolidays, HolidaysList } from "@/app/api/holidays";
import { convertDateArrayToString } from "@/app/utils/formatUtil"; import { convertDateArrayToString } from "@/app/utils/formatUtil";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof CompanyHolidayLoading; Loading: typeof CompanyHolidayLoading;
@@ -15,7 +15,7 @@ interface SubComponents {
const CompanyHolidayWrapper: React.FC & SubComponents = async () => { const CompanyHolidayWrapper: React.FC & SubComponents = async () => {
// const Companys = await fetchCompanys(); // const Companys = await fetchCompanys();


const [companyHolidays, abilities] = await Promise.all([fetchHolidays(), getUserAbilities()])
const [companyHolidays, abilities] = await Promise.all([fetchHolidays(), fetchUserAbilities()])


// console.log(companyHolidays) // console.log(companyHolidays)
const convertedHolidays = companyHolidays.map((holiday) => { const convertedHolidays = companyHolidays.map((holiday) => {


+ 2
- 2
src/components/CompanySearch/CompanySearchWrapper.tsx View File

@@ -3,7 +3,7 @@ import React from "react";
import CompanySearch from "./CompanySearch"; import CompanySearch from "./CompanySearch";
import CompanySearchLoading from "./CompanySearchLoading"; import CompanySearchLoading from "./CompanySearchLoading";
import { fetchCompanys } from "@/app/api/companys"; import { fetchCompanys } from "@/app/api/companys";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof CompanySearchLoading; Loading: typeof CompanySearchLoading;
@@ -11,7 +11,7 @@ interface SubComponents {


const CompanySearchWrapper: React.FC & SubComponents = async () => { const CompanySearchWrapper: React.FC & SubComponents = async () => {
// const Companys = await fetchCompanys(); // const Companys = await fetchCompanys();
const [Companys, abilities] = await Promise.all([fetchCompanys(), getUserAbilities()]);
const [Companys, abilities] = await Promise.all([fetchCompanys(), fetchUserAbilities()]);


return <CompanySearch companys={Companys} abilities={abilities}/>; return <CompanySearch companys={Companys} abilities={abilities}/>;
}; };


+ 2
- 2
src/components/CompanyTeamCashFlow/CompanyTeamCashFlowWrapper.tsx View File

@@ -1,9 +1,9 @@
import React from "react"; import React from "react";
import CompanyTeamCashFlow from "./CompanyTeamCashFlow"; import CompanyTeamCashFlow from "./CompanyTeamCashFlow";
import { getUserAbilities, getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserAbilities, fetchUserStaff } from "@/app/utils/fetchUtil";


const CompanyTeamCashFlowWrapper: React.FC = async () => { const CompanyTeamCashFlowWrapper: React.FC = async () => {
const [abilities, staff] = await Promise.all([getUserAbilities(), getUserStaff()]);
const [abilities, staff] = await Promise.all([fetchUserAbilities(), fetchUserStaff()]);


return <CompanyTeamCashFlow abilities={abilities} staff={staff}/>; return <CompanyTeamCashFlow abilities={abilities} staff={staff}/>;
}; };


+ 2
- 2
src/components/CreateProject/CreateProjectWrapper.tsx View File

@@ -18,7 +18,7 @@ import {
fetchCustomerTypes, fetchCustomerTypes,
} from "@/app/api/customer"; } from "@/app/api/customer";
import { fetchGrades } from "@/app/api/grades"; import { fetchGrades } from "@/app/api/grades";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


type CreateProjectProps = { type CreateProjectProps = {
isEditMode: false; isEditMode: false;
@@ -66,7 +66,7 @@ const CreateProjectWrapper: React.FC<Props> = async (props) => {
fetchStaff(), fetchStaff(),
fetchGrades(), fetchGrades(),
fetchCustomerTypes(), fetchCustomerTypes(),
getUserAbilities(),
fetchUserAbilities(),
]); ]);


const projectInfo = props.isEditMode const projectInfo = props.isEditMode


+ 2
- 2
src/components/CustomerSearch/CustomerSearchWrapper.tsx View File

@@ -2,14 +2,14 @@ import { fetchAllCustomers } from "@/app/api/customer";
import React from "react"; import React from "react";
import CustomerSearch from "./CustomerSearch"; import CustomerSearch from "./CustomerSearch";
import CustomerSearchLoading from "./CustomerSearchLoading"; import CustomerSearchLoading from "./CustomerSearchLoading";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof CustomerSearchLoading; Loading: typeof CustomerSearchLoading;
} }


const CustomerSearchWrapper: React.FC & SubComponents = async () => { const CustomerSearchWrapper: React.FC & SubComponents = async () => {
const [customers, abilities] = await Promise.all([fetchAllCustomers(), getUserAbilities()]);
const [customers, abilities] = await Promise.all([fetchAllCustomers(), fetchUserAbilities()]);


return <CustomerSearch customers={customers} abilities={abilities}/>; return <CustomerSearch customers={customers} abilities={abilities}/>;
}; };


+ 2
- 2
src/components/DepartmentSearch/DepartmentSearchWrapper.tsx View File

@@ -3,14 +3,14 @@ import React from "react";
import DepartmentSearch from "./DepartmentSearch"; import DepartmentSearch from "./DepartmentSearch";
import DepartmentSearchLoading from "./DepartmentSearchLoading"; import DepartmentSearchLoading from "./DepartmentSearchLoading";
import { fetchDepartments } from "@/app/api/departments"; import { fetchDepartments } from "@/app/api/departments";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof DepartmentSearchLoading; Loading: typeof DepartmentSearchLoading;
} }


const DepartmentSearchWrapper: React.FC & SubComponents = async () => { const DepartmentSearchWrapper: React.FC & SubComponents = async () => {
const [Departments, abilities] = await Promise.all([fetchDepartments(), getUserAbilities()]);
const [Departments, abilities] = await Promise.all([fetchDepartments(), fetchUserAbilities()]);
// const Departments:any[] = [] // const Departments:any[] = []


return <DepartmentSearch departments={Departments} abilities={abilities} />; return <DepartmentSearch departments={Departments} abilities={abilities} />;


+ 1
- 1
src/components/ExcelFileImport/ExcelFileImportWrapper.tsx View File

@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { fetchProjects } from "@/app/api/projects"; import { fetchProjects } from "@/app/api/projects";
import ExcelFileImport from "./ExcelFileImport"; import ExcelFileImport from "./ExcelFileImport";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";


const ExcelFileImportWrapper: React.FC = async () => { const ExcelFileImportWrapper: React.FC = async () => {




+ 2
- 2
src/components/GenerateCrossTeamChargeReport/GenerateCrossTeamChargeReportWrapper.tsx View File

@@ -2,7 +2,7 @@ import React from "react";
import GenerateCrossTeamChargeReportLoading from "./GenerateCrossTeamChargeReportLoading"; import GenerateCrossTeamChargeReportLoading from "./GenerateCrossTeamChargeReportLoading";
import GenerateCrossTeamChargeReport from "./GenerateCrossTeamChargeReport"; import GenerateCrossTeamChargeReport from "./GenerateCrossTeamChargeReport";
import { fetchTeam } from "@/app/api/team"; import { fetchTeam } from "@/app/api/team";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof GenerateCrossTeamChargeReportLoading; Loading: typeof GenerateCrossTeamChargeReportLoading;
@@ -10,7 +10,7 @@ interface SubComponents {


const GenerateCrossTeamChargeReportWrapper: React.FC & SubComponents = async () => { const GenerateCrossTeamChargeReportWrapper: React.FC & SubComponents = async () => {


const [teams, userStaff] = await Promise.all([fetchTeam(), getUserStaff()])
const [teams, userStaff] = await Promise.all([fetchTeam(), fetchUserStaff()])


return <GenerateCrossTeamChargeReport teams={!Boolean(userStaff?.isTeamLead) ? teams : teams.filter(team => team.id === userStaff?.teamId)} userStaff={userStaff}/>; return <GenerateCrossTeamChargeReport teams={!Boolean(userStaff?.isTeamLead) ? teams : teams.filter(team => team.id === userStaff?.teamId)} userStaff={userStaff}/>;
}; };


+ 2
- 2
src/components/GenerateProjectCashFlowReport/GenerateProjectCashFlowReportWrapper.tsx View File

@@ -2,7 +2,7 @@ import React from "react";
import GenerateProjectCashFlowReportLoading from "./GenerateProjectCashFlowReportLoading"; import GenerateProjectCashFlowReportLoading from "./GenerateProjectCashFlowReportLoading";
import { fetchProjects } from "@/app/api/projects"; import { fetchProjects } from "@/app/api/projects";
import GenerateProjectCashFlowReport from "./GenerateProjectCashFlowReport"; import GenerateProjectCashFlowReport from "./GenerateProjectCashFlowReport";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof GenerateProjectCashFlowReportLoading; Loading: typeof GenerateProjectCashFlowReportLoading;
@@ -10,7 +10,7 @@ interface SubComponents {


const GenerateProjectCashFlowReportWrapper: React.FC & SubComponents = async () => { const GenerateProjectCashFlowReportWrapper: React.FC & SubComponents = async () => {
const projects = await fetchProjects(); const projects = await fetchProjects();
const staff = await getUserStaff()
const staff = await fetchUserStaff()


return <GenerateProjectCashFlowReport projects={staff?.teamId ? projects.filter(project => project.teamId === staff.teamId) : projects} />; return <GenerateProjectCashFlowReport projects={staff?.teamId ? projects.filter(project => project.teamId === staff.teamId) : projects} />;
}; };


+ 2
- 2
src/components/GenerateProjectPandLReport/GenerateProjectPandLReportWrapper.tsx View File

@@ -2,14 +2,14 @@ import React from "react";
import GenerateProjectPandLReportLoading from "./GenerateProjectPandLReportLoading"; import GenerateProjectPandLReportLoading from "./GenerateProjectPandLReportLoading";
import { fetchProjects } from "@/app/api/projects"; import { fetchProjects } from "@/app/api/projects";
import GenerateProjectPandLReport from "./GenerateProjectPandLReport"; import GenerateProjectPandLReport from "./GenerateProjectPandLReport";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof GenerateProjectPandLReportLoading; Loading: typeof GenerateProjectPandLReportLoading;
} }


const GenerateProjectPandLReportWrapper: React.FC & SubComponents = async () => { const GenerateProjectPandLReportWrapper: React.FC & SubComponents = async () => {
const [projects, userStaff] = await Promise.all([fetchProjects(), getUserStaff()]);
const [projects, userStaff] = await Promise.all([fetchProjects(), fetchUserStaff()]);


return <GenerateProjectPandLReport projects={userStaff?.teamId ? projects.filter(project => project.teamId === userStaff.teamId) : projects}/>; return <GenerateProjectPandLReport projects={userStaff?.teamId ? projects.filter(project => project.teamId === userStaff.teamId) : projects}/>;
}; };


+ 2
- 2
src/components/GenerateProjectPotentialDelayReport/GenerateProjectPotentialDelayReportWrapper.tsx View File

@@ -4,14 +4,14 @@ import GenerateProjectPotentialDelayReport from "./GenerateProjectPotentialDelay
import { fetchTeam } from "@/app/api/team"; import { fetchTeam } from "@/app/api/team";
import { fetchAllCustomers } from "@/app/api/customer"; import { fetchAllCustomers } from "@/app/api/customer";
import { fetchAllSubsidiaries } from "@/app/api/subsidiary"; import { fetchAllSubsidiaries } from "@/app/api/subsidiary";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof GenerateProjectPotentialDelayReportLoading; Loading: typeof GenerateProjectPotentialDelayReportLoading;
} }


const GenerateProjectPotentialDelayReportWrapper: React.FC & SubComponents = async () => { const GenerateProjectPotentialDelayReportWrapper: React.FC & SubComponents = async () => {
const [teams, clients, subsidiaries, userStaff] = await Promise.all([fetchTeam(), fetchAllCustomers(), fetchAllSubsidiaries(), getUserStaff()])
const [teams, clients, subsidiaries, userStaff] = await Promise.all([fetchTeam(), fetchAllCustomers(), fetchAllSubsidiaries(), fetchUserStaff()])


return <GenerateProjectPotentialDelayReport teams={!Boolean(userStaff?.isTeamLead) ? teams : teams.filter(team => team.id === userStaff?.teamId)} clients={clients} subsidiaries={subsidiaries} userStaff={userStaff}/>; return <GenerateProjectPotentialDelayReport teams={!Boolean(userStaff?.isTeamLead) ? teams : teams.filter(team => team.id === userStaff?.teamId)} clients={clients} subsidiaries={subsidiaries} userStaff={userStaff}/>;
}; };


+ 2
- 2
src/components/MailSetting/MailSettingWrapper.tsx View File

@@ -1,4 +1,4 @@
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
import MailSetting from "./MailSetting"; import MailSetting from "./MailSetting";
import MailSettingLoading from "./MailSettingLoading"; import MailSettingLoading from "./MailSettingLoading";
import { MailTemplate, fetchMailSetting, fetchMailTimesheetTemplate } from "@/app/api/mail"; import { MailTemplate, fetchMailSetting, fetchMailTimesheetTemplate } from "@/app/api/mail";
@@ -13,7 +13,7 @@ const MailSettingWrapper: React.FC & SubComponents = async () => {
settings, settings,
timesheetTemplate, timesheetTemplate,
] = await Promise.all([ ] = await Promise.all([
getUserAbilities(),
fetchUserAbilities(),
fetchMailSetting(), fetchMailSetting(),
fetchMailTimesheetTemplate() fetchMailTimesheetTemplate()
]); ]);


+ 2
- 2
src/components/PositionSearch/PositionSearchWrapper.tsx View File

@@ -3,14 +3,14 @@ import React from "react";
import PositionSearch from "./PositionSearch"; import PositionSearch from "./PositionSearch";
import PositionSearchLoading from "./PositionSearchLoading"; import PositionSearchLoading from "./PositionSearchLoading";
import { fetchPositions } from "@/app/api/positions"; import { fetchPositions } from "@/app/api/positions";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof PositionSearchLoading; Loading: typeof PositionSearchLoading;
} }


const PositionSearchWrapper: React.FC & SubComponents = async () => { const PositionSearchWrapper: React.FC & SubComponents = async () => {
const [Positions, abilities] = await Promise.all([fetchPositions(), getUserAbilities()]);
const [Positions, abilities] = await Promise.all([fetchPositions(), fetchUserAbilities()]);
// const Positions:any[] = [] // const Positions:any[] = []


return <PositionSearch positions={Positions} abilities={abilities}/>; return <PositionSearch positions={Positions} abilities={abilities}/>;


+ 2
- 2
src/components/ProjectSearch/ProjectSearchWrapper.tsx View File

@@ -2,7 +2,7 @@ import { fetchProjectCategories, fetchProjects } from "@/app/api/projects";
import React from "react"; import React from "react";
import ProjectSearch from "./ProjectSearch"; import ProjectSearch from "./ProjectSearch";
import ProjectSearchLoading from "./ProjectSearchLoading"; import ProjectSearchLoading from "./ProjectSearchLoading";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof ProjectSearchLoading; Loading: typeof ProjectSearchLoading;
@@ -12,7 +12,7 @@ const ProjectSearchWrapper: React.FC & SubComponents = async () => {
const projectCategories = await fetchProjectCategories(); const projectCategories = await fetchProjectCategories();
const projects = await fetchProjects(); const projects = await fetchProjects();


const abilities = await getUserAbilities()
const abilities = await fetchUserAbilities()


return <ProjectSearch projects={projects} projectCategories={projectCategories} abilities={abilities}/>; return <ProjectSearch projects={projects} projectCategories={projectCategories} abilities={abilities}/>;
}; };


+ 2
- 2
src/components/Report/FinancialStatusReportGen/FinancialStatusReportGenWrapper.tsx View File

@@ -3,7 +3,7 @@ import { fetchProjectsFinancialStatus, fetchTeamCombo } from "@/app/api/reporte1
import React from "react"; import React from "react";
import FinancialStatusReportGen from "./FinancialStatusReportGen"; import FinancialStatusReportGen from "./FinancialStatusReportGen";
import FinancialStatusReportGenLoading from "./FinancialStatusReportGenLoading"; import FinancialStatusReportGenLoading from "./FinancialStatusReportGenLoading";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof FinancialStatusReportGenLoading; Loading: typeof FinancialStatusReportGenLoading;
@@ -12,7 +12,7 @@ interface SubComponents {
const FinancialStatusReportGenWrapper: React.FC & SubComponents = async () => { const FinancialStatusReportGenWrapper: React.FC & SubComponents = async () => {
const clentprojects = await fetchProjectsFinancialStatus(); const clentprojects = await fetchProjectsFinancialStatus();


const [teamCombo, userStaff] = await Promise.all([fetchTeamCombo(), getUserStaff()])
const [teamCombo, userStaff] = await Promise.all([fetchTeamCombo(), fetchUserStaff()])


return <FinancialStatusReportGen projects={clentprojects} userStaff={userStaff} teamCombo={!Boolean(userStaff?.isTeamLead) ? teamCombo : teamCombo.filter(team => team.id === userStaff?.teamId)}/>; return <FinancialStatusReportGen projects={clentprojects} userStaff={userStaff} teamCombo={!Boolean(userStaff?.isTeamLead) ? teamCombo : teamCombo.filter(team => team.id === userStaff?.teamId)}/>;
}; };


+ 2
- 2
src/components/Report/LateStartReportGen/LateStartReportGenWrapper.tsx View File

@@ -4,7 +4,7 @@ import LateStartReportGen from "./LateStartReportGen";
import LateStartReportGenLoading from "./LateStartReportGenLoading"; import LateStartReportGenLoading from "./LateStartReportGenLoading";
import { fetchAllCustomers } from "@/app/api/customer"; import { fetchAllCustomers } from "@/app/api/customer";
import { fetchAllSubsidiaries } from "@/app/api/subsidiary"; import { fetchAllSubsidiaries } from "@/app/api/subsidiary";
import { getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserStaff } from "@/app/utils/fetchUtil";
import { fetchTeam } from "@/app/api/team"; import { fetchTeam } from "@/app/api/team";


interface SubComponents { interface SubComponents {
@@ -16,7 +16,7 @@ const LateStartReportGenWrapper: React.FC & SubComponents = async () => {
fetchProjectsLateStart(), fetchProjectsLateStart(),
fetchAllCustomers(), fetchAllCustomers(),
fetchAllSubsidiaries(), fetchAllSubsidiaries(),
getUserStaff(),
fetchUserStaff(),
fetchTeam(), fetchTeam(),
]); ]);




+ 2
- 2
src/components/SalarySearch/SalarySearchWrapper.tsx View File

@@ -3,7 +3,7 @@ import React from "react";
import SalarySearch from "./SalarySearch"; import SalarySearch from "./SalarySearch";
import SalarySearchLoading from "./SalarySearchLoading"; import SalarySearchLoading from "./SalarySearchLoading";
import { fetchSalarys } from "@/app/api/salarys"; import { fetchSalarys } from "@/app/api/salarys";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof SalarySearchLoading; Loading: typeof SalarySearchLoading;
@@ -15,7 +15,7 @@ interface SubComponents {
// } // }


const SalarySearchWrapper: React.FC & SubComponents = async () => { const SalarySearchWrapper: React.FC & SubComponents = async () => {
const [Salarys, abilities] = await Promise.all([fetchSalarys(), getUserAbilities()]);
const [Salarys, abilities] = await Promise.all([fetchSalarys(), fetchUserAbilities()]);
// const Salarys:any[] = [] // const Salarys:any[] = []
const salarysWithHourlyRate = Salarys.map((salary) => { const salarysWithHourlyRate = Salarys.map((salary) => {
// const hourlyRate = calculateHourlyRate(Number(salary.lowerLimit), Number(salary.upperLimit),22, 8) // const hourlyRate = calculateHourlyRate(Number(salary.lowerLimit), Number(salary.upperLimit),22, 8)


+ 2
- 2
src/components/SkillSearch/SkillSearchWrapper.tsx View File

@@ -2,14 +2,14 @@ import React from "react";
import SkillSearch from "./SkillSearch"; import SkillSearch from "./SkillSearch";
import SkillSearchLoading from "./SkillSearchLoading"; import SkillSearchLoading from "./SkillSearchLoading";
import { fetchSkill } from "@/app/api/skill"; import { fetchSkill } from "@/app/api/skill";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof SkillSearchLoading; Loading: typeof SkillSearchLoading;
} }


const SkillSearchWrapper: React.FC & SubComponents = async () => { const SkillSearchWrapper: React.FC & SubComponents = async () => {
const [skill, abilities] = await Promise.all([fetchSkill(), getUserAbilities()])
const [skill, abilities] = await Promise.all([fetchSkill(), fetchUserAbilities()])


return <SkillSearch skill={skill} abilities={abilities}/>; return <SkillSearch skill={skill} abilities={abilities}/>;
}; };


+ 3
- 3
src/components/StaffUtilization/StaffUtilizationWrapper.tsx View File

@@ -1,10 +1,10 @@
import { getUserAbilities, getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserAbilities, fetchUserStaff } from "@/app/utils/fetchUtil";
import StaffUtilization from "./StaffUtilization"; import StaffUtilization from "./StaffUtilization";


const StaffUtilizationWrapper: React.FC = async () => { const StaffUtilizationWrapper: React.FC = async () => {
const [abilities, staff] = await Promise.all([ const [abilities, staff] = await Promise.all([
getUserAbilities(),
getUserStaff(),
fetchUserAbilities(),
fetchUserStaff(),
]); ]);


return ( return (


+ 2
- 2
src/components/SubsidiarySearch/SubsidiarySearchWrapper.tsx View File

@@ -2,14 +2,14 @@ import React from "react";
import SubsidiarySearch from "./SubsidiarySearch"; import SubsidiarySearch from "./SubsidiarySearch";
import SubsidiarySearchLoading from "./SubsidiarySearchLoading"; import SubsidiarySearchLoading from "./SubsidiarySearchLoading";
import { fetchAllSubsidiaries } from "@/app/api/subsidiary"; import { fetchAllSubsidiaries } from "@/app/api/subsidiary";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";


interface SubComponents { interface SubComponents {
Loading: typeof SubsidiarySearchLoading; Loading: typeof SubsidiarySearchLoading;
} }


const SubsidiarySearchWrapper: React.FC & SubComponents = async () => { const SubsidiarySearchWrapper: React.FC & SubComponents = async () => {
const [subsidiaries, abilities] = await Promise.all([fetchAllSubsidiaries(), getUserAbilities()]);
const [subsidiaries, abilities] = await Promise.all([fetchAllSubsidiaries(), fetchUserAbilities()]);


return <SubsidiarySearch subsidiaries={subsidiaries} abilities={abilities} />; return <SubsidiarySearch subsidiaries={subsidiaries} abilities={abilities} />;
}; };


+ 2
- 2
src/components/TeamSearch/TeamSearchWrapper.tsx View File

@@ -3,7 +3,7 @@ import React from "react";
import TeamSearch from "./TeamSearch"; import TeamSearch from "./TeamSearch";
import TeamSearchLoading from "./TeamSearchLoading"; import TeamSearchLoading from "./TeamSearchLoading";
import { fetchTeam } from "@/app/api/team"; import { fetchTeam } from "@/app/api/team";
import { getUserAbilities } from "@/app/utils/commonUtil";
import { fetchUserAbilities } from "@/app/utils/fetchUtil";
// import { preloadTeam } from "@/app/api/Team"; // import { preloadTeam } from "@/app/api/Team";


interface SubComponents { interface SubComponents {
@@ -11,7 +11,7 @@ interface SubComponents {
} }


const TeamSearchWrapper: React.FC & SubComponents = async () => { const TeamSearchWrapper: React.FC & SubComponents = async () => {
const [Team, abilities] = await Promise.all([fetchTeam(), getUserAbilities()]);
const [Team, abilities] = await Promise.all([fetchTeam(), fetchUserAbilities()]);
console.log(Team); console.log(Team);


return <TeamSearch team={Team} abilities={abilities}/>; return <TeamSearch team={Team} abilities={abilities}/>;


+ 3
- 3
src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx View File

@@ -11,7 +11,7 @@ import {
fetchTimesheets, fetchTimesheets,
} from "@/app/api/timesheets"; } from "@/app/api/timesheets";
import { fetchHolidays } from "@/app/api/holidays"; import { fetchHolidays } from "@/app/api/holidays";
import { getUserAbilities, getUserStaff } from "@/app/utils/commonUtil";
import { fetchUserAbilities, fetchUserStaff } from "@/app/utils/fetchUtil";
import { import {
MAINTAIN_TIMESHEET_FAST_TIME_ENTRY, MAINTAIN_TIMESHEET_FAST_TIME_ENTRY,
MAINTAIN_NORMAL_STAFF_WORKSPACE, MAINTAIN_NORMAL_STAFF_WORKSPACE,
@@ -41,8 +41,8 @@ const UserWorkspaceWrapper: React.FC = async () => {
fetchLeaves(), fetchLeaves(),
fetchLeaveTypes(), fetchLeaveTypes(),
fetchHolidays(), fetchHolidays(),
getUserAbilities(),
getUserStaff(),
fetchUserAbilities(),
fetchUserStaff(),
fetchAllTasks(), fetchAllTasks(),
]); ]);




Loading…
Cancel
Save