Merge pull request #25784 from overleaf/dp-backend-reviewer-role-cleanup

Remove references to `reviewer-role` feature flag in the backend

GitOrigin-RevId: 4d2088e4c2815d3221817a182a0a66b5a60b3532
This commit is contained in:
David
2025-05-22 13:27:22 +01:00
committed by Copybot
parent 43586bcaee
commit ef82e9e5b4
4 changed files with 0 additions and 107 deletions

View File

@@ -1,14 +1,7 @@
const { UserSchema } = require('../../models/User')
const SplitTestHandler = require('../SplitTests/SplitTestHandler')
const ProjectGetter = require('../Project/ProjectGetter')
const { callbackify } = require('@overleaf/promise-utils')
module.exports = {
hasAnyStaffAccess,
isReviewerRoleEnabled: callbackify(isReviewerRoleEnabled),
promises: {
isReviewerRoleEnabled,
},
}
function hasAnyStaffAccess(user) {
@@ -21,24 +14,3 @@ function hasAnyStaffAccess(user) {
}
return false
}
async function isReviewerRoleEnabled(projectId) {
const project = await ProjectGetter.promises.getProject(projectId, {
reviewer_refs: 1,
owner_ref: 1,
})
// if there are reviewers, it means the role is enabled
if (Object.keys(project.reviewer_refs || {}).length > 0) {
return true
}
// if there are no reviewers, check split test from project owner
const reviewerRoleAssigment =
await SplitTestHandler.promises.getAssignmentForUser(
project.owner_ref,
'reviewer-role'
)
return reviewerRoleAssigment.variant === 'enabled'
}

View File

@@ -347,7 +347,6 @@ const _ProjectController = {
'track-pdf-download',
!anonymous && 'writefull-oauth-promotion',
'hotjar',
'reviewer-role',
'editor-redesign',
'paywall-change-compile-timeout',
'overleaf-assist-bundle',
@@ -482,12 +481,6 @@ const _ProjectController = {
anonRequestToken
)
const reviewerRoleAssignment =
await SplitTestHandler.promises.getAssignmentForUser(
project.owner_ref,
'reviewer-role'
)
await Modules.promises.hooks.fire('enforceCollaboratorLimit', projectId)
if (isTokenMember) {
// Check explicitly that the user is in read write token refs, while this could be inferred
@@ -883,9 +876,6 @@ const _ProjectController = {
: null,
isSaas: Features.hasFeature('saas'),
shouldLoadHotjar: splitTestAssignments.hotjar?.variant === 'enabled',
isReviewerRoleEnabled:
reviewerRoleAssignment?.variant === 'enabled' ||
Object.keys(project.reviewer_refs || {}).length > 0,
isPaywallChangeCompileTimeoutEnabled,
isOverleafAssistBundleEnabled,
paywallPlans,

View File

@@ -40,7 +40,6 @@ meta(name="ol-projectTags" data-type="json" content=projectTags)
meta(name="ol-ro-mirror-on-client-no-local-storage" data-type="boolean" content=roMirrorOnClientNoLocalStorage)
meta(name="ol-isSaas" data-type="boolean" content=isSaas)
meta(name="ol-shouldLoadHotjar" data-type="boolean" content=shouldLoadHotjar)
meta(name="ol-isReviewerRoleEnabled" data-type="boolean" content=isReviewerRoleEnabled)
meta(name="ol-odcRole" data-type="string" content=odcRole)
meta(name="ol-isPaywallChangeCompileTimeoutEnabled" data-type="boolean" content=isPaywallChangeCompileTimeoutEnabled)
meta(name='ol-customerIoEnabled' data-type="boolean" content=customerIoEnabled)

View File

@@ -63,72 +63,4 @@ describe('AuthorizationHelper', function () {
expect(this.AuthorizationHelper.hasAnyStaffAccess(user)).to.be.false
})
})
describe('isReviewerRoleEnabled', function () {
it('with no reviewers and no split test', async function () {
this.ProjectGetter.promises.getProject = sinon.stub().resolves({
reviewer_refs: {},
owner_ref: 'ownerId',
})
this.SplitTestHandler.promises.getAssignmentForUser = sinon
.stub()
.resolves({
variant: 'disabled',
})
expect(
await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
'projectId'
)
).to.be.false
})
it('with no reviewers and enabled split test', async function () {
this.ProjectGetter.promises.getProject = sinon.stub().resolves({
reviewer_refs: {},
owner_ref: 'userId',
})
this.SplitTestHandler.promises.getAssignmentForUser = sinon
.stub()
.resolves({
variant: 'enabled',
})
expect(
await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
'projectId'
)
).to.be.true
})
it('with reviewers and disabled split test', async function () {
this.ProjectGetter.promises.getProject = sinon.stub().resolves({
reviewer_refs: [{ $oid: 'userId' }],
})
this.SplitTestHandler.promises.getAssignmentForUser = sinon
.stub()
.resolves({
variant: 'default',
})
expect(
await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
'projectId'
)
).to.be.true
})
it('with reviewers and enabled split test', async function () {
this.ProjectGetter.promises.getProject = sinon.stub().resolves({
reviewer_refs: [{ $oid: 'userId' }],
})
this.SplitTestHandler.promises.getAssignmentForUser = sinon
.stub()
.resolves({
variant: 'enabled',
})
expect(
await this.AuthorizationHelper.promises.isReviewerRoleEnabled(
'projectId'
)
).to.be.true
})
})
})