39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { prisma, disconnectPrisma } from '../src/lib/prisma.js';
|
|||
|
|
import {
|
||
|
|
backfillAssignmentsForCompletedSessions,
|
||
|
|
seedAssignmentDefinitions,
|
||
|
|
} from '../src/modules/assignments/assignments.service.js';
|
||
|
|
|
||
|
|
async function main() {
|
||
|
|
await seedAssignmentDefinitions();
|
||
|
|
const users = await prisma.user.findMany({ select: { id: true } });
|
||
|
|
let total = 0;
|
||
|
|
for (const u of users) {
|
||
|
|
total += await backfillAssignmentsForCompletedSessions(u.id);
|
||
|
|
}
|
||
|
|
console.log('backfilled rows created', total);
|
||
|
|
console.log('userAssignments', await prisma.userAssignment.count());
|
||
|
|
|
||
|
|
const sample = await prisma.userAssignment.findMany({
|
||
|
|
take: 10,
|
||
|
|
include: { definition: { select: { key: true, sessionOrder: true } }, user: { include: { identities: true } } },
|
||
|
|
});
|
||
|
|
console.log(
|
||
|
|
sample.map((a) => ({
|
||
|
|
email: a.user.identities[0]?.email,
|
||
|
|
key: a.definition.key,
|
||
|
|
session: a.definition.sessionOrder,
|
||
|
|
status: a.status,
|
||
|
|
})),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
main()
|
||
|
|
.catch((e) => {
|
||
|
|
console.error(e);
|
||
|
|
process.exitCode = 1;
|
||
|
|
})
|
||
|
|
.finally(async () => {
|
||
|
|
await disconnectPrisma();
|
||
|
|
});
|