1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = void 0;
|
9 |
|
10 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
11 |
|
12 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
13 |
|
14 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
15 |
|
16 | var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
17 |
|
18 | var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
19 |
|
20 | var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
21 |
|
22 | var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
23 |
|
24 | var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
25 |
|
26 | var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
27 |
|
28 | var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch"));
|
29 |
|
30 | var _passportVkontakte = _interopRequireDefault(require("passport-vkontakte"));
|
31 |
|
32 | var _BaseStrategy2 = _interopRequireDefault(require("./BaseStrategy"));
|
33 |
|
34 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
35 |
|
36 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
37 |
|
38 | function _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); }; }
|
39 |
|
40 | function _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; } }
|
41 |
|
42 | var VkontakteStrategy = function (_BaseStrategy) {
|
43 | (0, _inherits2["default"])(VkontakteStrategy, _BaseStrategy);
|
44 |
|
45 | var _super = _createSuper(VkontakteStrategy);
|
46 |
|
47 | function VkontakteStrategy() {
|
48 | var _this;
|
49 |
|
50 | (0, _classCallCheck2["default"])(this, VkontakteStrategy);
|
51 |
|
52 | for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
53 | args[_key] = arguments[_key];
|
54 | }
|
55 |
|
56 | _this = _super.call.apply(_super, [this].concat(args));
|
57 | _this.Strategy = _passportVkontakte["default"].Strategy;
|
58 | _this.type = 'vkontakte';
|
59 | return _this;
|
60 | }
|
61 |
|
62 | (0, _createClass2["default"])(VkontakteStrategy, [{
|
63 | key: "checkToken",
|
64 | value: function () {
|
65 | var _checkToken = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee(id, accessToken) {
|
66 | return _regenerator["default"].wrap(function _callee$(_context) {
|
67 | while (1) {
|
68 | switch (_context.prev = _context.next) {
|
69 | case 0:
|
70 | if (!(!id || !accessToken)) {
|
71 | _context.next = 2;
|
72 | break;
|
73 | }
|
74 |
|
75 | return _context.abrupt("return", false);
|
76 |
|
77 | case 2:
|
78 | _context.prev = 2;
|
79 | return _context.abrupt("return", (0, _isomorphicFetch["default"])("https://api.vk.com/method/users.get?access_token=".concat(accessToken, "&v=5.00")).then(function (response) {
|
80 | return response.json().then(function (json) {
|
81 | if (json && json.response && json.response[0] && json.response[0].id && json.response[0].id.toString() === id.toString()) {
|
82 | return true;
|
83 | }
|
84 |
|
85 | return false;
|
86 | });
|
87 | }));
|
88 |
|
89 | case 6:
|
90 | _context.prev = 6;
|
91 | _context.t0 = _context["catch"](2);
|
92 | return _context.abrupt("return", false);
|
93 |
|
94 | case 9:
|
95 | case "end":
|
96 | return _context.stop();
|
97 | }
|
98 | }
|
99 | }, _callee, null, [[2, 6]]);
|
100 | }));
|
101 |
|
102 | function checkToken(_x, _x2) {
|
103 | return _checkToken.apply(this, arguments);
|
104 | }
|
105 |
|
106 | return checkToken;
|
107 | }()
|
108 | }, {
|
109 | key: "getInfo",
|
110 | value: function getInfo() {
|
111 | return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(VkontakteStrategy.prototype), "getInfo", this).call(this)), {}, {
|
112 | settings: "https://vk.com/editapp?id=".concat(this.config.clientId || this.config.clientID)
|
113 | });
|
114 | }
|
115 | }, {
|
116 | key: "getProfile",
|
117 | value: function () {
|
118 | var _getProfile = (0, _asyncToGenerator2["default"])( _regenerator["default"].mark(function _callee2(passport) {
|
119 | var fields, res, json, data;
|
120 | return _regenerator["default"].wrap(function _callee2$(_context2) {
|
121 | while (1) {
|
122 | switch (_context2.prev = _context2.next) {
|
123 | case 0:
|
124 |
|
125 |
|
126 | fields = ['sex', 'bdate', 'city', 'country', 'photo_50', 'photo_100', 'photo_200', 'photo_max_orig', 'photo_max', 'domain', 'id', 'about'];
|
127 | _context2.next = 3;
|
128 | return (0, _isomorphicFetch["default"])("https://api.vk.com/method/users.get?fields=".concat(fields.join(','), "&access_token=").concat(passport.token, "&v=5.00"));
|
129 |
|
130 | case 3:
|
131 | res = _context2.sent;
|
132 | _context2.next = 6;
|
133 | return res.json();
|
134 |
|
135 | case 6:
|
136 | json = _context2.sent;
|
137 | data = json.response[0];
|
138 | return _context2.abrupt("return", {
|
139 | firstName: data.first_name,
|
140 | lastName: data.last_name,
|
141 | gender: data.sex === 1 ? 'female' : 'male',
|
142 | photos: [data.photo_50, data.photo_100, data.photo_200, data.photo_max, data.photo_max_orig],
|
143 | domain: data.domain,
|
144 | about: data.about,
|
145 | bdate: data.bdate,
|
146 | avatar: data.photo_200,
|
147 | city: data.city,
|
148 | country: data.country
|
149 | });
|
150 |
|
151 | case 9:
|
152 | case "end":
|
153 | return _context2.stop();
|
154 | }
|
155 | }
|
156 | }, _callee2);
|
157 | }));
|
158 |
|
159 | function getProfile(_x3) {
|
160 | return _getProfile.apply(this, arguments);
|
161 | }
|
162 |
|
163 | return getProfile;
|
164 | }()
|
165 | }]);
|
166 | return VkontakteStrategy;
|
167 | }(_BaseStrategy2["default"]);
|
168 |
|
169 | exports["default"] = VkontakteStrategy;
|
170 |
|
\ | No newline at end of file |