Skip to content
Snippets Groups Projects
Commit 3ee0ab92 authored by Bogdan Cochior's avatar Bogdan Cochior
Browse files

feat(tooltip): filter author emails for reviewers

parent 4e170cc7
No related branches found
No related tags found
1 merge request!6Agree/Decline to work on a manuscript
const omit = require('lodash/omit')
const config = require('config')
const statuses = config.get('statuses')
const publicStatusesPermissions = ['author', 'reviewer']
module.exports = {
parseReviewerAuthors: (coll, matchingCollPerm) => {
if (['reviewer'].includes(matchingCollPerm.permission)) {
coll.authors = coll.authors.map(a => omit(a, ['email']))
}
},
setPublicStatuses: (coll, matchingCollPerm) => {
coll.visibleStatus = statuses[coll.status].public
if (!publicStatusesPermissions.includes(matchingCollPerm.permission)) {
coll.visibleStatus = statuses[coll.status].private
}
},
}
const get = require('lodash/get')
const pickBy = require('lodash/pickBy')
const omit = require('lodash/omit')
const config = require('config')
const helpers = require('./authsome-helpers')
const statuses = config.get('statuses')
async function teamPermissions(user, operation, object, context) {
const permissions = ['handlingEditor', 'author', 'reviewer']
const teams = await Promise.all(
......@@ -20,7 +19,6 @@ async function teamPermissions(user, operation, object, context) {
id: team.object.id,
permission: team.teamType.permissions,
}))
const publicPermissions = ['author', 'reviewer']
if (collectionsPermissions.length > 0) {
return {
......@@ -35,10 +33,8 @@ async function teamPermissions(user, operation, object, context) {
if (matchingCollPerm === undefined) {
return null
}
coll.visibleStatus = statuses[coll.status].public
if (!publicPermissions.includes(matchingCollPerm.permission)) {
coll.visibleStatus = statuses[coll.status].private
}
helpers.setPublicStatuses(coll, matchingCollPerm)
helpers.parseReviewerAuthors(coll, matchingCollPerm)
return coll
})
.filter(Boolean)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment