UNPKG

use-neo4j

Version:

<div style="text-align:center"> <h1>React Hooks For Neo4j</h1>

38 lines (37 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useUsers = exports.useRoles = void 0; var cypher_1 = require("./cypher"); function useRoles() { var _a = cypher_1.useReadCypher('SHOW POPULATED ROLES WITH USERS'), loading = _a.loading, error = _a.error, records = _a.records; var roles = records === null || records === void 0 ? void 0 : records.map(function (row) { return [row.get('role'), row.get('member')]; }).reduce(function (acc, row) { var name = row[0], member = row[1]; var index = acc.findIndex(function (role) { return role.role === name; }); if (index > -1) { acc[index].members.push(member); return acc; } return acc.concat({ role: name, members: [member] }); }, []); return { loading: loading, error: error, roles: roles, }; } exports.useRoles = useRoles; function useUsers() { var _a = cypher_1.useReadCypher('SHOW USERS', {}, 'system'), loading = _a.loading, error = _a.error, records = _a.records; var users = records === null || records === void 0 ? void 0 : records.map(function (row) { return ({ user: row.get('user'), roles: row.get('roles'), passwordChangeRequired: row.get('passwordChangeRequired'), suspended: row.get('suspended'), }); }); return { loading: loading, error: error, users: users, }; } exports.useUsers = useUsers;