mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
19 lines
No EOL
615 B
TypeScript
19 lines
No EOL
615 B
TypeScript
import db from "$lib/drizzle";
|
|
import { eq } from "drizzle-orm";
|
|
import { password_reset_tokens } from "../../schema";
|
|
import { generateId } from "lucia";
|
|
import { TimeSpan, createDate } from "oslo";
|
|
|
|
export async function createPasswordResetToken(userId: string): Promise<string> {
|
|
// optionally invalidate all existing tokens
|
|
await db.delete(password_reset_tokens).where(eq(password_reset_tokens.user_id, userId));
|
|
const tokenId = generateId(40);
|
|
await db
|
|
.insert(password_reset_tokens)
|
|
.values({
|
|
id: tokenId,
|
|
user_id: userId,
|
|
expires_at: createDate(new TimeSpan(2, "h"))
|
|
});
|
|
return tokenId;
|
|
} |