@chevre/domain
Version:
Chevre Domain Library for Node.js
76 lines (67 loc) • 2.89 kB
text/typescript
// tslint:disable:no-console
import * as mongoose from 'mongoose';
import { chevre } from '../../../../lib/index';
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
const roleRepo = await chevre.repository.Role.createInstance(mongoose.connection);
let roleNames = [
chevre.factory.role.organizationRole.RoleName.Customer,
chevre.factory.role.organizationRole.RoleName.EventsViewer,
chevre.factory.role.organizationRole.RoleName.POS
];
for (const roleName of roleNames) {
const result = await roleRepo.addMember({
roleName,
member: { typeOf: chevre.factory.creativeWorkType.WebApplication },
memberOf: { typeOf: chevre.factory.organizationType.Project }
});
console.log(result, roleName);
}
roleNames = [
chevre.factory.role.organizationRole.RoleName.Server
];
for (const roleName of roleNames) {
const result = await roleRepo.addMember({
roleName,
member: { typeOf: chevre.factory.creativeWorkType.SoftwareApplication },
memberOf: { typeOf: chevre.factory.organizationType.Project }
});
console.log(result, roleName);
}
roleNames = [
chevre.factory.role.organizationRole.RoleName.Accountant,
chevre.factory.role.organizationRole.RoleName.IAMRoleAdmin,
chevre.factory.role.organizationRole.RoleName.InventoryManager,
chevre.factory.role.organizationRole.RoleName.MemberAdmin,
chevre.factory.role.organizationRole.RoleName.Owner,
chevre.factory.role.organizationRole.RoleName.PaymentServiceAdmin,
chevre.factory.role.organizationRole.RoleName.SellerAdmin,
chevre.factory.role.organizationRole.RoleName.TicketClerk,
chevre.factory.role.organizationRole.RoleName.TicketCollector,
chevre.factory.role.organizationRole.RoleName.User
];
for (const roleName of roleNames) {
const result = await roleRepo.addMember({
roleName,
member: { typeOf: chevre.factory.personType.Person },
memberOf: { typeOf: chevre.factory.organizationType.Project }
});
console.log(result, roleName);
}
roleNames = [
chevre.factory.role.organizationRole.RoleName.SellersIAMRoleAdmin,
chevre.factory.role.organizationRole.RoleName.SellersInventoryManager,
chevre.factory.role.organizationRole.RoleName.SellersOwner
];
for (const roleName of roleNames) {
const result = await roleRepo.addMember({
roleName,
member: { typeOf: chevre.factory.personType.Person },
memberOf: { typeOf: chevre.factory.organizationType.Corporation }
});
console.log(result, roleName);
}
}
main()
.then()
.catch(console.error);