use-neo4j
Version:
<div style="text-align:center"> <h1>React Hooks For Neo4j</h1>
38 lines (37 loc) • 1.47 kB
JavaScript
;
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;