UNPKG

kpiplus

Version:

KPI+

1 lines 752 B
var User=require("../models/user"),Token=require("../models/tokens"),underscore=require("underscore"),BearerStrategy=require("passport-http-bearer").Strategy,usersAdmin=require("../configs").admins,stp=require("stp-utils");module.exports=function(e){e.use(new BearerStrategy({},function(e,n){process.nextTick(function(){!function(e,n){Token.findOne({token:e},function(r,t){if(r)return n(r);var s;s=t?{email:t.email}:{tokens:e},User.findOne(s).lean().exec(function(r,t){return r?n(r):t?(t.current_user=t.email,t.token=e,t.admin=underscore.contains(usersAdmin,t.email)||stp.isSupperAdmin(t.email.toLowerCase()),!1===t.status?n("Người sử dụng này đã bị khóa."):n(null,t)):n(null,null)})})}(e,function(e,r){return e?n(e):n(null,r||!1)})})}))};