@chevre/domain
Version:
Chevre Domain Library for Node.js
56 lines (48 loc) • 1.66 kB
text/typescript
// tslint:disable:no-implicit-dependencies no-console
import { chevre } from '../../../lib/index';
import * as mongoose from 'mongoose';
const project = { id: String(process.env.PROJECT_ID) };
mongoose.Model.on('index', (...args) => {
console.error('******** index event emitted. ********\n', args);
});
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
const limit = 100;
const page = 1;
const memberRepo = await chevre.repository.Member.createInstance(mongoose.connection);
const members = await memberRepo.projectFieldsByProjectId(
{ id: project.id },
{
limit,
page,
member: {
typeOf: {
// $eq: chevre.factory.creativeWorkType.WebApplication
// $eq: chevre.factory.personType.Person
},
memberOf: { typeOf: { $eq: chevre.factory.organizationType.Project } }
}
},
[]
);
console.log('members:', members);
console.log(members.length, 'members found');
const customerMembers = await memberRepo.searchCustomerMembers(
{
limit: 10,
page: 1,
sort: { 'member.id': chevre.factory.sortType.Ascending },
project: { id: project.id },
member: {
}
}
);
// tslint:disable-next-line:no-null-keyword
console.dir(customerMembers, { depth: null });
console.log(customerMembers.length, 'customerMembers found');
}
main()
.then(() => {
console.log('success!');
})
.catch(console.error);