@coko/server
Version:
Reusable server for use by Coko's projects
28 lines • 1.99 kB
JavaScript
;
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