mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-16 02:52:31 -04:00
Order privileges by highest-to-lowest
This commit is contained in:
parent
81170d472d
commit
ee32648bf4
2 changed files with 8 additions and 9 deletions
|
@ -28,18 +28,17 @@ module.exports = CollaboratorsHandler =
|
||||||
return callback(error) if error?
|
return callback(error) if error?
|
||||||
return callback new Errors.NotFoundError("no project found with id #{project_id}") if !project?
|
return callback new Errors.NotFoundError("no project found with id #{project_id}") if !project?
|
||||||
members = []
|
members = []
|
||||||
# Project owner
|
|
||||||
members.push { id: project.owner_ref.toString(), privilegeLevel: PrivilegeLevels.OWNER, source: Sources.OWNER }
|
members.push { id: project.owner_ref.toString(), privilegeLevel: PrivilegeLevels.OWNER, source: Sources.OWNER }
|
||||||
# Invited members
|
# read-and-write
|
||||||
for member_id in project.readOnly_refs or []
|
|
||||||
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_ONLY, source: Sources.INVITE }
|
|
||||||
for member_id in project.collaberator_refs or []
|
for member_id in project.collaberator_refs or []
|
||||||
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_AND_WRITE, source: Sources.INVITE }
|
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_AND_WRITE, source: Sources.INVITE }
|
||||||
# Token access
|
|
||||||
for member_id in project.tokenAccessReadOnly_refs or []
|
|
||||||
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_ONLY, source: Sources.TOKEN }
|
|
||||||
for member_id in project.tokenAccessReadAndWrite_refs or []
|
for member_id in project.tokenAccessReadAndWrite_refs or []
|
||||||
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_AND_WRITE, source: Sources.TOKEN }
|
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_AND_WRITE, source: Sources.TOKEN }
|
||||||
|
# read-only
|
||||||
|
for member_id in project.readOnly_refs or []
|
||||||
|
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_ONLY, source: Sources.INVITE }
|
||||||
|
for member_id in project.tokenAccessReadOnly_refs or []
|
||||||
|
members.push { id: member_id.toString(), privilegeLevel: PrivilegeLevels.READ_ONLY, source: Sources.TOKEN }
|
||||||
return callback null, members
|
return callback null, members
|
||||||
|
|
||||||
getMemberIds: (project_id, callback = (error, member_ids) ->) ->
|
getMemberIds: (project_id, callback = (error, member_ids) ->) ->
|
||||||
|
|
|
@ -44,10 +44,10 @@ describe "CollaboratorsHandler", ->
|
||||||
@callback
|
@callback
|
||||||
.calledWith(null, [
|
.calledWith(null, [
|
||||||
{ id: "owner-ref", privilegeLevel: "owner", source: 'owner'}
|
{ id: "owner-ref", privilegeLevel: "owner", source: 'owner'}
|
||||||
{ id: "read-only-ref-1", privilegeLevel: "readOnly", source: 'invite'}
|
|
||||||
{ id: "read-only-ref-2", privilegeLevel: "readOnly", source: 'invite'}
|
|
||||||
{ id: "read-write-ref-1", privilegeLevel: "readAndWrite", source: 'invite'}
|
{ id: "read-write-ref-1", privilegeLevel: "readAndWrite", source: 'invite'}
|
||||||
{ id: "read-write-ref-2", privilegeLevel: "readAndWrite", source: 'invite' }
|
{ id: "read-write-ref-2", privilegeLevel: "readAndWrite", source: 'invite' }
|
||||||
|
{ id: "read-only-ref-1", privilegeLevel: "readOnly", source: 'invite'}
|
||||||
|
{ id: "read-only-ref-2", privilegeLevel: "readOnly", source: 'invite'}
|
||||||
])
|
])
|
||||||
.should.equal true
|
.should.equal true
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue