Skip to content

Commit 8fc15a5

Browse files
committed
Cached restrictedRoleIds locally
1 parent fb67833 commit 8fc15a5

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/services/ResourceService.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,12 @@ async function init (currentUser, challengeId, resource, isCreated) {
329329
const { memberId, email } = memberInfoFromDb
330330
handle = memberInfoFromDb.handle
331331
const userResources = allResources.filter((r) => _.toLower(r.memberHandle) === _.toLower(handle))
332+
333+
let restrictedRoleIds
334+
if (isCreated) {
335+
restrictedRoleIds = await getRestrictedRoleIds()
336+
}
337+
332338
// Retrieve the constraint - Allowed Registrants
333339
if (isCreated && resource.roleId === config.SUBMITTER_RESOURCE_ROLE_ID) {
334340
const allowedRegistrants = _.get(challenge, 'constraints.allowedRegistrants')
@@ -352,7 +358,6 @@ async function init (currentUser, challengeId, resource, isCreated) {
352358
)
353359
}
354360
// Check if user already has a restricted role (Manager, Copilot, Reviewer, etc.)
355-
const restrictedRoleIds = await getRestrictedRoleIds()
356361
const existingRestrictedRole = _.find(userResources, r => restrictedRoleIds.includes(r.roleId))
357362
if (existingRestrictedRole) {
358363
const roleNamesList = RESTRICTED_ROLE_NAMES.slice(0, -1).join(', ') + ', or ' + RESTRICTED_ROLE_NAMES.slice(-1)
@@ -393,7 +398,6 @@ async function init (currentUser, challengeId, resource, isCreated) {
393398

394399
// Check if user is trying to assign a restricted role and already has submitter role
395400
if (isCreated) {
396-
const restrictedRoleIds = await getRestrictedRoleIds()
397401
if (restrictedRoleIds.includes(resource.roleId)) {
398402
const existingSubmitterRole = _.find(userResources, r => r.roleId === config.SUBMITTER_RESOURCE_ROLE_ID)
399403
if (existingSubmitterRole) {

0 commit comments

Comments
 (0)