boredgame/src/lib/server/api/middleware/require-auth.middleware.ts

17 lines
542 B
TypeScript
Raw Normal View History

import { Unauthorized } from '$lib/server/api/common/exceptions';
import type { Sessions } from '$lib/server/api/databases/postgres/tables';
import type { MiddlewareHandler } from 'hono';
import { createMiddleware } from 'hono/factory';
import type { User } from 'lucia';
2024-09-04 23:04:41 +00:00
export const requireAuth: MiddlewareHandler<{
Variables: {
session: Sessions;
user: User;
};
2024-09-04 23:04:41 +00:00
}> = createMiddleware(async (c, next) => {
const user = c.var.user;
if (!user) throw Unauthorized('You must be logged in to access this resource');
return next();
});