Skip to content

Commit e66cc2e

Browse files
author
James Cori
committed
Adding the creating user as a manager on the challenge
1 parent dc73975 commit e66cc2e

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

config/default.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ module.exports = {
5858
? process.env.COPILOT_RESOURCE_ROLE_IDS.split(',') : ['10ba038e-48da-487b-96e8-8d3b99b6d18b'],
5959
SUBMITTER_ROLE_ID: process.env.SUBMITTER_ROLE_ID || '732339e7-8e30-49d7-9198-cccf9451e221',
6060

61+
MANAGER_ROLE_ID: process.env.MANAGER_ROLE_ID || '0e9c6879-39e4-4eb6-b8df-92407890faf1',
62+
OBSERVER_ROLE_ID: process.env.OBSERVER_ROLE_ID || '2a4dc376-a31c-4d00-b173-13934d89e286',
63+
6164
// health check timeout in milliseconds
6265
HEALTH_CHECK_TIMEOUT: process.env.HEALTH_CHECK_TIMEOUT || 3000,
6366

src/common/helper.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,25 @@ async function getChallengeResources (challengeId) {
410410
return result
411411
}
412412

413+
/**
414+
* Create challenge resources
415+
* @param {String} challengeId the challenge id
416+
* @param {String} memberHandle the user's member handle
417+
* @param {String} roleId the resource role ID to assign
418+
*/
419+
async function createResource (challengeId, memberHandle, roleId) {
420+
const token = await getM2MToken()
421+
422+
const userObj = {
423+
challengeId,
424+
memberHandle,
425+
roleId
426+
}
427+
const url = `${config.RESOURCES_API_URL}`
428+
const res = await axios.post(url, userObj, { headers: { Authorization: `Bearer ${token}` } })
429+
return res || false
430+
}
431+
413432
/**
414433
* Get resource roles
415434
* @returns {Promise<Array>} the challenge resources
@@ -763,6 +782,7 @@ module.exports = {
763782
downloadFromS3,
764783
deleteFromS3,
765784
getChallengeResources,
785+
createResource,
766786
getUserGroups,
767787
ensureNoDuplicateOrNullElements,
768788
postBusEvent,

src/services/ChallengeService.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,14 @@ async function createChallenge (currentUser, challenge, userToken) {
846846
// post bus event
847847
await helper.postBusEvent(constants.Topics.ChallengeCreated, ret)
848848

849+
// if created by a user, add user as a manager
850+
if (currentUser.handle) {
851+
logger.debug(`Adding user as manager ${currentUser.handle}`)
852+
await helper.createResource(ret.id, ret.createdBy, config.MANAGER_ROLE_ID)
853+
} else {
854+
logger.debug(`Not adding manager ${currentUser.sub} ${JSON.stringify(currentUser)}`)
855+
}
856+
849857
// Create in ES
850858
await esClient.create({
851859
index: config.get('ES.ES_INDEX'),

0 commit comments

Comments
 (0)