(request: Request)
| 24 | } |
| 25 | |
| 26 | export async function getUserId(request: Request) { |
| 27 | const authSession = await authSessionStorage.getSession( |
| 28 | request.headers.get('cookie'), |
| 29 | ) |
| 30 | const sessionId = authSession.get(sessionKey) |
| 31 | if (!sessionId) return null |
| 32 | const session = await prisma.session.findUnique({ |
| 33 | select: { user: { select: { id: true } } }, |
| 34 | where: { id: sessionId, expirationDate: { gt: new Date() } }, |
| 35 | }) |
| 36 | if (!session?.user) { |
| 37 | throw redirect('/', { |
| 38 | headers: { |
| 39 | 'set-cookie': await authSessionStorage.destroySession(authSession), |
| 40 | }, |
| 41 | }) |
| 42 | } |
| 43 | return session.user.id |
| 44 | } |
| 45 | |
| 46 | export async function requireUserId( |
| 47 | request: Request, |
no outgoing calls
no test coverage detected