-
-
Notifications
You must be signed in to change notification settings - Fork 45
/
lucia.ts
34 lines (30 loc) · 802 Bytes
/
lucia.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { DrizzlePostgreSQLAdapter } from '@lucia-auth/adapter-drizzle'
import { Lucia } from 'lucia'
import { db } from '@orbitkit/db'
import { sessionTable, userTable } from '@orbitkit/db/schema'
import { env } from '@orbitkit/env/web/server'
const adapter = new DrizzlePostgreSQLAdapter(db, sessionTable, userTable)
export const lucia = new Lucia(adapter, {
sessionCookie: {
attributes: {
secure: env.NODE_ENV === 'production',
},
},
getUserAttributes: (attributes) => {
return {
name: attributes.name,
email: attributes.email,
avatarUrl: attributes.avatarUrl,
}
},
})
declare module 'lucia' {
interface Register {
Lucia: typeof lucia
DatabaseUserAttributes: {
name?: string
email: string
avatarUrl?: string
}
}
}