1 | const mongoose = require('mongoose');
|
2 | const domain = require('../');
|
3 |
|
4 | async 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 |
|
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 |
|
49 | main().then(() => {
|
50 | console.log('success!');
|
51 | }).catch((error) => {
|
52 | console.error(error);
|
53 | process.exit(1);
|
54 | });
|