Merge dev

This commit is contained in:
NeilClack
2026-07-17 11:06:32 -05:00
147 changed files with 37626 additions and 20067 deletions
+54 -24
View File
@@ -1,26 +1,56 @@
import { betterAuth } from "better-auth";
import { prismaAdapter } from "better-auth/adapters/prisma";
import { prisma } from "$lib/db";
import { sveltekitCookies } from "better-auth/svelte-kit";
import { getRequestEvent } from "$app/server";
import { env } from "$env/dynamic/private";
import { betterAuth } from 'better-auth';
import { prismaAdapter } from 'better-auth/adapters/prisma';
import { prisma } from '$lib/db';
import { sveltekitCookies } from 'better-auth/svelte-kit';
import { getRequestEvent } from '$app/server';
import { sendMail } from './server/resend';
import { sendVerificationEmail } from './server/email-verification';
import { env } from '$env/dynamic/private';
export const auth = betterAuth({
baseURL: env.BETTER_AUTH_URL,
database: prismaAdapter(prisma, {
provider: "postgresql",
}),
secret: env.BETTER_AUTH_SECRET,
emailAndPassword: {
enabled: true,
},
socialProviders: {
google: {
prompt: "select_account",
clientId: env.GOOGLE_CLIENT_ID as string,
clientSecret: env.GOOGLE_CLIENT_SECRET,
}
},
plugins: [sveltekitCookies(getRequestEvent)],
})
baseURL: env.BETTER_AUTH_URL,
database: prismaAdapter(prisma, {
provider: 'postgresql'
}),
emailVerification: {
sendOnSignUp: true,
sendVerificationEmail: async ({ user, token }) => {
void sendVerificationEmail({
email: user.email,
token
}).catch((e) => {
console.error('sendVerificationEmail template email failed:', e);
});
}
},
emailAndPassword: {
enabled: true,
requireEmailVerification: true,
sendResetPassword: async ({ user, url }) => {
void sendMail({
to: user.email,
templateId: 'password-reset-email',
data: {
target_email_address: user.email,
reset_link: url
}
}).catch((e) => {
console.error('sendResetPassword template email failed:', e);
});
}
},
socialProviders: {
google: {
prompt: 'select_account',
clientId: env.GOOGLE_CLIENT_ID as string,
clientSecret: env.GOOGLE_CLIENT_SECRET as string
}
},
rateLimit: {
enabled: true,
window: 60,
max: 100
},
trustedOrigins: ['http://localhost:5173', 'https://portal.rhemawavetech.com'],
plugins: [sveltekitCookies(getRequestEvent)]
});