1
0

refactor: type auth preHandlers and mirror clearCookie options

This commit is contained in:
2026-08-29 15:31:36 +02:00
parent ad8b7cb22a
commit 1c52281feb

View File

@@ -1,4 +1,4 @@
import { FastifyInstance } from 'fastify'
import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify'
import {
hashPassword,
verifyPassword,
@@ -45,7 +45,7 @@ export function cookieOpts() {
}
}
export async function requireAuth(request: any, reply: any): Promise<void> {
export async function requireAuth(request: FastifyRequest, reply: FastifyReply): Promise<void> {
const token = request.cookies[COOKIE_NAME]
if (token) {
const user = getUserBySession(request.server.db, token)
@@ -57,7 +57,7 @@ export async function requireAuth(request: any, reply: any): Promise<void> {
await reply.code(401).send({ error: 'unauthorized' })
}
export async function requireAdmin(request: any, reply: any): Promise<void> {
export async function requireAdmin(request: FastifyRequest, reply: FastifyReply): Promise<void> {
if (!request.user || request.user.is_admin !== 1) {
await reply.code(403).send({ error: 'forbidden' })
}
@@ -100,7 +100,7 @@ export async function registerAuthRoutes(app: FastifyInstance): Promise<void> {
app.post('/api/logout', async (request, reply) => {
const token = request.cookies[COOKIE_NAME]
if (token) deleteSession(request.server.db, token)
return reply.clearCookie(COOKIE_NAME, { path: '/' }).code(200).send({ ok: true })
return reply.clearCookie(COOKIE_NAME, cookieOpts()).code(200).send({ ok: true })
})
app.get('/api/me', { preHandler: [requireAuth] }, async (request) => {