UNPKG

nuxt-authorization

Version:

Authorization module for managing permissions on the Nuxt app and the Nitro server.

24 lines (23 loc) 868 B
import { allows as _allows, denies as _denies, authorize as _authorize, AuthorizationError } from "../../../utils"; import { createError } from "#imports"; export async function allows(event, ability, ...args) { const user = await event.context.$authorization.resolveServerUser(); return _allows(ability, user, ...args); } export async function denies(event, ability, ...args) { const user = await event.context.$authorization.resolveServerUser(); return _denies(ability, user, ...args); } export async function authorize(event, ability, ...args) { try { const user = await event.context.$authorization.resolveServerUser(); await _authorize(ability, user, ...args); } catch (error) { if (error instanceof AuthorizationError) { throw createError({ statusCode: error.statusCode, message: error.message }); } } }