edtech / apps /api /src /scripts /reset-user.ts
CognxSafeTrack
fix(scripts): move reset script to apps/api to fix IDE error
d92dbd4
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);