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