فهرست منبع

Use owner's reviewer role assigment (#22735)

GitOrigin-RevId: f632ea8c23b5a1f9ac6985922c53f1b6d49e9494
Domagoj Kriskovic 1 سال پیش
والد
کامیت
61d300de6a

+ 7 - 11
services/web/app/src/Features/Helpers/AuthorizationHelper.js

@@ -22,7 +22,7 @@ function hasAnyStaffAccess(user) {
   return false
 }
 
-async function isReviewerRoleEnabled(userId, projectId) {
+async function isReviewerRoleEnabled(projectId) {
   const project = await ProjectGetter.promises.getProject(projectId, {
     reviewer_refs: 1,
     owner_ref: 1,
@@ -34,15 +34,11 @@ async function isReviewerRoleEnabled(userId, projectId) {
   }
 
   // if there are no reviewers, check split test from project owner
-  if (project.owner_ref === userId) {
-    const reviewerRoleAssigment =
-      await SplitTestHandler.promises.getAssignmentForUser(
-        userId,
-        'reviewer-role'
-      )
+  const reviewerRoleAssigment =
+    await SplitTestHandler.promises.getAssignmentForUser(
+      project.owner_ref,
+      'reviewer-role'
+    )
 
-    return reviewerRoleAssigment.variant === 'enabled'
-  }
-
-  return false
+  return reviewerRoleAssigment.variant === 'enabled'
 }

+ 10 - 3
services/web/app/src/Features/Project/ProjectController.js

@@ -484,7 +484,11 @@ const _ProjectController = {
           anonRequestToken
         )
 
-      const [linkSharingChanges, linkSharingEnforcement] = await Promise.all([
+      const [
+        linkSharingChanges,
+        linkSharingEnforcement,
+        reviewerRoleAssigment,
+      ] = await Promise.all([
         SplitTestHandler.promises.getAssignmentForUser(
           project.owner_ref,
           'link-sharing-warning'
@@ -493,6 +497,10 @@ const _ProjectController = {
           project.owner_ref,
           'link-sharing-enforcement'
         ),
+        SplitTestHandler.promises.getAssignmentForUser(
+          project.owner_ref,
+          'reviewer-role'
+        ),
       ])
 
       if (linkSharingChanges?.variant === 'active') {
@@ -829,8 +837,7 @@ const _ProjectController = {
         isSaas: Features.hasFeature('saas'),
         shouldLoadHotjar: splitTestAssignments.hotjar?.variant === 'enabled',
         isReviewerRoleEnabled:
-          (privilegeLevel === PrivilegeLevels.OWNER &&
-            splitTestAssignments['reviewer-role']?.variant === 'enabled') ||
+          reviewerRoleAssigment ||
           Object.keys(project.reviewer_refs || {}).length > 0,
       })
       timer.done()

+ 0 - 4
services/web/test/unit/src/HelperFiles/AuthorizationHelperTests.js

@@ -77,7 +77,6 @@ describe('AuthorizationHelper', function () {
         })
       expect(
         await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
-          'userId',
           'projectId'
         )
       ).to.be.false
@@ -95,7 +94,6 @@ describe('AuthorizationHelper', function () {
         })
       expect(
         await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
-          'userId',
           'projectId'
         )
       ).to.be.true
@@ -112,7 +110,6 @@ describe('AuthorizationHelper', function () {
         })
       expect(
         await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
-          'userId',
           'projectId'
         )
       ).to.be.true
@@ -129,7 +126,6 @@ describe('AuthorizationHelper', function () {
         })
       expect(
         await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
-          'userId',
           'projectId'
         )
       ).to.be.true