42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { updateWritingStreak } from './src/lib/streak';
|
|
import { prisma } from './src/lib/prisma';
|
|
|
|
async function main() {
|
|
// 1. Get the first user
|
|
const user = await prisma.user.findFirst();
|
|
if (!user) {
|
|
console.log("No user found.");
|
|
return;
|
|
}
|
|
|
|
console.log(`Original streak for ${user.email}:`, user.writingStreak, "Last write date:", user.lastWriteDate);
|
|
|
|
// 2. Simulate setting lastWriteDate to yesterday
|
|
const yesterday = new Date();
|
|
yesterday.setDate(yesterday.getDate() - 1);
|
|
|
|
await prisma.user.update({
|
|
where: { id: user.id },
|
|
data: {
|
|
lastWriteDate: yesterday,
|
|
writingStreak: 5 // let's pretend it was 5
|
|
}
|
|
});
|
|
|
|
console.log("Updated lastWriteDate to yesterday, streak is 5.");
|
|
|
|
// 3. Call our function to update the streak (as if they wrote today)
|
|
console.log("Calling updateWritingStreak...");
|
|
await updateWritingStreak(user.id);
|
|
|
|
// 4. Verify the new values
|
|
const updatedUser = await prisma.user.findUnique({
|
|
where: { id: user.id },
|
|
select: { writingStreak: true, lastWriteDate: true }
|
|
});
|
|
|
|
console.log(`New streak:`, updatedUser?.writingStreak, "Last write date:", updatedUser?.lastWriteDate);
|
|
}
|
|
|
|
main().catch(console.error);
|