Support for adding reviewer role (#22137)

* Support for adding reviewer role

* show reviewer in track changes user list

* added "review" in assertClientCanViewProject

* test if reviewer can read project

* added collaboratorsGetter tests

* eit toggle-track-changes when track changes changes

* Support for changing privilege to reviewers for invited users (#22159)

* Add reviewer in change privilege level handler

* added reviewer translation

* added acceptance tests

* fix tests

* Set track changes state permissions for reviewer role (#22167)

* Add reviewer in change privilege level handler

* added reviewer translation

* added acceptance tests

* fix tests

* Set track changes state permissions for reviewer role

* added authorization helper tests

* added ensureUserCanReviewProjectContent middleware

* allow changing track changes only with write permissions

* removed canUserReviewProjectContent

* List projects where user is added as a reviewer (#22249)

* List projects where user is added as reviewer

* list projects in /user/projects

* fix tests

GitOrigin-RevId: 54064a7f961fe06f188ab449cd469cdaaf01b20a
This commit is contained in:
Domagoj Kriskovic
2024-12-04 09:05:00 +00:00
committed by Copybot
parent 81aab71ffd
commit f676eca2b8
30 changed files with 468 additions and 19 deletions
@@ -549,8 +549,14 @@ async function _getProjects(
* @private
*/
function _formatProjects(projects, userId) {
const { owned, readAndWrite, readOnly, tokenReadAndWrite, tokenReadOnly } =
projects
const {
owned,
review,
readAndWrite,
readOnly,
tokenReadAndWrite,
tokenReadOnly,
} = projects
const formattedProjects = /** @type {Project[]} **/ []
for (const project of owned) {
@@ -564,6 +570,11 @@ function _formatProjects(projects, userId) {
_formatProjectInfo(project, 'readWrite', Sources.INVITE, userId)
)
}
for (const project of review) {
formattedProjects.push(
_formatProjectInfo(project, 'review', Sources.INVITE, userId)
)
}
for (const project of readOnly) {
formattedProjects.push(
_formatProjectInfo(project, 'readOnly', Sources.INVITE, userId)