3 Commits

Autor SHA1 Nachricht Datum
  MSI\2Fi 653e458792 Session provider vor 2 Monaten
  MSI\2Fi af4145e426 Merge branch 'master' of https://git.2fi-solutions.com/derek/FPSMS-frontend vor 2 Monaten
  MSI\2Fi b13b6d783b seesion provider vor 2 Monaten
4 geänderte Dateien mit 24 neuen und 4 gelöschten Zeilen
  1. +7
    -1
      src/app/(main)/layout.tsx
  2. +5
    -0
      src/components/PoSearch/PoSearch.tsx
  3. +8
    -0
      src/components/SessionProviderWrapper/SessionProviderWrapper.tsx
  4. +4
    -3
      src/config/authConfig.ts

+ 7
- 1
src/app/(main)/layout.tsx Datei anzeigen

@@ -10,6 +10,7 @@ import { AxiosProvider } from "@/app/(main)/axios/AxiosProvider";
import { SetupAxiosInterceptors } from "@/app/(main)/axios/axiosInstance";
import { CameraProvider } from "@/components/Cameras/CameraProvider";
import { UploadProvider } from "@/components/UploadProvider/UploadProvider";
import SessionProviderWrapper from "@/components/SessionProviderWrapper/SessionProviderWrapper";
import QrCodeScannerProvider from "@/components/QrCodeScannerProvider/QrCodeScannerProvider";

export default async function MainLayout({
@@ -23,11 +24,15 @@ export default async function MainLayout({
redirect("/login");
}

// console.log(session?.user);

// Verify if the session is valid
if (session) {
SetupAxiosInterceptors(session.accessToken);
}

return (
<SessionProviderWrapper session={session}>
<UploadProvider>
<CameraProvider>
<AxiosProvider>
@@ -53,6 +58,7 @@ export default async function MainLayout({
</QrCodeScannerProvider>
</AxiosProvider>
</CameraProvider>
</UploadProvider>
</UploadProvider>
</SessionProviderWrapper>
);
}

+ 5
- 0
src/components/PoSearch/PoSearch.tsx Datei anzeigen

@@ -11,6 +11,7 @@ import { Button, Grid, Tab, Tabs, TabsProps, Typography } from "@mui/material";
import QrModal from "../PoDetail/QrModal";
import { WarehouseResult } from "@/app/api/warehouse";
import NotificationIcon from '@mui/icons-material/NotificationImportant';
import { useSession } from "next-auth/react";

type Props = {
po: PoResult[];
@@ -32,6 +33,10 @@ const PoSearch: React.FC<Props> = ({ po, warehouse }) => {
return searchCriteria;
}, [t, po]);

const {data: session} = useSession();

console.log(session);

const onDetailClick = useCallback(
(po: PoResult) => {
router.push(`/po/edit?id=${po.id}`);


+ 8
- 0
src/components/SessionProviderWrapper/SessionProviderWrapper.tsx Datei anzeigen

@@ -0,0 +1,8 @@
"use client";

import { SessionProvider } from "next-auth/react";
import { ReactNode } from "react";

export default function SessionProviderWrapper({ children, session }: { children: ReactNode, session?: any }) {
return <SessionProvider session={session}>{children}</SessionProvider>;
}

+ 4
- 3
src/config/authConfig.ts Datei anzeigen

@@ -5,7 +5,8 @@ import { LOGIN_API_PATH } from "./api";
export interface SessionWithTokens extends Session {
accessToken: string | null;
refreshToken?: string;
abilities: string[]
abilities: string[];
id?: string | null
}


@@ -27,6 +28,7 @@ export const authOptions: AuthOptions = {
});

const user = await res.json();

if (res.ok && user) {
return user;
@@ -43,18 +45,17 @@ export const authOptions: AuthOptions = {
// Add the data from user to the token
const { token, user } = params;
const newToken = { ...token, ...user };

return newToken;
},
session({ session, token }) {
const sessionWithToken: SessionWithTokens = {
...session,
// Add the data from the token to the session
id: token.id as string | undefined,
accessToken: token.accessToken as string | null,
refreshToken: token.refreshToken as string | undefined,
abilities: token.abilities as string[]
};

return sessionWithToken;
},
},


Laden…
Abbrechen
Speichern