|
@@ -132,54 +132,54 @@ async function ensureUserCanDeleteOrResolveThread(req, res, next) {
|
|
|
return HttpErrorHandler.forbidden(req, res)
|
|
return HttpErrorHandler.forbidden(req, res)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-async function ensureUserCanSendOrReopenComment(req, res, next) {
|
|
|
|
|
|
|
+async function ensureUserCanWriteProjectContent(req, res, next) {
|
|
|
const projectId = _getProjectId(req)
|
|
const projectId = _getProjectId(req)
|
|
|
const userId = _getUserId(req)
|
|
const userId = _getUserId(req)
|
|
|
const token = TokenAccessHandler.getRequestToken(req, projectId)
|
|
const token = TokenAccessHandler.getRequestToken(req, projectId)
|
|
|
-
|
|
|
|
|
- const canSendOrReopenComment =
|
|
|
|
|
- await AuthorizationManager.promises.canUserSendOrReopenComment(
|
|
|
|
|
|
|
+ const canWrite =
|
|
|
|
|
+ await AuthorizationManager.promises.canUserWriteProjectContent(
|
|
|
userId,
|
|
userId,
|
|
|
projectId,
|
|
projectId,
|
|
|
token
|
|
token
|
|
|
)
|
|
)
|
|
|
- if (canSendOrReopenComment) {
|
|
|
|
|
|
|
+ if (canWrite) {
|
|
|
logger.debug(
|
|
logger.debug(
|
|
|
{ userId, projectId },
|
|
{ userId, projectId },
|
|
|
- 'allowing user to send or reopen a comment'
|
|
|
|
|
|
|
+ 'allowing user write access to project content'
|
|
|
)
|
|
)
|
|
|
return next()
|
|
return next()
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
logger.debug(
|
|
logger.debug(
|
|
|
{ userId, projectId },
|
|
{ userId, projectId },
|
|
|
- 'denying user to send or reopen a comment'
|
|
|
|
|
|
|
+ 'denying user write access to project settings'
|
|
|
)
|
|
)
|
|
|
- return HttpErrorHandler.forbidden(req, res)
|
|
|
|
|
|
|
+ HttpErrorHandler.forbidden(req, res)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-async function ensureUserCanWriteProjectContent(req, res, next) {
|
|
|
|
|
|
|
+async function ensureUserCanWriteOrReviewProjectContent(req, res, next) {
|
|
|
const projectId = _getProjectId(req)
|
|
const projectId = _getProjectId(req)
|
|
|
const userId = _getUserId(req)
|
|
const userId = _getUserId(req)
|
|
|
const token = TokenAccessHandler.getRequestToken(req, projectId)
|
|
const token = TokenAccessHandler.getRequestToken(req, projectId)
|
|
|
- const canWrite =
|
|
|
|
|
- await AuthorizationManager.promises.canUserWriteProjectContent(
|
|
|
|
|
|
|
+
|
|
|
|
|
+ const canWriteOrReviewProjectContent =
|
|
|
|
|
+ await AuthorizationManager.promises.canUserWriteOrReviewProjectContent(
|
|
|
userId,
|
|
userId,
|
|
|
projectId,
|
|
projectId,
|
|
|
token
|
|
token
|
|
|
)
|
|
)
|
|
|
- if (canWrite) {
|
|
|
|
|
|
|
+ if (canWriteOrReviewProjectContent) {
|
|
|
logger.debug(
|
|
logger.debug(
|
|
|
{ userId, projectId },
|
|
{ userId, projectId },
|
|
|
- 'allowing user write access to project content'
|
|
|
|
|
|
|
+ 'allowing user write or review access to project content'
|
|
|
)
|
|
)
|
|
|
return next()
|
|
return next()
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
logger.debug(
|
|
logger.debug(
|
|
|
{ userId, projectId },
|
|
{ userId, projectId },
|
|
|
- 'denying user write access to project settings'
|
|
|
|
|
|
|
+ 'denying user write or review access to project content'
|
|
|
)
|
|
)
|
|
|
- HttpErrorHandler.forbidden(req, res)
|
|
|
|
|
|
|
+ return HttpErrorHandler.forbidden(req, res)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
async function ensureUserCanAdminProject(req, res, next) {
|
|
async function ensureUserCanAdminProject(req, res, next) {
|
|
@@ -277,15 +277,15 @@ module.exports = {
|
|
|
ensureUserCanWriteProjectSettings: expressify(
|
|
ensureUserCanWriteProjectSettings: expressify(
|
|
|
ensureUserCanWriteProjectSettings
|
|
ensureUserCanWriteProjectSettings
|
|
|
),
|
|
),
|
|
|
- ensureUserCanSendOrReopenComment: expressify(
|
|
|
|
|
- ensureUserCanSendOrReopenComment
|
|
|
|
|
- ),
|
|
|
|
|
ensureUserCanDeleteOrResolveThread: expressify(
|
|
ensureUserCanDeleteOrResolveThread: expressify(
|
|
|
ensureUserCanDeleteOrResolveThread
|
|
ensureUserCanDeleteOrResolveThread
|
|
|
),
|
|
),
|
|
|
ensureUserCanWriteProjectContent: expressify(
|
|
ensureUserCanWriteProjectContent: expressify(
|
|
|
ensureUserCanWriteProjectContent
|
|
ensureUserCanWriteProjectContent
|
|
|
),
|
|
),
|
|
|
|
|
+ ensureUserCanWriteOrReviewProjectContent: expressify(
|
|
|
|
|
+ ensureUserCanWriteOrReviewProjectContent
|
|
|
|
|
+ ),
|
|
|
ensureUserCanAdminProject: expressify(ensureUserCanAdminProject),
|
|
ensureUserCanAdminProject: expressify(ensureUserCanAdminProject),
|
|
|
ensureUserIsSiteAdmin: expressify(ensureUserIsSiteAdmin),
|
|
ensureUserIsSiteAdmin: expressify(ensureUserIsSiteAdmin),
|
|
|
restricted,
|
|
restricted,
|