Quellcode durchsuchen

Add validate when re-fetch

tags/Baseline_30082024_FRONTEND_UAT
MSI\2Fi vor 1 Jahr
Ursprung
Commit
05ebc926dd
7 geänderte Dateien mit 28 neuen und 9 gelöschten Zeilen
  1. +1
    -1
      src/app/(main)/settings/company/edit/page.tsx
  2. +7
    -1
      src/app/api/companys/actions.ts
  3. +1
    -1
      src/app/api/companys/index.ts
  4. +6
    -1
      src/app/api/departments/actions.ts
  5. +10
    -2
      src/app/api/positions/actions.ts
  6. +1
    -1
      src/components/CreateCompany/CompanyDetails.tsx
  7. +2
    -2
      src/components/CreateCompany/CreateCompanyWrapper.tsx

+ 1
- 1
src/app/(main)/settings/company/edit/page.tsx Datei anzeigen

@@ -18,7 +18,7 @@ const Companys: React.FC<Props> = async ({searchParams}) => {

return(
<>
<Typography variant="h4">{t("Create Company")}</Typography>
<Typography variant="h4">{t("Edit Company")}</Typography>
<I18nProvider namespaces={["companys"]}>
<CreateCompany isEdit={true} companyId={companyId} />
</I18nProvider>


+ 7
- 1
src/app/api/companys/actions.ts Datei anzeigen

@@ -3,6 +3,7 @@
import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
import { Dayjs } from "dayjs";
import { revalidateTag } from "next/cache";
import { cache } from "react";

export interface comboProp {
@@ -49,17 +50,21 @@ export interface EditCompanyInputs {
}

export const saveCompany = async (data: CreateCompanyInputs) => {
return serverFetchJson(`${BASE_API_URL}/companys/new`, {
const newCompany = serverFetchJson(`${BASE_API_URL}/companys/new`, {
method: "POST",
body: JSON.stringify(data),
headers: { "Content-Type": "application/json" },
});

revalidateTag("companys");
return newCompany
};

export const fetchCompanyCombo = cache(async () => {
return serverFetchJson<combo>(`${BASE_API_URL}/companys/combo`, {
next: { tags: ["company"] },
});

});

export const deleteCompany = async (id: number) => {
@@ -71,5 +76,6 @@ export const deleteCompany = async (id: number) => {
},
);

revalidateTag("companys");
return department
};

+ 1
- 1
src/app/api/companys/index.ts Datei anzeigen

@@ -28,7 +28,7 @@ export const fetchCompanyDetails = cache(async (companyId: string) => {
return serverFetchJson<EditCompanyInputs>(
`${BASE_API_URL}/companys/companyDetails/${companyId}`,
{
next: { tags: [`departmentDetail${companyId}`] },
next: { tags: [`departmentDetail`] },
},
);
});

+ 6
- 1
src/app/api/departments/actions.ts Datei anzeigen

@@ -2,6 +2,7 @@

import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
import { revalidateTag } from "next/cache";
import { cache } from "react";


@@ -21,11 +22,14 @@ export interface CreateDepartmentInputs {
}

export const saveDepartment = async (data: CreateDepartmentInputs) => {
return serverFetchJson(`${BASE_API_URL}/departments/new`, {
const newDepartment = serverFetchJson(`${BASE_API_URL}/departments/new`, {
method: "POST",
body: JSON.stringify(data),
headers: { "Content-Type": "application/json" },
});

revalidateTag("departments")
return newDepartment
};

export const deleteDepartment = async (id: number) => {
@@ -37,6 +41,7 @@ export const deleteDepartment = async (id: number) => {
},
);

revalidateTag("departments")
return department
};



+ 10
- 2
src/app/api/positions/actions.ts Datei anzeigen

@@ -4,6 +4,7 @@ import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil
import { BASE_API_URL } from "@/config/api";
import { cache } from "react";
import { PositionResult } from ".";
import { revalidateTag } from "next/cache";

export interface comboProp {
id: any;
@@ -30,19 +31,25 @@ export interface EditPositionInputs {
}

export const savePosition = async (data: CreatePositionInputs) => {
return serverFetchJson(`${BASE_API_URL}/positions/new`, {
const newPosition = serverFetchJson(`${BASE_API_URL}/positions/new`, {
method: "POST",
body: JSON.stringify(data),
headers: { "Content-Type": "application/json" },
});

revalidateTag("positions")
return newPosition
};

export const editPosition = async (data: EditPositionInputs) => {
return serverFetchJson(`${BASE_API_URL}/positions/new`, {
const editPostion = serverFetchJson(`${BASE_API_URL}/positions/new`, {
method: "POST",
body: JSON.stringify(data),
headers: { "Content-Type": "application/json" },
});

revalidateTag("positions")
return editPostion
};

export const deletePosition = async (id: number) => {
@@ -54,6 +61,7 @@ export const deletePosition = async (id: number) => {
},
);

revalidateTag("positions")
return position
};



+ 1
- 1
src/components/CreateCompany/CompanyDetails.tsx Datei anzeigen

@@ -44,7 +44,7 @@ const CompanyDetails: React.FC<Props> = ({
getValues,
} = useFormContext<CreateCompanyInputs>();

console.log(content)
// console.log(content)

useEffect(() => {
setValue("normalHourFrom", convertTimeArrayToString(content.normalHourFrom, "HH:mm:ss", false));


+ 2
- 2
src/components/CreateCompany/CreateCompanyWrapper.tsx Datei anzeigen

@@ -11,8 +11,8 @@ type Props = CreateCompanyProps | EditCompanyProps;

const CreateCompanyWrapper: React.FC<Props> = async (props) => {

console.log(props)
// console.log(props)
const companyDetails = props.isEdit
? await fetchCompanyDetails(props.companyId!)
: undefined;


Laden…
Abbrechen
Speichern