lynx-framework
Version:
lynx is a NodeJS framework for Web Development, based on decorators and the async/await support.
41 lines (39 loc) • 2 kB
JavaScript
;
/**
* This module contains a set of standard verifiers to ensure user authentication
* and authorization.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isStaffOrGreater = exports.notAuthUser = exports.authUser = void 0;
var role_entity_1 = require("./entities/role.entity");
/**
* Verify that the user is authenticated.
*/
function authUser(req, _) {
if (!req.user || req.user === undefined) {
return false;
}
return true;
}
exports.authUser = authUser;
/**
* Verify that the user is NOT authenticated.
*/
function notAuthUser(req, res) {
return !authUser(req, res);
}
exports.notAuthUser = notAuthUser;
/**
* Verify that the user is logged and that is at least a Staff member.
*/
function isStaffOrGreater(req, res) {
if (!authUser(req, res)) {
return false;
}
if (req.user.level >= role_entity_1.default.STAFF_LEVEL) {
return true;
}
return false;
}
exports.isStaffOrGreater = isStaffOrGreater;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2x5bngvdmVyaWZpZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQUdILHNEQUEwQztBQUcxQzs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFZLEVBQUUsQ0FBbUI7SUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDckMsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBTEQsNEJBS0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxHQUFZLEVBQUUsR0FBcUI7SUFDM0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUZELGtDQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxHQUFZLEVBQUUsR0FBcUI7SUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLHFCQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBUkQsNENBUUMiLCJmaWxlIjoidmVyaWZpZXJzLmpzIiwic291cmNlUm9vdCI6IiJ9