Skip to content

Commit d744db5

Browse files
authored
Merge pull request #37 from topcoder-platform/refactor/object-model
Prevent adding more than one submitter on a challenge.task.isTask = true
2 parents 8e69401 + aef945b commit d744db5

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/services/ResourceService.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,14 @@ async function init (currentUser, challengeId, resource, isCreated) {
211211
const challengeRes = await helper.getRequest(`${config.CHALLENGE_API_URL}/${challengeId}`)
212212
const challenge = challengeRes.body
213213

214+
// Prevent from creating more than 1 submitter resources on tasks
215+
if (_.get(challenge, 'task.isTask', false) && isCreated && resource.roleId === config.SUBMITTER_RESOURCE_ROLE_ID) {
216+
const existing = await getResources(currentUser, challengeId, config.SUBMITTER_RESOURCE_ROLE_ID, 1, 1)
217+
if (existing.total > 0) {
218+
throw new errors.ConflictError(`The Task is already assigned`)
219+
}
220+
}
221+
214222
// logger.error(`Init Member for ${JSON.stringify(currentUser)}`)
215223
// get member information using v3 API
216224
const handle = resource.memberHandle

0 commit comments

Comments
 (0)