UNPKG

4.34 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/strategies/TelegramStrategy.js"],"names":["TelegramStrategy","Strategy","Telegram","type","username","req","user","done","PassportModel","app","modules","auth","models","providerId","getProviderId","findOne","provider","providerName","passport","params","createPassport","isNew","updatePassport","save","redirect","getSuccessRedirect","firstName","first_name","lastName","last_name","avatar","photo_url","UserModel","User","hash","token","getProfile","profile","meta","updateFromPassport","BaseStrategy"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IAEqBA,gB;;;;;;;;;;;;;;;UACnBC,Q,GAAWC,0C;UACXC,I,GAAO,U;;;;;;WAEP,yBAAiC;AAAA,qFAAJ,EAAI;AAAA,UAAjBC,QAAiB,QAAjBA,QAAiB;;AAC/B,aAAOA,QAAP;AACD;;;;oHAED,iBAA+BC,GAA/B,EAAoCC,IAApC,EAA0CC,IAA1C;AAAA;AAAA;AAAA;AAAA;AAAA;AACUC,gBAAAA,aADV,GAC4B,KAAKC,GAAL,CAASC,OAAT,CAAiBC,IAAjB,CAAsBC,MADlD,CACUJ,aADV;AAEQK,gBAAAA,UAFR,GAEqB,KAAKC,aAAL,CAAmBR,IAAnB,CAFrB;AAAA;AAAA,uBAGuBE,aAAa,CAACO,OAAd,CAAsB;AACzCC,kBAAAA,QAAQ,EAAE,KAAKC,YAD0B;AAEzCJ,kBAAAA,UAAU,EAAVA;AAFyC,iBAAtB,CAHvB;;AAAA;AAGMK,gBAAAA,QAHN;AAOQC,gBAAAA,MAPR,GAOiB;AACbd,kBAAAA,GAAG,EAAHA,GADa;AAEbC,kBAAAA,IAAI,EAAJA,IAFa;AAGbO,kBAAAA,UAAU,EAAVA;AAHa,iBAPjB;;AAAA,oBAYOK,QAZP;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAaqB,KAAKE,cAAL,CAAoBD,MAApB,CAbrB;;AAAA;AAaID,gBAAAA,QAbJ;AAcIC,gBAAAA,MAAM,CAACE,KAAP,GAAe,IAAf;;AAdJ;AAgBEF,gBAAAA,MAAM,CAACD,QAAP,GAAkBA,QAAlB;AAhBF;AAAA,uBAiBQ,KAAKI,cAAL,CAAoBH,MAApB,CAjBR;;AAAA;AAAA;AAAA,uBAkBQD,QAAQ,CAACK,IAAT,EAlBR;;AAAA;AAmBEJ,gBAAAA,MAAM,CAACK,QAAP,GAAkB,KAAKC,kBAAL,CAAwBN,MAAxB,CAAlB;AAnBF,iDAoBSZ,IAAI,CAAC,IAAD,EAAOY,MAAP,CApBb;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sGAuBA,kBAAiBb,IAAjB;AAAA;AAAA;AAAA;AAAA;AAAA,kDACS;AACLoB,kBAAAA,SAAS,EAAEpB,IAAI,CAACqB,UADX;AAELC,kBAAAA,QAAQ,EAAEtB,IAAI,CAACuB,SAFV;AAGLC,kBAAAA,MAAM,EAAExB,IAAI,CAACyB,SAHR;AAIL3B,kBAAAA,QAAQ,EAAEE,IAAI,CAACF;AAJV,iBADT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0GASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuBE,gBAAAA,IAAvB,SAAuBA,IAAvB,EAA6BY,QAA7B,SAA6BA,QAA7B;;AACE;AACA;AACMc,gBAAAA,SAHR,GAGoB,KAAKvB,GAAL,CAASG,MAAT,CAAgBoB,SAAhB,IAA6B,KAAKvB,GAAL,CAASG,MAAT,CAAgBqB,IAHjE;AAIE,oBAAI3B,IAAI,CAAC4B,IAAT,EAAehB,QAAQ,CAACiB,KAAT,GAAiB7B,IAAI,CAAC4B,IAAtB;AAJjB;AAAA,uBAK2B,KAAKE,UAAL,CAAgB9B,IAAhB,EAAsBY,QAAtB,CAL3B;;AAAA;AAKEA,gBAAAA,QAAQ,CAACmB,OALX;AAME;AACAnB,gBAAAA,QAAQ,CAACoB,IAAT,GAAgBhC,IAAhB;AAPF;AAAA,uBAQQY,QAAQ,CAACK,IAAT,EARR;;AAAA;AAAA;AAAA,uBASQS,SAAS,CAACO,kBAAV,CAA6BrB,QAA7B,CATR;;AAAA;AAAA,kDAUSA,QAVT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAxC4CsB,yB","sourcesContent":["import { TelegramStrategy as Telegram } from 'passport-telegram-official';\n\nimport BaseStrategy from './BaseStrategy';\n\nexport default class TelegramStrategy extends BaseStrategy {\n Strategy = Telegram;\n type = 'telegram';\n\n getProviderId({ username } = {}) {\n return username;\n }\n\n async passportStrategyCallback(req, user, done) {\n const { PassportModel } = this.app.modules.auth.models;\n const providerId = this.getProviderId(user);\n let passport = await PassportModel.findOne({\n provider: this.providerName,\n providerId,\n });\n const params = {\n req,\n user,\n providerId,\n };\n if (!passport) {\n passport = await this.createPassport(params);\n params.isNew = true;\n }\n params.passport = passport;\n await this.updatePassport(params);\n await passport.save();\n params.redirect = this.getSuccessRedirect(params);\n return done(null, params);\n }\n\n async getProfile(user) {\n return {\n firstName: user.first_name,\n lastName: user.last_name,\n avatar: user.photo_url,\n username: user.username,\n };\n }\n\n async updatePassport({ user, passport }) {\n /* eslint-disable no-param-reassign */\n // console.log('updatePassport EXTENDED', accessToken, refreshToken) ;\n const UserModel = this.app.models.UserModel || this.app.models.User;\n if (user.hash) passport.token = user.hash;\n passport.profile = await this.getProfile(user, passport);\n // const data = await module.getPassportData(passport);\n passport.meta = user;\n await passport.save();\n await UserModel.updateFromPassport(passport);\n return passport;\n /* eslint-enable no-param-reassign */\n }\n}\n"],"file":"TelegramStrategy.js"}
\No newline at end of file