🪻 distributed transcription service
thistle.dunkirk.sh
1#!/usr/bin/env bun
2
3import db from "../src/db/schema";
4
5const email = process.argv[2];
6
7if (!email) {
8 console.error("Usage: bun scripts/remove-from-classes.ts <email>");
9 console.error(" Removes a user from all their enrolled classes");
10 process.exit(1);
11}
12
13const user = db
14 .query<{ id: number; email: string }, [string]>(
15 "SELECT id, email FROM users WHERE email = ?",
16 )
17 .get(email);
18
19if (!user) {
20 console.error(`User with email ${email} not found`);
21 process.exit(1);
22}
23
24// Get current enrollments
25const enrollments = db
26 .query<{ class_id: string }, [number]>(
27 "SELECT class_id FROM class_members WHERE user_id = ?",
28 )
29 .all(user.id);
30
31if (enrollments.length === 0) {
32 console.log(`User ${email} is not enrolled in any classes`);
33 process.exit(0);
34}
35
36// Remove from all classes
37db.run("DELETE FROM class_members WHERE user_id = ?", [user.id]);
38
39console.log(`✅ Successfully removed ${email} from ${enrollments.length} class(es)`);