2023-05-21 05:18:04 +00:00
|
|
|
// lib/server/lucia.ts
|
|
|
|
|
import lucia from 'lucia-auth';
|
|
|
|
|
import { sveltekit } from 'lucia-auth/middleware';
|
|
|
|
|
import prisma from '@lucia-auth/adapter-prisma';
|
|
|
|
|
import { PrismaClient } from '@prisma/client';
|
|
|
|
|
import { dev } from '$app/environment';
|
|
|
|
|
|
|
|
|
|
export const auth = lucia({
|
2023-06-16 06:28:49 +00:00
|
|
|
adapter: prisma(new PrismaClient()),
|
2023-05-21 05:18:04 +00:00
|
|
|
env: dev ? 'DEV' : 'PROD',
|
|
|
|
|
middleware: sveltekit(),
|
|
|
|
|
transformDatabaseUser: (userData) => {
|
|
|
|
|
return {
|
2023-06-20 18:54:47 +00:00
|
|
|
id: userData.id,
|
2023-05-21 05:18:04 +00:00
|
|
|
username: userData.username,
|
|
|
|
|
email: userData.email,
|
|
|
|
|
firstName: userData.firstName,
|
|
|
|
|
lastName: userData.lastName,
|
|
|
|
|
verified: userData.verified,
|
|
|
|
|
receiveEmail: userData.receiveEmail,
|
2023-07-03 06:04:33 +00:00
|
|
|
token: userData.token,
|
|
|
|
|
theme: userData.theme
|
2023-05-21 05:18:04 +00:00
|
|
|
};
|
2023-06-16 06:28:49 +00:00
|
|
|
},
|
|
|
|
|
experimental: {
|
|
|
|
|
debugMode: false
|
2023-05-21 05:18:04 +00:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export type Auth = typeof auth;
|