1
1
/**
2
2
* Configuration of connect events
3
3
*/
4
- const config = require ( './config' ) ;
5
4
const { BUS_API_EVENT } = require ( './constants' ) ;
6
5
7
6
// project member role names
8
7
const PROJECT_ROLE_OWNER = 'owner' ;
9
8
const PROJECT_ROLE_COPILOT = 'copilot' ;
10
9
const PROJECT_ROLE_MANAGER = 'manager' ;
11
10
const PROJECT_ROLE_MEMBER = 'member' ;
11
+ const PROJECT_ROLE_ACCOUNT_MANAGER = 'account_manager' ;
12
12
13
13
// project member role rules
14
14
const PROJECT_ROLE_RULES = {
15
15
[ PROJECT_ROLE_OWNER ] : { role : 'customer' , isPrimary : true } ,
16
16
[ PROJECT_ROLE_COPILOT ] : { role : 'copilot' } ,
17
17
[ PROJECT_ROLE_MANAGER ] : { role : 'manager' } ,
18
+ [ PROJECT_ROLE_ACCOUNT_MANAGER ] : { role : 'account_manager' } ,
18
19
[ PROJECT_ROLE_MEMBER ] : { } ,
19
20
} ;
20
21
21
22
// TopCoder roles
22
23
const ROLE_CONNECT_COPILOT = 'Connect Copilot' ;
23
24
const ROLE_CONNECT_MANAGER = 'Connect Manager' ;
25
+ const ROLE_CONNECT_COPILOT_MANAGER = 'Connect Copilot Manager' ;
26
+ const ROLE_CONNECT_ACCOUNT_MANAGER = 'Connect Account Manager' ;
24
27
const ROLE_ADMINISTRATOR = 'administrator' ;
25
28
26
- // TopCoder role rules
27
- const TOPCODER_ROLE_RULES = {
28
- [ ROLE_CONNECT_COPILOT ] : { id : config . CONNECT_COPILOT_ROLE_ID } ,
29
- [ ROLE_CONNECT_MANAGER ] : { id : config . CONNECT_MANAGER_ROLE_ID } ,
30
- [ ROLE_ADMINISTRATOR ] : { id : config . ADMINISTRATOR_ROLE_ID } ,
31
- } ;
32
-
33
29
/**
34
30
* Supported events configuration
35
31
*
@@ -51,13 +47,14 @@ const EVENTS = [
51
47
{
52
48
type : BUS_API_EVENT . CONNECT . PROJECT . CREATED ,
53
49
projectRoles : [ PROJECT_ROLE_OWNER ] ,
50
+ topcoderRoles : [ ROLE_CONNECT_ACCOUNT_MANAGER ] ,
54
51
exclude : {
55
52
topcoderRoles : [ ROLE_CONNECT_MANAGER , ROLE_ADMINISTRATOR ] ,
56
53
} ,
57
54
} , {
58
55
type : BUS_API_EVENT . CONNECT . PROJECT . SUBMITTED_FOR_REVIEW ,
59
56
projectRoles : [ PROJECT_ROLE_OWNER ] ,
60
- topcoderRoles : [ ROLE_CONNECT_MANAGER , ROLE_ADMINISTRATOR ] ,
57
+ topcoderRoles : [ ROLE_CONNECT_MANAGER , ROLE_CONNECT_ACCOUNT_MANAGER , ROLE_ADMINISTRATOR ] ,
61
58
} , {
62
59
type : BUS_API_EVENT . CONNECT . PROJECT . APPROVED ,
63
60
projectRoles : [ PROJECT_ROLE_OWNER , PROJECT_ROLE_COPILOT , PROJECT_ROLE_MANAGER ] ,
@@ -107,6 +104,17 @@ const EVENTS = [
107
104
type : BUS_API_EVENT . CONNECT . MEMBER . INVITE_CREATED ,
108
105
projectRoles : [ ] ,
109
106
toUserHandle : true ,
107
+ } , {
108
+ type : BUS_API_EVENT . CONNECT . MEMBER . INVITE_REQUESTED ,
109
+ topcoderRoles : [ ROLE_CONNECT_COPILOT_MANAGER ] ,
110
+ } , {
111
+ type : BUS_API_EVENT . CONNECT . MEMBER . INVITE_APPROVED ,
112
+ toUserHandle : true ,
113
+ originator : true ,
114
+ } , {
115
+ type : BUS_API_EVENT . CONNECT . MEMBER . INVITE_REJECTED ,
116
+ topcoderRoles : [ ROLE_CONNECT_COPILOT_MANAGER ] ,
117
+ originator : true ,
110
118
} ,
111
119
112
120
// Project activity
@@ -149,7 +157,7 @@ const EVENTS = [
149
157
type : BUS_API_EVENT . CONNECT . PROJECT . FILE_UPLOADED ,
150
158
version : 2 ,
151
159
projectRoles : [ PROJECT_ROLE_OWNER , PROJECT_ROLE_COPILOT , PROJECT_ROLE_MANAGER , PROJECT_ROLE_MEMBER ] ,
152
- includeUsers : 'allowedUsers'
160
+ includeUsers : 'allowedUsers' ,
153
161
} , {
154
162
type : BUS_API_EVENT . CONNECT . PROJECT . SPECIFICATION_MODIFIED ,
155
163
version : 2 ,
@@ -160,12 +168,12 @@ const EVENTS = [
160
168
} , {
161
169
type : BUS_API_EVENT . CONNECT . PROJECT_PLAN . MODIFIED ,
162
170
projectRoles : [ PROJECT_ROLE_OWNER , PROJECT_ROLE_COPILOT , PROJECT_ROLE_MANAGER , PROJECT_ROLE_MEMBER ] ,
163
- includeUsers : 'allowedUsers'
171
+ includeUsers : 'allowedUsers' ,
164
172
} , {
165
173
type : BUS_API_EVENT . CONNECT . PROJECT_PLAN . PROGRESS_UPDATED ,
166
174
projectRoles : [ PROJECT_ROLE_OWNER , PROJECT_ROLE_COPILOT , PROJECT_ROLE_MANAGER , PROJECT_ROLE_MEMBER ] ,
167
175
} ,
168
-
176
+
169
177
// Phase activity
170
178
{
171
179
type : BUS_API_EVENT . CONNECT . PROJECT_PLAN . PHASE_ACTIVATED ,
@@ -200,8 +208,8 @@ const EVENTS = [
200
208
} , {
201
209
type : BUS_API_EVENT . CONNECT . PROJECT_PLAN . TIMELINE_ADJUSTED ,
202
210
projectRoles : [ PROJECT_ROLE_OWNER , PROJECT_ROLE_COPILOT , PROJECT_ROLE_MANAGER , PROJECT_ROLE_MEMBER ] ,
203
- includeUsers : 'allowedUsers'
204
- }
211
+ includeUsers : 'allowedUsers' ,
212
+ } ,
205
213
] ;
206
214
207
215
const EVENT_BUNDLES = {
@@ -263,6 +271,9 @@ const EVENT_BUNDLES = {
263
271
BUS_API_EVENT . CONNECT . MEMBER . MANAGER_JOINED ,
264
272
BUS_API_EVENT . CONNECT . MEMBER . REMOVED ,
265
273
BUS_API_EVENT . CONNECT . MEMBER . INVITE_CREATED ,
274
+ BUS_API_EVENT . CONNECT . MEMBER . INVITE_REQUESTED ,
275
+ BUS_API_EVENT . CONNECT . MEMBER . INVITE_APPROVED ,
276
+ BUS_API_EVENT . CONNECT . MEMBER . INVITE_REJECTED ,
266
277
] ,
267
278
} ,
268
279
PROJECT_PLAN : {
@@ -293,7 +304,6 @@ const EVENT_BUNDLES = {
293
304
294
305
module . exports = {
295
306
PROJECT_ROLE_RULES ,
296
- TOPCODER_ROLE_RULES ,
297
307
EVENTS ,
298
308
EVENT_BUNDLES ,
299
309
0 commit comments