@chevre/domain
Version:
Chevre Domain Library for Node.js
47 lines (37 loc) • 1.36 kB
text/typescript
// tslint:disable:no-console
import * as moment from 'moment';
import * as mongoose from 'mongoose';
import { chevre } from '../../../lib/index';
const PROJECT_ID = String(process.env.PROJECT_ID);
const memberId = 'xxx';
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI);
const memberRepo = await chevre.repository.Member.createInstance(mongoose.connection);
const roleRepo = await chevre.repository.Role.createInstance(mongoose.connection);
let now: Date;
now = new Date();
const searchPermissionsResult = await (await chevre.service.iam.createService()).searchPermissions({
project: { id: PROJECT_ID },
member: {
id: memberId,
memberOf: {
id: PROJECT_ID,
typeOf: chevre.factory.organizationType.Project
}
}
})({
member: memberRepo,
role: roleRepo
});
console.log('time cost:', moment()
.diff(now));
console.log(searchPermissionsResult);
console.log(searchPermissionsResult.permissions.length);
// console.log(aggregateRoleNamesResult);
// console.log(aggregateRoleNamesResult.length);
// console.log(aggregatePermissionsResult);
// console.log(aggregatePermissionsResult.length);
}
main()
.then(console.log)
.catch(console.error);