src/app/api/admin/vitrine/sections/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
Route API Next.js
3 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
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
1 export
POST
Code source· typescript
import { NextRequest, NextResponse } from 'next/server'
import { prisma } from '@/lib/prisma/client'
import { getSession } from '@/lib/auth/session'
export async function POST(req: NextRequest) {
try {
const session = await getSession()
if (!session) return NextResponse.json({ error: 'Non autorise' }, { status: 401 })
const tenantId = session.tenantId as string
const body = await req.json()
const section = await prisma.vitrineSection.create({
data: {
tenantId,
pageId: body.pageId ?? null,
type: body.type,
nom: body.nom,
ordre: body.ordre ?? 0,
visible: body.visible ?? true,
config: body.config ?? {},
},
include: { blocs: true }
})
return NextResponse.json({ section })
} catch (e) {
console.error(e)
return NextResponse.json({ error: 'Erreur serveur' }, { status: 500 })
}
}
import { NextRequest, NextResponse } from 'next/server'
import { prisma } from '@/lib/prisma/client'
import { getSession } from '@/lib/auth/session'
export async function POST(req: NextRequest) {
try {
const session = await getSession()
if (!session) return NextResponse.json({ error: 'Non autorise' }, { status: 401 })
const tenantId = session.tenantId as string
const body = await req.json()
const section = await prisma.vitrineSection.create({
data: {
tenantId,
pageId: body.pageId ?? null,
type: body.type,
nom: body.nom,
ordre: body.ordre ?? 0,
visible: body.visible ?? true,
config: body.config ?? {},
},
include: { blocs: true }
})
return NextResponse.json({ section })
} catch (e) {
console.error(e)
return NextResponse.json({ error: 'Erreur serveur' }, { status: 500 })
}
}