import { PrismaClient } from '@repo/db'; import { NextRequest, NextResponse } from 'next/server'; import { sign } from 'jsonwebtoken'; export const GET = async (req: NextRequest) => { const client = new PrismaClient(); const accessToken = req.nextUrl.searchParams.get('token'); if (!accessToken) return new Response('No access token provided', { status: 400 }); const accessRequest = await client.oAuthToken.findFirst({ where: { accessToken: accessToken, }, include: { user: true, }, }); if (!accessRequest) return new Response('Access token not found', { status: 404 }); const jwt = sign(accessRequest.user, process.env.NEXTAUTH_SECRET as string, { expiresIn: '30d', }); return Response.json({ user: accessRequest.user, jwt, }); };