UNPKG

7.37 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
16var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
18var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
20var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
22var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
24var _passportTelegramOfficial = require("passport-telegram-official");
25
26var _BaseStrategy2 = _interopRequireDefault(require("./BaseStrategy"));
27
28function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
30function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
32var TelegramStrategy = /*#__PURE__*/function (_BaseStrategy) {
33 (0, _inherits2["default"])(TelegramStrategy, _BaseStrategy);
34
35 var _super = _createSuper(TelegramStrategy);
36
37 function TelegramStrategy() {
38 var _this;
39
40 (0, _classCallCheck2["default"])(this, TelegramStrategy);
41
42 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43 args[_key] = arguments[_key];
44 }
45
46 _this = _super.call.apply(_super, [this].concat(args));
47 _this.Strategy = _passportTelegramOfficial.TelegramStrategy;
48 _this.type = 'telegram';
49 return _this;
50 }
51
52 (0, _createClass2["default"])(TelegramStrategy, [{
53 key: "getProviderId",
54 value: function getProviderId() {
55 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
56 username = _ref.username;
57
58 return username;
59 }
60 }, {
61 key: "passportStrategyCallback",
62 value: function () {
63 var _passportStrategyCallback = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(req, user, done) {
64 var PassportModel, providerId, passport, params;
65 return _regenerator["default"].wrap(function _callee$(_context) {
66 while (1) {
67 switch (_context.prev = _context.next) {
68 case 0:
69 PassportModel = this.app.modules.auth.models.PassportModel;
70 providerId = this.getProviderId(user);
71 _context.next = 4;
72 return PassportModel.findOne({
73 provider: this.providerName,
74 providerId: providerId
75 });
76
77 case 4:
78 passport = _context.sent;
79 params = {
80 req: req,
81 user: user,
82 providerId: providerId
83 };
84
85 if (passport) {
86 _context.next = 11;
87 break;
88 }
89
90 _context.next = 9;
91 return this.createPassport(params);
92
93 case 9:
94 passport = _context.sent;
95 params.isNew = true;
96
97 case 11:
98 params.passport = passport;
99 _context.next = 14;
100 return this.updatePassport(params);
101
102 case 14:
103 _context.next = 16;
104 return passport.save();
105
106 case 16:
107 params.redirect = this.getSuccessRedirect(params);
108 return _context.abrupt("return", done(null, params));
109
110 case 18:
111 case "end":
112 return _context.stop();
113 }
114 }
115 }, _callee, this);
116 }));
117
118 function passportStrategyCallback(_x, _x2, _x3) {
119 return _passportStrategyCallback.apply(this, arguments);
120 }
121
122 return passportStrategyCallback;
123 }()
124 }, {
125 key: "getProfile",
126 value: function () {
127 var _getProfile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(user) {
128 return _regenerator["default"].wrap(function _callee2$(_context2) {
129 while (1) {
130 switch (_context2.prev = _context2.next) {
131 case 0:
132 return _context2.abrupt("return", {
133 firstName: user.first_name,
134 lastName: user.last_name,
135 avatar: user.photo_url,
136 username: user.username
137 });
138
139 case 1:
140 case "end":
141 return _context2.stop();
142 }
143 }
144 }, _callee2);
145 }));
146
147 function getProfile(_x4) {
148 return _getProfile.apply(this, arguments);
149 }
150
151 return getProfile;
152 }()
153 }, {
154 key: "updatePassport",
155 value: function () {
156 var _updatePassport = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref2) {
157 var user, passport, UserModel;
158 return _regenerator["default"].wrap(function _callee3$(_context3) {
159 while (1) {
160 switch (_context3.prev = _context3.next) {
161 case 0:
162 user = _ref2.user, passport = _ref2.passport;
163
164 /* eslint-disable no-param-reassign */
165 // console.log('updatePassport EXTENDED', accessToken, refreshToken) ;
166 UserModel = this.app.models.UserModel || this.app.models.User;
167 if (user.hash) passport.token = user.hash;
168 _context3.next = 5;
169 return this.getProfile(user, passport);
170
171 case 5:
172 passport.profile = _context3.sent;
173 // const data = await module.getPassportData(passport);
174 passport.meta = user;
175 _context3.next = 9;
176 return passport.save();
177
178 case 9:
179 _context3.next = 11;
180 return UserModel.updateFromPassport(passport);
181
182 case 11:
183 return _context3.abrupt("return", passport);
184
185 case 12:
186 case "end":
187 return _context3.stop();
188 }
189 }
190 }, _callee3, this);
191 }));
192
193 function updatePassport(_x5) {
194 return _updatePassport.apply(this, arguments);
195 }
196
197 return updatePassport;
198 }()
199 }]);
200 return TelegramStrategy;
201}(_BaseStrategy2["default"]);
202
203exports["default"] = TelegramStrategy;
204//# sourceMappingURL=TelegramStrategy.js.map
\No newline at end of file