overleaf/services/web/app/src/Features/UserMembership/UserMembershipAuthorization.js

30 lines
634 B
JavaScript
Raw Normal View History

let UserMembershipAuthorization = {
hasStaffAccess(requiredStaffAccess) {
return req => {
if (!req.user) {
return false
}
if (req.user.isAdmin) {
return true
}
return (
requiredStaffAccess &&
req.user.staffAccess &&
req.user.staffAccess[requiredStaffAccess]
)
}
},
hasEntityAccess() {
return req => {
if (!req.entity) {
return false
}
return req.entity[req.entityConfig.fields.access].some(accessUserId =>
accessUserId.equals(req.user._id)
)
}
}
}
module.exports = UserMembershipAuthorization