summaryrefslogtreecommitdiffstats
path: root/stepped-solutions/FINISHED/backend/src/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'stepped-solutions/FINISHED/backend/src/utils.js')
-rw-r--r--stepped-solutions/FINISHED/backend/src/utils.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/stepped-solutions/FINISHED/backend/src/utils.js b/stepped-solutions/FINISHED/backend/src/utils.js
new file mode 100644
index 0000000..faf028b
--- /dev/null
+++ b/stepped-solutions/FINISHED/backend/src/utils.js
@@ -0,0 +1,17 @@
+function hasPermission(user, permissionsNeeded) {
+ const matchedPermissions = user.permissions.filter(permissionTheyHave =>
+ permissionsNeeded.includes(permissionTheyHave)
+ );
+ if (!matchedPermissions.length) {
+ throw new Error(`You do not have sufficient permissions
+
+ : ${permissionsNeeded}
+
+ You Have:
+
+ ${user.permissions}
+ `);
+ }
+}
+
+exports.hasPermission = hasPermission;