UNPKG

3.88 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/createHelpers.js"],"names":["bcryptGenSalt","Bluebird","promisify","bcrypt","genSalt","bcryptHash","hash","bcryptCompare","compare","SALT_WORK_FACTOR","hashPassword","password","salt","createHelpers","app","Err","configJwt","secret","log","error","isDev","helpers","setPassword","user","verifyPassword","password1","password2","generateAuthToken","_id","role","params","options","jwt","sign"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,aAAa,GAAGC,qBAASC,SAAT,CAAmBC,qBAAOC,OAA1B,CAAtB;;AACA,IAAMC,UAAU,GAAGJ,qBAASC,SAAT,CAAmBC,qBAAOG,IAA1B,CAAnB;;AACA,IAAMC,aAAa,GAAGN,qBAASC,SAAT,CAAmBC,qBAAOK,OAA1B,CAAtB;;AAEA,IAAMC,gBAAgB,GAAG,EAAzB;;SACeC,Y;;;;;gGAAf,kBAA4BC,QAA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACqBX,aAAa,CAACS,gBAAD,CADlC;;AAAA;AACQG,YAAAA,IADR;AAAA,8CAESP,UAAU,CAACM,QAAD,EAAWC,IAAX,CAFnB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAKe,SAASC,aAAT,GAAqC;AAAA,iFAAJ,EAAI;AAAA,MAAZC,GAAY,QAAZA,GAAY;;AAClD,MAAI,CAACA,GAAL,EAAU,MAAM,IAAIC,eAAJ,CAAQ,MAAR,CAAN;AACV,MAAMC,SAAS,GAAG,qBAAIF,GAAJ,EAAS,iBAAT,EAA4B,qBAAIA,GAAJ,EAAS,YAAT,EAAuB,EAAvB,CAA5B,CAAlB;;AACA,MAAI,CAACE,SAAS,CAACC,MAAf,EAAuB;AACrBH,IAAAA,GAAG,CAACI,GAAJ,CAAQC,KAAR,CAAc,gCAAd,EADqB,CAC4B;;AACjD,QAAI,CAACC,UAAL,EAAY;AACV,YAAM,IAAIL,eAAJ,CAAQ,qBAAR,CAAN;AACD;AACF;;AACD,MAAMM,OAAO,GAAG;AACdX,IAAAA,YAAY,EAAZA,YADc;AAERY,IAAAA,WAFQ,uBAEIC,IAFJ,EAEUZ,QAFV,EAEoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACVD,YAAY,CAACC,QAAD,CADF;;AAAA;AAChCY,gBAAAA,IAAI,CAACZ,QAD2B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEjC,KAJa;AAKda,IAAAA,cALc,0BAKCC,SALD,EAKYC,SALZ,EAKuB;AACnC;AACA,UAAI,CAACD,SAAD,IAAc,CAACC,SAAnB,EAA8B,OAAO,KAAP;AAC9B,aAAOnB,aAAa,CAACkB,SAAD,EAAYC,SAAZ,CAApB;AACD,KATa;AAUdC,IAAAA,iBAVc,oCAUgC;AAAA,UAA1BC,GAA0B,SAA1BA,GAA0B;AAAA,UAArBC,IAAqB,SAArBA,IAAqB;AAAA,UAAbC,MAAa,uEAAJ,EAAI;AAC5C,8BAAiEd,SAAjE,CAAQC,MAAR;AAAA,UAAQA,MAAR,kCAAiB,+BAAjB;AAAA,UAAqDc,OAArD,6CAAiEf,SAAjE,aAD4C,CAE5C;;AACA,aAAOgB,yBAAIC,IAAJ;AAEHL,QAAAA,GAAG,EAAHA,GAFG;AAGHC,QAAAA,IAAI,EAAJA;AAHG,SAIAC,MAJA,GAMLb,MANK,EAOLc,OAAO,IAAI,EAPN,CAAP;AASD;AAtBa,GAAhB;AAwBA,SAAOV,OAAP;AACD","sourcesContent":["// import Api from './BaseApi';\nimport { isDev } from '@lskjs/env';\nimport Err from '@lskjs/err';\nimport bcrypt from 'bcryptjs';\nimport Bluebird from 'bluebird';\nimport jwt from 'jsonwebtoken';\nimport get from 'lodash/get';\n\nconst bcryptGenSalt = Bluebird.promisify(bcrypt.genSalt);\nconst bcryptHash = Bluebird.promisify(bcrypt.hash);\nconst bcryptCompare = Bluebird.promisify(bcrypt.compare);\n\nconst SALT_WORK_FACTOR = 10;\nasync function hashPassword(password) {\n const salt = await bcryptGenSalt(SALT_WORK_FACTOR);\n return bcryptHash(password, salt);\n}\n\nexport default function createHelpers({ app } = {}) {\n if (!app) throw new Err('!app');\n const configJwt = get(app, 'config.auth.jwt', get(app, 'config.jwt', {}));\n if (!configJwt.secret) {\n app.log.error('app.config.jwt.secret IS EMPTY'); // eslint-disable-line no-console\n if (!isDev) {\n throw new Err('auth.emptyJwtSecret');\n }\n }\n const helpers = {\n hashPassword,\n async setPassword(user, password) {\n user.password = await hashPassword(password); // eslint-disable-line no-param-reassign\n },\n verifyPassword(password1, password2) {\n // console.log('verifyPassword', password1, password2);\n if (!password1 || !password2) return false;\n return bcryptCompare(password1, password2);\n },\n generateAuthToken({ _id, role }, params = {}) {\n const { secret = 'REPLACE_THIS_JS_SECRET_PLEASE', ...options } = configJwt;\n // TODO переместить в modules.auth\n return jwt.sign(\n {\n _id,\n role,\n ...params,\n },\n secret,\n options || {},\n );\n },\n };\n return helpers;\n}\n"],"file":"createHelpers.js"}
\No newline at end of file