UNPKG

a2r

Version:
37 lines (36 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const dbPool_1 = require("../dbPool"); /** * Adds roles to user * @param email User email * @param roles Roles to add */ const addRolesToUser = async (email, ...roles) => { const collection = await (0, dbPool_1.getCollection)('users'); await collection.updateOne({ _id: email }, { $addToSet: { roles: { $each: roles } } }); }; /** * Removes roles from user * @param email User email * @param roles Roles to remove */ const removeRolesFromUser = async (email, ...roles) => { const collection = await (0, dbPool_1.getCollection)('users'); await collection.updateOne({ _id: email }, { $pull: { roles: { $in: roles } } }); }; /** * Checks user is in any of the given roles * @param email User email * @param roles Roles to check */ const isUserInRole = async (email, ...roles) => { const collection = await (0, dbPool_1.getCollection)('users'); const user = await collection.findOne({ _id: email, roles: { $in: roles } }, { projection: { _id: 1 } }); return !!user; }; exports.default = { addRolesToUser, removeRolesFromUser, isUserInRole, };