src/app/api/auth/client/session/route.ts
Annotation non disponible
Lance npm run annotate (nécessite ANTHROPIC_API_KEY dans .env.local) pour générer une annotation française par Claude Haiku 4.5.
Concepts détectés — comprends la théorie
ORM Prisma
2 occurrencesCe fichier accède à la base de données via Prisma. Prisma est l'ORM utilisé côté backend pour les requêtes typées sur PostgreSQL.
Voir l'article général
Route API Next.js
2 occurrencesCe fichier est une route API Next.js (App Router). Voir le contrat API complet pour les conventions de réponse et d'auth.
Voir l'article général
1 export
GET
Code source· typescript
import { NextResponse } from 'next/server'
import { getSession } from '@/lib/auth/session'
import { prisma } from '@/lib/prisma/client'
export async function GET() {
try {
const session = await getSession()
if (!session || session.role !== 'CLIENT') {
return NextResponse.json({ connected: false })
}
const client = await prisma.clientAccount.findUnique({
where: { id: session.userId },
select: { prenom: true, name: true }
})
if (!client) return NextResponse.json({ connected: false })
return NextResponse.json({
connected: true,
prenom: client.prenom || client.name || 'Mon compte'
})
} catch (e) {
return NextResponse.json({ connected: false })
}
}
import { NextResponse } from 'next/server'
import { getSession } from '@/lib/auth/session'
import { prisma } from '@/lib/prisma/client'
export async function GET() {
try {
const session = await getSession()
if (!session || session.role !== 'CLIENT') {
return NextResponse.json({ connected: false })
}
const client = await prisma.clientAccount.findUnique({
where: { id: session.userId },
select: { prenom: true, name: true }
})
if (!client) return NextResponse.json({ connected: false })
return NextResponse.json({
connected: true,
prenom: client.prenom || client.name || 'Mon compte'
})
} catch (e) {
return NextResponse.json({ connected: false })
}
}