Files
discord-clone/server/middleware/auth.ts
2023-04-20 21:19:22 -05:00

24 lines
520 B
TypeScript
Executable File

import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
export default defineEventHandler(async (event) => {
const cookies = parseCookies(event);
if (!cookies.sessionToken) {
event.context.user = { authenticated: false };
return;
}
const session = await prisma.session.findFirst({
where: {
token: cookies.sessionToken
}
});
if (!session) {
event.context.user = { authenticated: false };
return;
}
event.context.user = { authenticated: true, id: session.userId };
});