stuck with a project
Unanswered
Southeastern blueberry bee posted this in #help-forum
Southeastern blueberry beeOP
I can’t recover session with getSession while I get it with useSession client side
so here I am I have a function to retrieve the user id via the session to add to a table relationship.
here is the code
import User from '@/app/models/user.model';
import connectDB from '@/lib/mongodb';
import { NextResponse, NextRequest } from "next/server";
import { getSession } from 'next-auth/react';
export async function RecupUserId(req: NextRequest): Promise<string | undefined> {
await connectDB();
const session = await getSession();
if (!session) {
// Si la session n'est pas disponible, renvoyez undefined ou gestion d'erreur appropriée
return undefined;
}
const userEmail = session?.user?.email || '';
console.log('session', session)
if (!userEmail) {
// Gérer le cas où l'email n'est pas disponible dans la session
return undefined;
}
try {
// Rechercher l'utilisateur dans la base de données en fonction de l'email
const userFromDB = await User.findOne({ email: userEmail });
if (userFromDB) {
// L'utilisateur a été trouvé dans la base de données
const user = userFromDB._id.toString();
console.log("User ID from database:", user);
return user;
} else {
// L'utilisateur n'a pas été trouvé dans la base de données
console.log("User not found in the database");
NextResponse.json({ message: 'User not found in the database' }, { status: 404 });
}
} catch (error) {
console.error("Error in RecupUserId:", error);
NextResponse.json({ message: 'An error occurred in RecupUserId' }, { status: 500 });
}
}
so here I am I have a function to retrieve the user id via the session to add to a table relationship.
here is the code
import User from '@/app/models/user.model';
import connectDB from '@/lib/mongodb';
import { NextResponse, NextRequest } from "next/server";
import { getSession } from 'next-auth/react';
export async function RecupUserId(req: NextRequest): Promise<string | undefined> {
await connectDB();
const session = await getSession();
if (!session) {
// Si la session n'est pas disponible, renvoyez undefined ou gestion d'erreur appropriée
return undefined;
}
const userEmail = session?.user?.email || '';
console.log('session', session)
if (!userEmail) {
// Gérer le cas où l'email n'est pas disponible dans la session
return undefined;
}
try {
// Rechercher l'utilisateur dans la base de données en fonction de l'email
const userFromDB = await User.findOne({ email: userEmail });
if (userFromDB) {
// L'utilisateur a été trouvé dans la base de données
const user = userFromDB._id.toString();
console.log("User ID from database:", user);
return user;
} else {
// L'utilisateur n'a pas été trouvé dans la base de données
console.log("User not found in the database");
NextResponse.json({ message: 'User not found in the database' }, { status: 404 });
}
} catch (error) {
console.error("Error in RecupUserId:", error);
NextResponse.json({ message: 'An error occurred in RecupUserId' }, { status: 500 });
}
}