File size: 1,578 Bytes
d92dbd4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 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);
|