studiokit-scaffolding-js 5.2.0-next.2.6 → 5.2.0-next.2.7

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.
@@ -46,6 +46,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
46
46
  var react_1 = __importStar(require("react"));
47
47
  var react_router_dom_1 = require("react-router-dom");
48
48
  var modelStatus_1 = require("../../constants/modelStatus");
49
+ var types_1 = require("../../types");
49
50
  /**
50
51
  * This component exists as a child to CollectionItemComponent to
51
52
  * redirect the user to a 404/500 page if errors occur while fetching data.
@@ -71,13 +72,13 @@ function modelErrorRedirectComponent(WrappedComponent) {
71
72
  model._metadata &&
72
73
  model._metadata.hasError &&
73
74
  model._metadata.lastFetchErrorData &&
74
- model._metadata.lastFetchErrorData.status === 404;
75
+ model._metadata.lastFetchErrorData.status === types_1.HTTP_STATUS_CODE.NOT_FOUND;
75
76
  var errorRoute = previousModelStatus === modelStatus_1.MODEL_STATUS.UNINITIALIZED &&
76
77
  modelStatus === modelStatus_1.MODEL_STATUS.ERROR &&
77
78
  model._metadata &&
78
79
  model._metadata.hasError &&
79
80
  model._metadata.lastFetchErrorData &&
80
- model._metadata.lastFetchErrorData.status === 500;
81
+ model._metadata.lastFetchErrorData.status === types_1.HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR;
81
82
  if (notFoundRoute) {
82
83
  var pathname = window.location.pathname;
83
84
  return (react_1.default.createElement(react_router_dom_1.Redirect, { to: {
@@ -43,6 +43,7 @@ var effects_1 = require("redux-saga/effects");
43
43
  var codeProviderService_1 = require("../../services/codeProviderService");
44
44
  var ticketProviderService_1 = require("../../services/ticketProviderService");
45
45
  var tokenPersistenceService_1 = require("../../services/tokenPersistenceService");
46
+ var types_1 = require("../../types");
46
47
  var logger_1 = require("../../utils/logger");
47
48
  var actions_1 = require("../actions");
48
49
  //#region Helpers
@@ -138,7 +139,8 @@ function getTokenFromRefreshToken(oauthTokenParam) {
138
139
  // any error response
139
140
  if (fetchErrorAction) {
140
141
  // ignore server errors
141
- if (((_b = fetchErrorAction.errorData) === null || _b === void 0 ? void 0 : _b.status) && fetchErrorAction.errorData.status >= 500) {
142
+ if (((_b = fetchErrorAction.errorData) === null || _b === void 0 ? void 0 : _b.status) &&
143
+ fetchErrorAction.errorData.status >= types_1.HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR) {
142
144
  return [2 /*return*/, oauthTokenParam];
143
145
  }
144
146
  return [2 /*return*/, null];
@@ -285,7 +287,7 @@ function handleAuthFailure(action) {
285
287
  return __generator(this, function (_a) {
286
288
  switch (_a.label) {
287
289
  case 0:
288
- if (!(oauthToken && action.errorData && action.errorData.status === 401)) return [3 /*break*/, 2];
290
+ if (!(oauthToken && action.errorData && action.errorData.status === types_1.HTTP_STATUS_CODE.UNAUTHORIZED)) return [3 /*break*/, 2];
289
291
  logger.debug('token expired - refreshing');
290
292
  return [4 /*yield*/, effects_1.call(performTokenRefresh)];
291
293
  case 1:
@@ -308,8 +308,10 @@ function modelFetch(modelFetchRequestAction) {
308
308
  // log to the console
309
309
  logger.error(error);
310
310
  didFail = true;
311
- // Do not continue to retry if the response is between 400-500 (except 408: server timeout)
312
- if (errorData.status >= 400 && errorData.status < 500 && errorData.status !== 408) {
311
+ // Do not continue to retry if the response is between 400-500 (except 408: request timeout)
312
+ if (errorData.status >= types_1.HTTP_STATUS_CODE.BAD_REQUEST &&
313
+ errorData.status < types_1.HTTP_STATUS_CODE.INTERNAL_SERVER_ERROR &&
314
+ errorData.status !== types_1.HTTP_STATUS_CODE.REQUEST_TIMEOUT) {
313
315
  tryCount = tryLimit;
314
316
  }
315
317
  if (!(tryCount < tryLimit)) return [3 /*break*/, 16];
@@ -340,7 +342,7 @@ function modelFetch(modelFetchRequestAction) {
340
342
  // dispatch that the fetch failed, which updates `_metadata` (and `guid`, if provided) at the target redux `modelPath`
341
343
  _a.sent();
342
344
  // Send error to error handler, except for 401s
343
- if (errorData.status !== 401) {
345
+ if (errorData.status !== types_1.HTTP_STATUS_CODE.UNAUTHORIZED) {
344
346
  errorHandler(error, modelFetchRequestAction, fetchConfig, lastFetchResult, errorData);
345
347
  }
346
348
  _a.label = 20;
@@ -30,6 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.sendFetch = exports.constructPath = exports.getApiRoot = exports.setApiRoot = void 0;
31
31
  var lodash_1 = require("lodash");
32
32
  var effects_1 = require("redux-saga/effects");
33
+ var types_1 = require("../types");
33
34
  var error_1 = require("../utils/error");
34
35
  var apiRoot;
35
36
  /**
@@ -138,7 +139,7 @@ function sendFetch(config) {
138
139
  isResponseJson = !!response_1.headers &&
139
140
  response_1.headers.has('Content-Type') &&
140
141
  isContentTypeJson(response_1.headers.get('Content-Type'));
141
- if (!(response_1.status === 204)) return [3 /*break*/, 3];
142
+ if (!(response_1.status === types_1.HTTP_STATUS_CODE.NO_CONTENT)) return [3 /*break*/, 3];
142
143
  result.data = isBodyJson ? config.body : undefined;
143
144
  return [3 /*break*/, 8];
144
145
  case 3:
@@ -5,6 +5,7 @@ export declare enum HTTP_STATUS_CODE {
5
5
  BAD_REQUEST = 400,
6
6
  UNAUTHORIZED = 401,
7
7
  FORBIDDEN = 403,
8
+ NOT_FOUND = 404,
8
9
  REQUEST_TIMEOUT = 408,
9
10
  INTERNAL_SERVER_ERROR = 500
10
11
  }
@@ -9,6 +9,7 @@ var HTTP_STATUS_CODE;
9
9
  HTTP_STATUS_CODE[HTTP_STATUS_CODE["BAD_REQUEST"] = 400] = "BAD_REQUEST";
10
10
  HTTP_STATUS_CODE[HTTP_STATUS_CODE["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
11
11
  HTTP_STATUS_CODE[HTTP_STATUS_CODE["FORBIDDEN"] = 403] = "FORBIDDEN";
12
+ HTTP_STATUS_CODE[HTTP_STATUS_CODE["NOT_FOUND"] = 404] = "NOT_FOUND";
12
13
  HTTP_STATUS_CODE[HTTP_STATUS_CODE["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
13
14
  HTTP_STATUS_CODE[HTTP_STATUS_CODE["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
14
15
  })(HTTP_STATUS_CODE = exports.HTTP_STATUS_CODE || (exports.HTTP_STATUS_CODE = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "studiokit-scaffolding-js",
3
- "version": "5.2.0-next.2.6",
3
+ "version": "5.2.0-next.2.7",
4
4
  "description": "Common scaffolding for Studio apps at Purdue",
5
5
  "repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
6
6
  "license": "MIT",