55 * - Route requiring `superUser` role is only allowed for `super_user`.
66 * - Route requiring `appOwner` role is allowed for `superUser` and `app_owner`.
77 */
8- const REQUIRED_ROLES_PRIORITY = {
8+ export const REQUIRED_ROLES_PRIORITY = {
99 superUser : [ "super_user" ] ,
1010 appOwner : [ "app_owner" , "super_user" ] ,
1111 default : [ "default" , "super_user" , "app_owner" ] ,
@@ -19,7 +19,7 @@ const REQUIRED_ROLES_PRIORITY = {
1919 * @param {Object } userRoles - Roles information of the current user.
2020 * @returns {Boolean } - Whether the current user is authorized for required role level.
2121 */
22- const userHasPermission = ( requiredRole , userRoles ) => {
22+ export const userHasPermission = ( requiredRole , userRoles ) => {
2323 const allowedRoles = REQUIRED_ROLES_PRIORITY [ `${ requiredRole } ` ] || [ "default" ] ;
2424 return allowedRoles . some ( ( role ) => {
2525 return Boolean ( userRoles [ `${ role } ` ] ) ;
@@ -35,7 +35,7 @@ const userHasPermission = (requiredRole, userRoles) => {
3535 * @param {String } requiredRole - The least role authority required for a route.
3636 * @returns {Function } - A middleware function that authorizes given role.
3737 */
38- const authorizeUser = ( requiredRole ) => {
38+ export const authorizeUser = ( requiredRole ) => {
3939 return ( req , res , next ) => {
4040 const { roles = { } } = req . userData ;
4141 // All users should have `default` role
@@ -49,6 +49,7 @@ const authorizeUser = (requiredRole) => {
4949} ;
5050
5151export default {
52+ REQUIRED_ROLES_PRIORITY ,
5253 authorizeUser,
5354 userHasPermission,
5455} ;
0 commit comments