UNPKG

3.89 kBSource Map (JSON)View Raw
1{"version":3,"file":"createHelpers.js","names":["bcryptGenSalt","Bluebird","promisify","bcrypt","genSalt","bcryptHash","hash","bcryptCompare","compare","SALT_WORK_FACTOR","hashPassword","password","salt","createHelpers","app","Err","configJwt","get","secret","log","error","isDev","helpers","setPassword","user","verifyPassword","password1","password2","generateAuthToken","_id","role","params","options","jwt","sign"],"sources":["../../src/utils/createHelpers.js"],"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"],"mappings":";;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AAA6B;AAAA;AAAA;AAAA,+CAL7B;AAOA,IAAMA,aAAa,GAAGC,oBAAQ,CAACC,SAAS,CAACC,oBAAM,CAACC,OAAO,CAAC;AACxD,IAAMC,UAAU,GAAGJ,oBAAQ,CAACC,SAAS,CAACC,oBAAM,CAACG,IAAI,CAAC;AAClD,IAAMC,aAAa,GAAGN,oBAAQ,CAACC,SAAS,CAACC,oBAAM,CAACK,OAAO,CAAC;AAExD,IAAMC,gBAAgB,GAAG,EAAE;AAAC,SACbC,YAAY;EAAA;AAAA;AAAA;EAAA,4FAA3B,kBAA4BC,QAAQ;IAAA;IAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACfX,aAAa,CAACS,gBAAgB,CAAC;UAAA;YAA5CG,IAAI;YAAA,kCACHP,UAAU,CAACM,QAAQ,EAAEC,IAAI,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAClC;EAAA;AAAA;AAEc,SAASC,aAAa,GAAe;EAAA,+EAAJ,CAAC,CAAC;IAAVC,GAAG,QAAHA,GAAG;EACzC,IAAI,CAACA,GAAG,EAAE,MAAM,IAAIC,eAAG,CAAC,MAAM,CAAC;EAC/B,IAAMC,SAAS,GAAG,IAAAC,eAAG,EAACH,GAAG,EAAE,iBAAiB,EAAE,IAAAG,eAAG,EAACH,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;EACzE,IAAI,CAACE,SAAS,CAACE,MAAM,EAAE;IACrBJ,GAAG,CAACK,GAAG,CAACC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACjD,IAAI,CAACC,UAAK,EAAE;MACV,MAAM,IAAIN,eAAG,CAAC,qBAAqB,CAAC;IACtC;EACF;EACA,IAAMO,OAAO,GAAG;IACdZ,YAAY,EAAZA,YAAY;IACNa,WAAW,uBAACC,IAAI,EAAEb,QAAQ,EAAE;MAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACVD,YAAY,CAACC,QAAQ,CAAC;cAAA;gBAA5Ca,IAAI,CAACb,QAAQ;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACf,CAAC;IACDc,cAAc,0BAACC,SAAS,EAAEC,SAAS,EAAE;MACnC;MACA,IAAI,CAACD,SAAS,IAAI,CAACC,SAAS,EAAE,OAAO,KAAK;MAC1C,OAAOpB,aAAa,CAACmB,SAAS,EAAEC,SAAS,CAAC;IAC5C,CAAC;IACDC,iBAAiB,oCAA6B;MAAA,IAA1BC,GAAG,SAAHA,GAAG;QAAEC,IAAI,SAAJA,IAAI;MAAA,IAAIC,MAAM,uEAAG,CAAC,CAAC;MAC1C,wBAAiEf,SAAS,CAAlEE,MAAM;QAANA,MAAM,kCAAG,+BAA+B;QAAKc,OAAO,6CAAKhB,SAAS;MAC1E;MACA,OAAOiB,wBAAG,CAACC,IAAI;QAEXL,GAAG,EAAHA,GAAG;QACHC,IAAI,EAAJA;MAAI,GACDC,MAAM,GAEXb,MAAM,EACNc,OAAO,IAAI,CAAC,CAAC,CACd;IACH;EACF,CAAC;EACD,OAAOV,OAAO;AAChB"}
\No newline at end of file