UNPKG

@foal/core

Version:

Full-featured Node.js framework, with no complexity

21 lines (20 loc) 753 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserRequired = UserRequired; const core_1 = require("../../../core"); function UserRequired(options = {}) { function hook(ctx) { if (!ctx.user) { if (options.redirectTo) { return new core_1.HttpResponseRedirect(options.redirectTo); } return new core_1.HttpResponseUnauthorized(); } } const openapi = [ options.redirectTo ? (0, core_1.ApiResponse)(302, { description: 'Unauthenticated request.' }) : (0, core_1.ApiResponse)(401, { description: 'Unauthenticated request.' }) ]; return (0, core_1.Hook)(hook, openapi, { openapi: options.openapi }); }