19 lines
571 B
TypeScript
19 lines
571 B
TypeScript
import { createError, type H3Event } from 'h3'
|
|
|
|
import type { AuthContext } from '../types/auth'
|
|
|
|
/**
|
|
* Garante que o middleware de autenticação já preencheu `event.context.auth`.
|
|
*
|
|
* @param event Evento HTTP atual.
|
|
* @returns Contexto autenticado com ID do usuário e token.
|
|
* @throws {H3Error} Quando a requisição não estiver autenticada.
|
|
*/
|
|
export function requireAuthContext(event: H3Event): AuthContext {
|
|
if (!event.context.auth) {
|
|
throw createError({ statusCode: 401, statusMessage: 'Authentication required' })
|
|
}
|
|
|
|
return event.context.auth
|
|
}
|