@crowdin/app-project-module 0.13.2 → 0.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,38 +17,44 @@ const util_1 = require("../util");
17
17
  function handle(config, integration) {
18
18
  return (0, util_1.runAsyncWrapper)((req, res) => __awaiter(this, void 0, void 0, function* () {
19
19
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
20
- const code = req.query[((_b = (_a = integration.oauthLogin) === null || _a === void 0 ? void 0 : _a.fieldsMapping) === null || _b === void 0 ? void 0 : _b.code) || 'code'];
21
- const oauthLogin = integration.oauthLogin;
22
- let credentials;
23
- if (oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.performGetTokenRequest) {
24
- credentials = yield oauthLogin.performGetTokenRequest(code);
25
- }
26
- else {
27
- const request = {};
28
- const oauthLogin = integration.oauthLogin;
29
- request[((_c = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _c === void 0 ? void 0 : _c.code) || 'code'] = code;
30
- request[((_d = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _d === void 0 ? void 0 : _d.clientId) || 'client_id'] = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.clientId;
31
- request[((_e = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _e === void 0 ? void 0 : _e.clientSecret) || 'client_secret'] = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.clientSecret;
32
- request[((_f = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _f === void 0 ? void 0 : _f.redirectUri) || 'redirect_uri'] = `${config.baseUrl}${(0, util_1.getOauthRoute)(integration)}`;
33
- if (oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.extraAccessTokenParameters) {
34
- Object.entries(oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.extraAccessTokenParameters).forEach(([key, value]) => (request[key] = value));
35
- }
36
- credentials = (yield axios_1.default.post(((_g = integration.oauthLogin) === null || _g === void 0 ? void 0 : _g.accessTokenUrl) || '', request, {
37
- headers: { Accept: 'application/json' },
38
- })).data;
39
- }
40
20
  const message = {
41
21
  uid: 'oauth_popup',
42
22
  };
43
- const oauthCredentials = {};
44
- oauthCredentials.accessToken = credentials[((_h = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _h === void 0 ? void 0 : _h.accessToken) || 'access_token'];
45
- if (oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.refresh) {
46
- oauthCredentials.refreshToken = credentials[((_j = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _j === void 0 ? void 0 : _j.refreshToken) || 'refresh_token'];
47
- oauthCredentials.expireIn =
48
- Number(credentials[((_k = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _k === void 0 ? void 0 : _k.expiresIn) || 'expires_in']) + Date.now() / 1000;
23
+ try {
24
+ const code = req.query[((_b = (_a = integration.oauthLogin) === null || _a === void 0 ? void 0 : _a.fieldsMapping) === null || _b === void 0 ? void 0 : _b.code) || 'code'];
25
+ const oauthLogin = integration.oauthLogin;
26
+ let credentials;
27
+ if (oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.performGetTokenRequest) {
28
+ credentials = yield oauthLogin.performGetTokenRequest(code);
29
+ }
30
+ else {
31
+ const request = {};
32
+ const oauthLogin = integration.oauthLogin;
33
+ request[((_c = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _c === void 0 ? void 0 : _c.code) || 'code'] = code;
34
+ request[((_d = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _d === void 0 ? void 0 : _d.clientId) || 'client_id'] = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.clientId;
35
+ request[((_e = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _e === void 0 ? void 0 : _e.clientSecret) || 'client_secret'] = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.clientSecret;
36
+ request[((_f = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _f === void 0 ? void 0 : _f.redirectUri) || 'redirect_uri'] = `${config.baseUrl}${(0, util_1.getOauthRoute)(integration)}`;
37
+ if (oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.extraAccessTokenParameters) {
38
+ Object.entries(oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.extraAccessTokenParameters).forEach(([key, value]) => (request[key] = value));
39
+ }
40
+ credentials = (yield axios_1.default.post(((_g = integration.oauthLogin) === null || _g === void 0 ? void 0 : _g.accessTokenUrl) || '', request, {
41
+ headers: { Accept: 'application/json' },
42
+ })).data;
43
+ }
44
+ const oauthCredentials = {};
45
+ oauthCredentials.accessToken = credentials[((_h = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _h === void 0 ? void 0 : _h.accessToken) || 'access_token'];
46
+ if (oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.refresh) {
47
+ oauthCredentials.refreshToken = credentials[((_j = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _j === void 0 ? void 0 : _j.refreshToken) || 'refresh_token'];
48
+ oauthCredentials.expireIn =
49
+ Number(credentials[((_k = oauthLogin === null || oauthLogin === void 0 ? void 0 : oauthLogin.fieldsMapping) === null || _k === void 0 ? void 0 : _k.expiresIn) || 'expires_in']) + Date.now() / 1000;
50
+ }
51
+ message.data = oauthCredentials;
52
+ return res.render('oauth', { message: JSON.stringify(message) });
53
+ }
54
+ catch (e) {
55
+ message.data = { error: (0, util_1.getMessage)(e) };
56
+ return res.render('oauth', { message: JSON.stringify(message) });
49
57
  }
50
- message.data = oauthCredentials;
51
- return res.render('oauth', { message: JSON.stringify(message) });
52
58
  }), config.onError);
53
59
  }
54
60
  exports.default = handle;
@@ -65,9 +65,13 @@
65
65
 
66
66
  function oauthLogin() {
67
67
  const url = '{{{ oauthUrl }}}';
68
- const oauthWindow = window.open(url, '{{ name }}', 'location=0,status=0,width=800,height=400');
68
+ const oauthWindow = window.open(url, '{{ name }}', 'location=0,status=0,width=800,height=400');
69
69
  postPromises['oauth_popup'] = {
70
70
  resolve: (data) => {
71
+ if (data.error) {
72
+ showToast(data.error);
73
+ return;
74
+ }
71
75
  integrationLogin({
72
76
  refreshToken: data.refreshToken,
73
77
  accessToken: data.accessToken,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crowdin/app-project-module",
3
- "version": "0.13.2",
3
+ "version": "0.13.3",
4
4
  "description": "Module that generates for you all common endpoints for serving standalone Crowdin App",
5
5
  "main": "out/index.js",
6
6
  "types": "out/index.d.ts",