mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
32 lines
921 B
TypeScript
32 lines
921 B
TypeScript
|
|
import db from '$lib/drizzle.js';
|
||
|
|
import { error } from '@sveltejs/kit';
|
||
|
|
import { eq } from 'drizzle-orm';
|
||
|
|
import { users } from '../../../../schema.js';
|
||
|
|
import { createPasswordResetToken } from '$lib/server/auth-utils.js';
|
||
|
|
import { PUBLIC_SITE_URL } from '$env/static/public';
|
||
|
|
|
||
|
|
export async function POST({ locals, request }) {
|
||
|
|
const { email }: { email: string } = await request.json();
|
||
|
|
|
||
|
|
if (!locals.user) {
|
||
|
|
error(401, { message: 'Unauthorized' });
|
||
|
|
}
|
||
|
|
|
||
|
|
const user = await db.query.users.findFirst({
|
||
|
|
where: eq(users.email, email)
|
||
|
|
});
|
||
|
|
|
||
|
|
if (!user) {
|
||
|
|
error(200, { message: 'Email sent! Please check your email for a link to reset your password.' });
|
||
|
|
}
|
||
|
|
|
||
|
|
const verificationToken = await createPasswordResetToken(user.id);
|
||
|
|
const verificationLink = PUBLIC_SITE_URL + verificationToken;
|
||
|
|
|
||
|
|
// TODO: send email
|
||
|
|
console.log('Verification link: ' + verificationLink);
|
||
|
|
|
||
|
|
return new Response(null, {
|
||
|
|
status: 200
|
||
|
|
});
|
||
|
|
}
|