UNPKG

n8n

Version:

n8n Workflow Automation Tool

60 lines 2.23 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUser = getUser; exports.getAllUsersAndCount = getAllUsersAndCount; exports.clean = clean; const typedi_1 = require("typedi"); const user_repository_1 = require("../../../../databases/repositories/user.repository"); const pick_1 = __importDefault(require("lodash/pick")); const uuid_1 = require("uuid"); const typeorm_1 = require("@n8n/typeorm"); async function getUser(data) { return await typedi_1.Container.get(user_repository_1.UserRepository) .findOne({ where: { ...((0, uuid_1.validate)(data.withIdentifier) && { id: data.withIdentifier }), ...(!(0, uuid_1.validate)(data.withIdentifier) && { email: data.withIdentifier }), }, }) .then((user) => { if (user && !(data === null || data === void 0 ? void 0 : data.includeRole)) delete user.role; return user; }); } async function getAllUsersAndCount(data) { const { in: _in } = data; const users = await typedi_1.Container.get(user_repository_1.UserRepository).find({ where: { ...(_in && { id: (0, typeorm_1.In)(_in) }) }, skip: data.offset, take: data.limit, }); if (!(data === null || data === void 0 ? void 0 : data.includeRole)) { users.forEach((user) => { delete user.role; }); } const count = await typedi_1.Container.get(user_repository_1.UserRepository).count(); return [users, count]; } const userProperties = [ 'id', 'email', 'firstName', 'lastName', 'createdAt', 'updatedAt', 'isPending', ]; function pickUserSelectableProperties(user, options) { return (0, pick_1.default)(user, userProperties.concat((options === null || options === void 0 ? void 0 : options.includeRole) ? ['role'] : [])); } function clean(users, options) { return Array.isArray(users) ? users.map((user) => pickUserSelectableProperties(user, options)) : pickUserSelectableProperties(users, options); } //# sourceMappingURL=users.service.ee.js.map