Files
edueasy/app/api/debug/reset/route.ts
T
renato97 07929b6c60 feat: fase 4 — overhaul, docker, seguridad, métodos europeos
- 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
2026-07-25 22:34:05 -03:00

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 })
}
}