import { NextRequest, NextResponse } from 'next/server' import { auth } from '@/auth' import prisma from '@/lib/prisma' import { createMobileToken } from '@/lib/mobile-auth' // Appelé après le flux Google OAuth — génère un token mobile et redirige vers l'app native export async function GET(req: NextRequest) { try { const session = await auth() if (!session?.user?.email) { return NextResponse.redirect(`memento://auth?error=unauthorized`) } const user = await prisma.user.findUnique({ where: { email: session.user.email }, select: { id: true, name: true, email: true, subscription: { select: { tier: true } } }, }) if (!user) { return NextResponse.redirect(`memento://auth?error=not_found`) } const token = createMobileToken(user.id) const params = new URLSearchParams({ token, id: user.id, name: user.name ?? '', email: user.email ?? '', tier: user.subscription?.tier ?? 'FREE', }) return NextResponse.redirect(`memento://auth?${params.toString()}`) } catch (e) { console.error('[mobile/auth/google-callback]', e) return NextResponse.redirect(`memento://auth?error=server_error`) } }