Notre avis
Génère des routes API Next.js avec Prisma et Neon PostgreSQL pour l'application Seri, incluant l'authentification JWT et la gestion des synchronisations hors ligne.
Points forts
- Automatise la création de routes API CRUD avec Prisma
- Intègre l'authentification JWT pour sécuriser les endpoints
- Gère les charges utiles de synchronisation hors ligne
- Utilise Neon PostgreSQL pour une base de données scalable
Limites
- Spécifique à l'application Seri, nécessite une adaptation pour d'autres projets
- Ne gère pas la mise à jour ou suppression des routes existantes
- Suppose une configuration Prisma et Neon déjà en place
Lorsque vous devez créer rapidement des endpoints API REST pour une application Next.js utilisant Prisma et Neon.
Pour des projets n'utilisant pas Next.js, Prisma ou Neon, ou lorsque l'authentification JWT n'est pas requise.
Analyse de sécurité
SûrThe skill provides code templates for Next.js API routes with JWT authentication and Prisma. There are no destructive commands, exfiltration attempts, or obfuscated payloads. The code follows standard practices and relies on environment variables for secrets.
Aucun point d'attention détecté
Exemples
Create a new API resource for products with CRUD endpoints using Prisma and JWT auth.Add a sync endpoint for offline queue payloads with authentication.Create a login endpoint that verifies PIN and returns a JWT token./seri-api - API Endpoint Generator
Generate Next.js API routes with Neon PostgreSQL and Prisma for Seri.
Instructions
- Create Next.js Route Handlers in
src/app/api/ - Use Prisma with Neon adapter for database operations
- Add JWT authentication middleware
- Handle sync payloads from offline queue
- Return proper JSON responses
API Route Template
// src/app/api/{resource}/route.ts
import { NextRequest, NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
import { verifyAuth } from '@/lib/auth';
export async function GET(request: NextRequest) {
const user = await verifyAuth(request);
if (!user) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
const data = await prisma.resource.findMany();
return NextResponse.json(data);
}
export async function POST(request: NextRequest) {
const user = await verifyAuth(request);
if (!user) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
const body = await request.json();
const result = await prisma.resource.create({ data: body });
return NextResponse.json(result, { status: 201 });
}
Auth Helper
// src/lib/auth.ts
import { NextRequest } from 'next/server';
import { jwtVerify } from 'jose';
export async function verifyAuth(request: NextRequest) {
const token = request.headers.get('authorization')?.replace('Bearer ', '');
if (!token) return null;
try {
const secret = new TextEncoder().encode(process.env.JWT_SECRET);
const { payload } = await jwtVerify(token, secret);
return payload;
} catch {
return null;
}
}
Endpoints to Create
POST /api/auth/login- Verify PIN, return JWTPOST /api/sync- Handle sync queue itemsGET/POST /api/products- Product CRUDGET/POST /api/sales- SalesGET/POST /api/expenses- Expenses (OWNER only)GET/POST /api/stock-movements- Stock adjustments
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.