vineanova-redux-artifacts
Version:
## Overview
127 lines (126 loc) • 6.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _get = _interopRequireDefault(require("lodash/get"));
var _axios = _interopRequireDefault(require("axios"));
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
var _isNil = _interopRequireDefault(require("lodash/isNil"));
var _first2 = _interopRequireDefault(require("lodash/first"));
var _omit = _interopRequireDefault(require("lodash/omit"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable class-methods-use-this */ /* eslint-disable no-param-reassign */
// const apiUrl = 'https://okex00vdqa.execute-api.us-east-1.amazonaws.com/dev/api';
var apiUrl = "";
// const apiUrl = 'https://fn-vn-dev-common.azurewebsites.net/api/v1';
// const apiUrl = 'https://vn-mockserver-dev1.azurewebsites.net/api/v1';
var mockApiUrl = process.env.REACT_APP_MOCK_API_URL;
var useMock = false;
var ServiceConfigClass = /*#__PURE__*/function () {
function ServiceConfigClass() {
_classCallCheck(this, ServiceConfigClass);
}
return _createClass(ServiceConfigClass, [{
key: "initConfig",
value: function initConfig(config) {
this.config = config;
}
}, {
key: "isTestEnv",
value: function isTestEnv() {
var isTest = (0, _get["default"])(this.config, 'environment.isTest', null);
var isProd = (0, _get["default"])(this.config, 'environment.isProd', null);
var isDev = !isTest && !isProd;
var isLocalHost = (0, _get["default"])(this.config, 'environment.isLocalHost', null);
return isTest || isDev || isLocalHost;
}
}, {
key: "getBaseUri",
value: function getBaseUri(serviceType) {
var userEmail = (0, _get["default"])(this.config, 'user.email', null);
var isDemoUser = userEmail === 'VineaNovaDemoAdmin.com' && serviceType !== 'login';
if (serviceType === 'mock' || isDemoUser) {
apiUrl = mockApiUrl;
} else if (serviceType === 'login') {
apiUrl = this.isTestEnv() ? process.env.REACT_APP_COMMON_USER_API : process.env.REACT_APP_PROD_COMMON_USER_API;
} else {
apiUrl = this.isTestEnv() ? process.env.REACT_APP_CORE_API : process.env.REACT_APP_PROD_CORE_API;
}
return apiUrl;
}
}, {
key: "onSuccess",
value: function onSuccess(response) {
return response.data;
}
}, {
key: "onError",
value: function onError(error) {
if (error.response) {
// Request was made but server responded with something
// other than 2xx
console.error("errorerror:", {
error: error.response
});
} else {
// Something else happened while setting up the request
// triggered the error
console.error("Error Message:", error.message);
}
var errorValue = (0, _omit["default"])(error.response, ["config", "headers", "request"]);
return Promise.reject(errorValue);
}
}, {
key: "request",
value: function request(options, serviceType) {
// console.debug('currentConfig', this.config);
console.debug("serviceType", {
serviceType: serviceType
});
var isTest = this.isTestEnv();
var _this$config$user = this.config.user,
accessToken = _this$config$user.accessToken,
orgDetails = _this$config$user.orgDetails;
if ((0, _isEmpty["default"])(accessToken) || (0, _isNil["default"])(accessToken) || (0, _isEmpty["default"])(orgDetails)) {
throw new Error("serviceConfig -> No Access token available");
}
var value = orgDetails.value;
var _first = (0, _first2["default"])(value),
displayName = _first.displayName,
id = _first.id;
var baseUri = this.getBaseUri(serviceType);
console.debug(baseUri);
var client = _axios["default"].create({
baseURL: baseUri
});
client.interceptors.request.use(function (config) {
// Do something before request is sent
var appCode = isTest ? process.env.REACT_APP_FUNCTION_CODE : process.env.REACT_APP_PROD_FUNCTION_CODE;
if (config.params) {
config.params.code = appCode;
} else {
config.params = {
code: appCode
};
}
config.headers.Authorization = "Bearer ".concat(accessToken);
config.headers["x-orgname"] = displayName;
config.headers["x-tid"] = id;
// console.log('running interceptors', config);
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});
return client(options).then(this.onSuccess)["catch"](this.onError);
}
}]);
}();
var serviceConfig = new ServiceConfigClass();
var _default = exports["default"] = serviceConfig;