mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
35 lines
858 B
JavaScript
35 lines
858 B
JavaScript
const { hasAdminCapability } = require('../Helpers/AdminAuthorizationHelper')
|
|
|
|
const UserMembershipAuthorization = {
|
|
hasStaffAccess(requiredStaffAccess) {
|
|
return req => {
|
|
if (!req.user) {
|
|
return false
|
|
}
|
|
return (
|
|
requiredStaffAccess &&
|
|
req.user.staffAccess &&
|
|
req.user.staffAccess[requiredStaffAccess]
|
|
)
|
|
}
|
|
},
|
|
|
|
hasAdminCapability,
|
|
|
|
hasEntityAccess() {
|
|
return req => {
|
|
if (!req.entity) {
|
|
return false
|
|
}
|
|
const fieldAccess = req.entity[req.entityConfig.fields.access]
|
|
const fieldAccessArray = Array.isArray(fieldAccess)
|
|
? fieldAccess
|
|
: [fieldAccess.toString()]
|
|
return fieldAccessArray.some(
|
|
accessUserId => accessUserId.toString() === req.user._id.toString()
|
|
)
|
|
}
|
|
},
|
|
}
|
|
module.exports = UserMembershipAuthorization
|