UNPKG

1.65 kBJavaScriptView Raw
1const mongoose = require('mongoose');
2const domain = require('../');
3
4async function main() {
5 await mongoose.connect(process.env.MONGOLAB_URI);
6
7 const projectRepo = new domain.repository.Project(mongoose.connection);
8 const memberRepo = new domain.repository.Member(mongoose.connection);
9
10 const projectId = 'sskts-test';
11 const username = 'Google_108017370984644649288';
12 const roleName = 'owner';
13 // const roleName = 'user';
14
15 const roles = [
16 {
17 typeOf: 'OrganizationRole',
18 roleName: roleName,
19 memberOf: { typeOf: domain.factory.organizationType.Project, id: projectId },
20 }
21 ];
22
23 const project = await projectRepo.findById({ id: projectId });
24 const adminUserPoolId = project.settings.cognito.adminUserPool.id;
25
26 const personRepo = new domain.repository.Person({
27 userPoolId: adminUserPoolId
28 });
29 const people = await personRepo.search({ username: username });
30
31 if (people.length > 0) {
32 const member = people[0];
33 console.log('member found', member.id, member.familyName);
34
35 const doc = await memberRepo.memberModel.create({
36 project: { typeOf: domain.factory.organizationType.Project, id: projectId },
37 typeOf: 'OrganizationRole',
38 member: {
39 typeOf: member.typeOf,
40 id: member.id,
41 username: username,
42 hasRole: roles
43 }
44 });
45 console.log('member created', doc);
46 }
47}
48
49main().then(() => {
50 console.log('success!');
51}).catch((error) => {
52 console.error(error);
53 process.exit(1);
54});