[web] Enforce collaborator limit (#19619)

* Enables collaborator limit enforcement

* Add pendingEditor_refs for editors downgraded during limit enforcement

* Add isPendingEditor to useEditorContext

---------

Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>
GitOrigin-RevId: b622213f6282ccd8ee85a23ceb29b8c6f8ff6a96
This commit is contained in:
roo hutton
2024-08-22 14:01:25 +00:00
committed by Copybot
co-authored by Thomas Mees
parent 18ee2bc87a
commit 5e2662adc4
13 changed files with 227 additions and 28 deletions
@@ -83,11 +83,9 @@ module.exports = ProjectEditorHandler = {
for (const member of members || []) {
if (member.privilegeLevel === 'owner') {
ownerFeatures = member.user.features
owner = this.buildUserModelView(member.user, 'owner')
owner = this.buildUserModelView(member)
} else {
filteredMembers.push(
this.buildUserModelView(member.user, member.privilegeLevel)
)
filteredMembers.push(this.buildUserModelView(member))
}
}
return {
@@ -97,14 +95,16 @@ module.exports = ProjectEditorHandler = {
}
},
buildUserModelView(user, privileges) {
buildUserModelView(member) {
const user = member.user
return {
_id: user._id,
first_name: user.first_name,
last_name: user.last_name,
email: user.email,
privileges,
privileges: member.privilegeLevel,
signUpDate: user.signUpDate,
pendingEditor: member.pendingEditor,
}
},