| import { PrismaClient } from '@repo/database'; | |
| const prisma = new PrismaClient(); | |
| async function main() { | |
| const userId = 'acfe7f9c-d8df-4d0d-9eb2-47ef9c716b63'; | |
| console.log(`[CLEANUP] Resetting progress for User ${userId}`); | |
| // Find the enrollment to get the current day | |
| const enrollment = await prisma.enrollment.findFirst({ | |
| where: { userId, status: 'ACTIVE' }, | |
| include: { track: true } | |
| }); | |
| if (enrollment) { | |
| console.log(`[CLEANUP] Found active enrollment: ${enrollment.trackId} (Day ${enrollment.currentDay})`); | |
| } | |
| const progress = await prisma.userProgress.findFirst({ | |
| where: { userId } | |
| }); | |
| if (progress) { | |
| await prisma.userProgress.update({ | |
| where: { id: progress.id }, | |
| data: { | |
| exerciseStatus: 'PENDING', | |
| } | |
| }); | |
| console.log(`[CLEANUP] ✅ UserProgress reset to PENDING.`); | |
| } else { | |
| console.log(`[CLEANUP] ⚠️ No progress found for user.`); | |
| } | |
| // Optional: Delete latest response for the current day | |
| if (enrollment) { | |
| const deleted = await prisma.response.deleteMany({ | |
| where: { | |
| userId, | |
| enrollmentId: enrollment.id, | |
| dayNumber: enrollment.currentDay | |
| } | |
| }); | |
| console.log(`[CLEANUP] 🗑️ Deleted ${deleted.count} existing response(s) for Day ${enrollment.currentDay}.`); | |
| } | |
| await prisma.$disconnect(); | |
| console.log(`[CLEANUP] Done. Ready for re-test.`); | |
| } | |
| main().catch(console.error); | |