- Eliminada ruta duplicada /sebastian/sumas (código muerto) - Removido topic 'sumas' del engine (reemplazado por 'matematicas') - Creado docker-compose.yml (PostgreSQL + app, 1 comando install) - Dockerfile: copiado prisma CLI al runner stage para db push - APIs debug protegidas: 403 en producción (reset, state, seed) - Audit métodos europeos: 24 archivos corregidos al 100% - Montessori: matemática Francesca + Sebastián - Decroly: lectura, ortografía, historia, geografía, banderas - Borel-Maisonny: lectura inicial Isabella (ya existía) - Freinet: expresión escrita Sebastián (ya existía) - Validación prerequisitos: 0 rotos en contenido nuevo (157 ejercicios) - INSTALL.md: guía completa de instalación - fase4.md: documentación del overhaul - E2E: 2 tests corregidos, 61/61 pasan - TypeScript: exit 0, Build: exit 0
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
import { NextRequest, NextResponse } from "next/server"
|
|
import { prisma } from "@/lib/db"
|
|
|
|
export async function POST(request: NextRequest) {
|
|
if (process.env.NODE_ENV === "production") {
|
|
return NextResponse.json({ error: "Not available in production" }, { status: 403 })
|
|
}
|
|
try {
|
|
const { childId } = await request.json()
|
|
if (!childId) {
|
|
return NextResponse.json({ error: "childId required" }, { status: 400 })
|
|
}
|
|
|
|
// Delete in dependency order
|
|
await prisma.skillAttempt.deleteMany({
|
|
where: { sessionLog: { childId } },
|
|
})
|
|
await prisma.sessionLog.deleteMany({ where: { childId } })
|
|
await prisma.fsrsCard.deleteMany({ where: { childId } })
|
|
await prisma.curriculumProgress.deleteMany({ where: { childId } })
|
|
await prisma.milestone.deleteMany({ where: { childId } })
|
|
|
|
return NextResponse.json({ success: true, message: `Reset state for child ${childId}` })
|
|
} catch (error) {
|
|
console.error("Debug reset error:", error)
|
|
return NextResponse.json({ error: "Internal error" }, { status: 500 })
|
|
}
|
|
}
|