@wireapp/api-client 22.2.0 → 22.3.0

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.
@@ -23,6 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.NotificationAPI = exports.NOTIFICATION_SIZE_MAXIMUM = void 0;
25
25
  const axios_1 = __importDefault(require("axios"));
26
+ const http_1 = require("../../http");
26
27
  exports.NOTIFICATION_SIZE_MAXIMUM = 10000;
27
28
  class NotificationAPI {
28
29
  constructor(client) {
@@ -70,9 +71,8 @@ class NotificationAPI {
70
71
  * @see https://staging-nginz-https.zinfra.io/swagger-ui/#!/push/fetchNotifications
71
72
  */
72
73
  async getAllNotifications(clientId, lastNotificationId) {
73
- let notificationList = [];
74
- const getNotificationChunks = async (currentClientId, currentNotificationId) => {
75
- var _a, _b, _c;
74
+ const getNotificationChunks = async (notificationList, currentClientId, currentNotificationId) => {
75
+ var _a, _b, _c, _d;
76
76
  const defaultPayload = {
77
77
  notifications: [],
78
78
  time: '0',
@@ -84,14 +84,26 @@ class NotificationAPI {
84
84
  payload = await this.getNotifications(currentClientId, exports.NOTIFICATION_SIZE_MAXIMUM, currentNotificationId);
85
85
  }
86
86
  catch (error) {
87
- if (axios_1.default.isAxiosError(error)) {
88
- if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.notifications) {
89
- hasMissedNotifications = true;
90
- payload = Object.assign(Object.assign({}, defaultPayload), (_c = error.response) === null || _c === void 0 ? void 0 : _c.data);
91
- }
87
+ const isAxiosError = axios_1.default.isAxiosError(error);
88
+ //error with response body (before v3 API)
89
+ const isErrorWithNotifications = isAxiosError && ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.notifications);
90
+ //uuid parsing error
91
+ const isBadRequestError = isAxiosError && ((_c = error.response) === null || _c === void 0 ? void 0 : _c.status) === http_1.StatusCode.BAD_REQUEST;
92
+ //notification was not found in the database,
93
+ const isNotFoundError = error instanceof http_1.BackendError && error.label === http_1.BackendErrorLabel.NOT_FOUND;
94
+ if (isBadRequestError || isNotFoundError) {
95
+ //we need to load all the notifications from the beginning (without 'since' param)
96
+ const payload = await getNotificationChunks(notificationList, currentClientId);
97
+ //we have to manually add missedNotification value since it won't be included when called without 'since' param
98
+ return Object.assign(Object.assign({}, payload), { missedNotification: currentNotificationId });
92
99
  }
93
- else {
94
- throw error;
100
+ if (isErrorWithNotifications) {
101
+ hasMissedNotifications = true;
102
+ payload = Object.assign(Object.assign({}, defaultPayload), (_d = error.response) === null || _d === void 0 ? void 0 : _d.data);
103
+ }
104
+ //throw error for other BackendError type errors
105
+ if (!isAxiosError) {
106
+ throw Error;
95
107
  }
96
108
  }
97
109
  const { notifications, has_more } = payload;
@@ -101,7 +113,7 @@ class NotificationAPI {
101
113
  if (has_more) {
102
114
  const lastNotification = notifications[notifications.length - 1];
103
115
  if (lastNotification) {
104
- return getNotificationChunks(currentClientId, lastNotification.id);
116
+ return getNotificationChunks(notificationList, currentClientId, lastNotification.id);
105
117
  }
106
118
  }
107
119
  return {
@@ -109,7 +121,7 @@ class NotificationAPI {
109
121
  missedNotification: hasMissedNotifications ? currentNotificationId : undefined,
110
122
  };
111
123
  };
112
- return getNotificationChunks(clientId, lastNotificationId);
124
+ return getNotificationChunks([], clientId, lastNotificationId);
113
125
  }
114
126
  /**
115
127
  * Fetch a notification by ID.
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationAPI.js","sourceRoot":"","sources":["../../../src/notification/NotificationAPI/NotificationAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationAPI.js","sourceRoot":"","sources":["../../../src/notification/NotificationAPI/NotificationAPI.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -65,6 +65,6 @@
65
65
  "watch": "webpack serve --config webpack.browser.js",
66
66
  "prepare": "yarn dist"
67
67
  },
68
- "version": "22.2.0",
69
- "gitHead": "bde93b7b7240a0e2fb85f590776d31ecead69a96"
68
+ "version": "22.3.0",
69
+ "gitHead": "f5ceab51ba431b09a0f704e494ac9b0af3b38d1f"
70
70
  }