UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

76 lines (67 loc) 2.89 kB
// 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);