update libflitter/flap & run migrations
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
* -------------------------------------------------------------
|
||||
* Put some description here!
|
||||
*/
|
||||
class Debug {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class Debug extends Middleware {
|
||||
|
||||
/*
|
||||
* Run the middleware test.
|
||||
@@ -11,10 +12,10 @@ class Debug {
|
||||
* It should either call the next function in the stack,
|
||||
* or it should handle the response accordingly.
|
||||
*/
|
||||
test(req, res, next, args = {}){
|
||||
test(req, res, next, args = {}) {
|
||||
console.log('DEBUGGING LAYER:')
|
||||
console.log('Incoming destination: '+req.originalUrl)
|
||||
console.log('Incoming method: '+req.method)
|
||||
console.log('Incoming destination: ' + req.originalUrl)
|
||||
console.log('Incoming method: ' + req.method)
|
||||
|
||||
/*
|
||||
* Call the next function in the stack.
|
||||
@@ -23,4 +24,4 @@ class Debug {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Debug
|
||||
module.exports = Debug
|
||||
@@ -6,7 +6,8 @@
|
||||
* the '/' route is accessed. It can be injected in routes globally using
|
||||
* the global mw() function.
|
||||
*/
|
||||
class HomeLogger {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class HomeLogger extends Middleware {
|
||||
|
||||
/*
|
||||
* Run the middleware test.
|
||||
@@ -14,7 +15,7 @@ class HomeLogger {
|
||||
* It should either call the next function in the stack,
|
||||
* or it should handle the response accordingly.
|
||||
*/
|
||||
test(req, res, next){
|
||||
test(req, res, next) {
|
||||
console.log("Home was accessed!")
|
||||
|
||||
/*
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
*
|
||||
* @class
|
||||
*/
|
||||
class Permission {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class Permission extends Middleware {
|
||||
|
||||
/**
|
||||
* Run the middleware's check. If an authenticated session exists and the user has the specified permission,
|
||||
@@ -19,31 +20,33 @@ class Permission {
|
||||
* @param {Function} next - Express handler stack callback. This should be called if the middleware check passed to allow the request to continue.
|
||||
* @param {string} permission - Name of the permission to require
|
||||
*/
|
||||
async test(req, res, next, permission){
|
||||
if ( req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user) ){
|
||||
if ( req.session.auth.user.permissions && req.session.auth.user.permissions.includes(permission) ){
|
||||
async test(req, res, next, permission) {
|
||||
if (req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user)) {
|
||||
if (req.session.auth.user.permissions && req.session.auth.user.permissions.includes(permission)) {
|
||||
next()
|
||||
}
|
||||
else if ( req.session.auth.user.role ){
|
||||
} else if (req.session.auth.user.role) {
|
||||
const Role = _flitter.model('auth:Role')
|
||||
const role = await Role.findOne({name: req.session.auth.user.role})
|
||||
const role = await Role.findOne({
|
||||
name: req.session.auth.user.role
|
||||
})
|
||||
|
||||
if ( role.permissions.includes(permission) ){
|
||||
if (role.permissions.includes(permission)) {
|
||||
next()
|
||||
} else {
|
||||
return _flitter.error(res, 401, {
|
||||
reason: 'Insufficient user permissions.'
|
||||
})
|
||||
}
|
||||
else {
|
||||
return _flitter.error(res, 401, {reason: 'Insufficient user permissions.'})
|
||||
}
|
||||
} else {
|
||||
return _flitter.error(res, 401, {
|
||||
reason: 'Insufficient user permissions.'
|
||||
})
|
||||
}
|
||||
else {
|
||||
return _flitter.error(res, 401, {reason: 'Insufficient user permissions.'})
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
req.session.destination = req.originalUrl
|
||||
return res.redirect('/auth/login')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Permission
|
||||
module.exports = Permission
|
||||
@@ -8,7 +8,8 @@
|
||||
*
|
||||
* @class
|
||||
*/
|
||||
class RequireAuth {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class RequireAuth extends Middleware {
|
||||
|
||||
/**
|
||||
* Run the middleware's check. If an authenticated session exists, let the request continue.
|
||||
@@ -18,14 +19,13 @@ class RequireAuth {
|
||||
* @param {Express/Response} res - the corresponding Express response
|
||||
* @param {Function} next - Express handler stack callback. This should be called if the middleware check passed to allow the request to continue.
|
||||
*/
|
||||
test(req, res, next){
|
||||
if ( req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user) ){
|
||||
test(req, res, next) {
|
||||
if (req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user)) {
|
||||
/*
|
||||
* Call the next function in the stack.
|
||||
*/
|
||||
next()
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
req.session.destination = req.originalUrl
|
||||
return res.redirect('/auth/login')
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
*
|
||||
* @class
|
||||
*/
|
||||
class RequireGuest {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class RequireGuest extends Middleware {
|
||||
|
||||
/**
|
||||
* Run the middleware test. If an authenticated session exists, redirect the user to an error page.
|
||||
@@ -17,8 +18,8 @@ class RequireGuest {
|
||||
* @param {Express/Response} res - the corresponding Express response
|
||||
* @param {Function} next - The callback to continue the Express request handling stack. This is called if the middleware check passes.
|
||||
*/
|
||||
test(req, res, next){
|
||||
if ( req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user) ){
|
||||
test(req, res, next) {
|
||||
if (req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user)) {
|
||||
return _flitter.view(res, 'errors/requires_guest')
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
*
|
||||
* @class
|
||||
*/
|
||||
class Role {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class Role extends Middleware {
|
||||
|
||||
/**
|
||||
* Run the middleware's check. If an authenticated session exists and the user has the specified role,
|
||||
@@ -19,20 +20,20 @@ class Role {
|
||||
* @param {Function} next - Express handler stack callback. This should be called if the middleware check passed to allow the request to continue.
|
||||
* @param {string} role - Name of the role to require
|
||||
*/
|
||||
test(req, res, next, role){
|
||||
if ( req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user) ){
|
||||
if ( req.session.auth.user.role && req.session.auth.user.role === role ){
|
||||
test(req, res, next, role) {
|
||||
if (req.session && req.session.auth && (req.session.auth.authenticated === true || req.session.auth.user)) {
|
||||
if (req.session.auth.user.role && req.session.auth.user.role === role) {
|
||||
next()
|
||||
} else {
|
||||
return _flitter.error(res, 401, {
|
||||
reason: 'Insufficient user permissions.'
|
||||
})
|
||||
}
|
||||
else {
|
||||
return _flitter.error(res, 401, {reason: 'Insufficient user permissions.'})
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
req.session.destination = req.originalUrl
|
||||
return res.redirect('/auth/login')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Role
|
||||
module.exports = Role
|
||||
@@ -3,7 +3,8 @@
|
||||
* -------------------------------------------------------------
|
||||
* Put some description here!
|
||||
*/
|
||||
class Invite {
|
||||
const Middleware = require('libflitter/middleware/Middleware')
|
||||
class Invite extends Middleware {
|
||||
|
||||
/*
|
||||
* Run the middleware test.
|
||||
@@ -11,8 +12,8 @@ class Invite {
|
||||
* It should either call the next function in the stack,
|
||||
* or it should handle the response accordingly.
|
||||
*/
|
||||
test(req, res, next, args = {}){
|
||||
if ( req.session.invite && !req.originalUrl.includes('/dash/v1/invitation/accept') ){
|
||||
test(req, res, next, args = {}) {
|
||||
if (req.session.invite && !req.originalUrl.includes('/dash/v1/invitation/accept')) {
|
||||
return res.redirect('/dash/v1/invitation/accept')
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user