loginRequired.js 661 B

12345678910111213141516171819
  1. const cache = require('../../cache');
  2. module.exports = function(next) {
  3. return function(sessionId) {
  4. let args = [];
  5. for (let prop in arguments) {
  6. args.push(arguments[prop]);
  7. }
  8. let cb = args[args.length - 1];
  9. cache.hget('sessions', sessionId, (err, session) => {
  10. if (err || !session || !session.userSessionId) return cb({ status: 'failure', message: 'Login required.' });
  11. cache.hget('userSessions', session.userSessionId, (err, userSession) => {
  12. if (err || !userSession || !userSession.userId) return cb({ status: 'failure', message: 'Login required.' });
  13. args.push(userSession.userId);
  14. next.apply(null, args);
  15. });
  16. });
  17. }
  18. };