UNPKG

@coko/server

Version:

Reusable server for use by Coko's projects

28 lines 1.99 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isAdmin = exports.isAuthenticated = exports.race = exports.not = exports.or = exports.chain = exports.and = exports.deny = exports.allow = exports.inputRule = exports.rule = void 0; const graphql_shield_1 = require("@coko/graphql-shield"); Object.defineProperty(exports, "rule", { enumerable: true, get: function () { return graphql_shield_1.rule; } }); Object.defineProperty(exports, "inputRule", { enumerable: true, get: function () { return graphql_shield_1.inputRule; } }); Object.defineProperty(exports, "allow", { enumerable: true, get: function () { return graphql_shield_1.allow; } }); Object.defineProperty(exports, "deny", { enumerable: true, get: function () { return graphql_shield_1.deny; } }); Object.defineProperty(exports, "and", { enumerable: true, get: function () { return graphql_shield_1.and; } }); Object.defineProperty(exports, "chain", { enumerable: true, get: function () { return graphql_shield_1.chain; } }); Object.defineProperty(exports, "or", { enumerable: true, get: function () { return graphql_shield_1.or; } }); Object.defineProperty(exports, "not", { enumerable: true, get: function () { return graphql_shield_1.not; } }); Object.defineProperty(exports, "race", { enumerable: true, get: function () { return graphql_shield_1.race; } }); const user_model_1 = __importDefault(require("./models/user/user.model")); const isAuthenticated = (0, graphql_shield_1.rule)()(async (_parent, _args, ctx) => { return !!ctx.userId; }); exports.isAuthenticated = isAuthenticated; const isAdmin = (0, graphql_shield_1.rule)()(async (_parent, _args, ctx) => { if (!ctx.userId) return false; return user_model_1.default.hasGlobalRole(ctx.userId, 'admin'); }); exports.isAdmin = isAdmin; //# sourceMappingURL=authorization.js.map