Comparing version 0.0.2 to 0.0.3
@@ -34,10 +34,8 @@ "use strict"; | ||
if (userLevel == null) { | ||
if (adminMap[userId] === true) { | ||
userLevel = adminLevel; | ||
} else if (isAuthed) { | ||
userLevel = authenticatedLevel; | ||
} else { | ||
userLevel = 0; | ||
} | ||
if (adminMap[userId] === true) { | ||
userLevel = Math.max(adminLevel, userLevel || 0); | ||
} else if (isAuthed) { | ||
userLevel = Math.max(authenticatedLevel, userLevel || 0); | ||
} else { | ||
userLevel = 0; | ||
} | ||
@@ -44,0 +42,0 @@ |
{ | ||
"name": "auth-perm", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"description": "A simple level-based permission / authorization / access control", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
# auth-perm | ||
A simple level-based permission authorization | ||
### Install | ||
``` | ||
npm install --save auth-perm | ||
``` | ||
### Usage | ||
```javascript | ||
const perm = new Permissions({ | ||
admins: ['adminId1', 'adminId2'], // Admin user ids | ||
defaultLevel: 0, // Default required user permission level | ||
authenticatedLevel = 1, // Level assigned to authenticated users | ||
adminLevel = 10, // Level assigned to admin user | ||
}); | ||
// Returns true if allowed. | ||
perm.check( | ||
{ | ||
p: 2, // User permission level required for this check | ||
a: ['allowedUserId1'], // Whitelisted user ids | ||
b: ['blockedUserId1'], // Blacklisted user ids | ||
}, | ||
'sessionUserId', // Optional user id. | ||
// If provided, authenticated user level will be assigned. | ||
// Also, it will be tested against whitelist and blacklist ids. | ||
// If not provided, user permission level will be 0. | ||
3 // Optional user level. | ||
// If provided, this value will be used as the user's permission level. | ||
); | ||
``` |
5239
37
62