@corva/ui 3.19.0-rc.0 → 3.19.0-rc.2
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.
- package/cjs-bundle/clients/api/apiCore.js +1 -1
- package/cjs-bundle/clients/api/apiCore.js.map +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.factory.js +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.js +1 -1
- package/cjs-bundle/clients/subscriptions.v1.js +1 -1
- package/cjs-bundle/clients/subscriptions.v1.js.map +1 -1
- package/clients/api/apiCore.d.ts.map +1 -1
- package/clients/api/apiCore.js +1 -1
- package/clients/api/apiCore.js.map +1 -1
- package/clients/subscriptions/subscriptions-client.factory.js +1 -1
- package/clients/subscriptions/subscriptions-client.js +1 -1
- package/clients/subscriptions/types.d.ts +2 -0
- package/clients/subscriptions/types.d.ts.map +1 -1
- package/clients/subscriptions.v1.js +1 -1
- package/clients/subscriptions.v1.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/asyncToGenerator"),r=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/classCallCheck"),a=require("@babel/runtime/helpers/createClass"),i=require("@babel/runtime/regenerator"),o=require("query-string"),s=require("../utils.js"),u=require("../constants.js"),c=require("./httpMessages.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var d=l(e),f=l(t),h=l(r),v=l(n),y=l(a),g=l(i),b=p(o);function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){h.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var P={400:"Request Failed",403:"No Permission",404:"Not Found"},w=["POST","PUT","PATCH","DELETE"],
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/asyncToGenerator"),r=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/classCallCheck"),a=require("@babel/runtime/helpers/createClass"),i=require("@babel/runtime/regenerator"),o=require("query-string"),s=require("../utils.js"),u=require("../constants.js"),c=require("./httpMessages.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var d=l(e),f=l(t),h=l(r),v=l(n),y=l(a),g=l(i),b=p(o);function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){h.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var P={400:"Request Failed",403:"No Permission",404:"Not Found"},w=["POST","PUT","PATCH","DELETE"],k=function(){function e(t,r){v.default(this,e),this.status=t.status,this.statusText=t.statusText,this.message=r.message||"No Message",this.errorBody=r}return y.default(e,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var e,t;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t?void 0:t.login)}},{key:"isLockedAccountProblem",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),e}(),j=u.CORVA_API_URLS.API,O=s.getAuthorizationHeaders(),T=x({"Content-Type":"application/json",Accept:"application/json"},O);function A(e){var t;null===(t=e.isAuthenticationProblem)||void 0===t||!t.call(e)||e.isTermsProblem()||e.isLoginProblem()||(console.error("Problem with user"),"/login"!==window.location.pathname&&(window.location.href="/login"))}var S=/^\/v1\/assets.*/;function K(){return K=f.default(g.default.mark((function e(t){var r,n,a,i,o,u=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:{},n=u.length>2&&void 0!==u[2]?u[2]:{},a=n.apiUrl,i=void 0===a?j:a,o=n.appKey,S.test(t)&&(r.cache="reload"),r.credentials="include",e.abrupt("return",fetch("".concat(i).concat(t),s.attachHTTPHeaders(x({config:r,appKey:o},O))));case 6:case"end":return e.stop()}}),e)}))),K.apply(this,arguments)}var E,U,q=(E=function(e){return K.apply(this,arguments)},U=f.default(g.default.mark((function e(t,r,n){var a,i,o,s,u,l,p;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,E(t,r,n);case 2:if(a=e.sent,i=a.status,!a.ok){e.next=6;break}return e.abrupt("return",204===i?null:a);case 6:return e.prev=6,e.next=9,a.json();case 9:o=e.sent,e.next=15;break;case 12:e.prev=12,e.t0=e.catch(6),o={};case 15:throw s=r.method,u=!n.hideNotification&&w.includes(s),l=c.DISPLAY_HTTP_MESSAGES[o.message]||P[i],u&&l&&console.error(l),A(p=new k(a,o)),p;case 22:case"end":return e.stop()}}),e,null,[[6,12]])}))),function(e,t,r){return U.apply(this,arguments)});function F(){return F=f.default(g.default.mark((function e(t,r){var n,a,i,o,u,c=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>2&&void 0!==c[2]?c[2]:{},a=n.apiUrl,i=n.withHeaders,o=void 0!==i&&i,e.next=4,q(t,{method:"POST",headers:T,body:JSON.stringify(r)},{apiUrl:a,appKey:s.getAppKeyFromStackTrace()});case 4:if(u=e.sent,!o){e.next=7;break}return e.abrupt("return",u);case 7:return e.abrupt("return",u&&u.json());case 8:case"end":return e.stop()}}),e)}))),F.apply(this,arguments)}function D(e){return C.apply(this,arguments)}function C(){return C=f.default(g.default.mark((function e(t){var r,n,a,i,o,u,c,l=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=l.length>2&&void 0!==l[2]?l[2]:{},a=n.apiUrl,i=n.appKey,o=n.signal,u=b.stringify(r,{arrayFormat:"bracket"}),e.next=6,q("".concat(t).concat(u?"?":"").concat(u),{method:"GET",signal:o},{apiUrl:a,appKey:i||s.getAppKeyFromStackTrace()});case 6:if(c=e.sent,e.t0=c,!e.t0){e.next=12;break}return e.next=11,c.json();case 11:e.t0=e.sent;case 12:return e.t1=e.t0,e.t2=c&&c.headers,e.abrupt("return",{data:e.t1,headers:e.t2});case 15:case"end":return e.stop()}}),e)}))),C.apply(this,arguments)}function H(){return H=f.default(g.default.mark((function e(t){var r,n,a,i=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=i.length>1&&void 0!==i[1]?i[1]:{},n=i.length>2&&void 0!==i[2]?i[2]:{},e.next=4,D(t,r,x(x({},n),{},{appKey:n.appKey||s.getAppKeyFromStackTrace()}));case 4:return a=e.sent,e.abrupt("return",a.data);case 6:case"end":return e.stop()}}),e)}))),H.apply(this,arguments)}function _(){return _=f.default(g.default.mark((function e(t,r){var n,a,i,o,u,c,l=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=l.length>3&&void 0!==l[3]?l[3]:{},i=a.apiUrl,o=a.signal,u=b.stringify(n),e.next=6,q("".concat(t).concat(u?"?":"").concat(u),{method:"PUT",headers:T,body:JSON.stringify(r)},{apiUrl:i,appKey:s.getAppKeyFromStackTrace(),signal:o});case 6:return c=e.sent,e.abrupt("return",c&&c.json());case 8:case"end":return e.stop()}}),e)}))),_.apply(this,arguments)}function L(){return L=f.default(g.default.mark((function e(t,r){var n,a,i,o,u,c,l=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=l.length>3&&void 0!==l[3]?l[3]:{},i=a.apiUrl,o=a.signal,u=b.stringify(n),e.next=6,q("".concat(t).concat(u?"?":"").concat(u),{method:"PATCH",headers:T,body:JSON.stringify(r)},{apiUrl:i,appKey:s.getAppKeyFromStackTrace(),signal:o});case 6:return c=e.sent,e.abrupt("return",c&&c.json());case 8:case"end":return e.stop()}}),e)}))),L.apply(this,arguments)}function M(){return M=f.default(g.default.mark((function e(t){var r,n,a,i,o,u,c=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=c.length>1&&void 0!==c[1]?c[1]:{},n=c.length>2&&void 0!==c[2]?c[2]:{},a=n.apiUrl,i=n.signal,o=b.stringify(r),e.next=6,q(o?"".concat(t,"?").concat(o):t,{method:"DELETE",headers:T},{apiUrl:a,appKey:s.getAppKeyFromStackTrace(),signal:i});case 6:return u=e.sent,e.abrupt("return",u&&u.json());case 8:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function N(){return N=f.default(g.default.mark((function e(t,r){var n,a,i,o,u,c,l,p,f=arguments;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},a=f.length>3&&void 0!==f[3]?f[3]:{},i=b.stringify(n),o=a.method,u=void 0===o?"POST":o,c=a.signal,l=new FormData,Object.entries(r).forEach((function(e){var t=d.default(e,2),r=t[0],n=t[1];Array.isArray(n)?n.forEach((function(e){l.append(r,e)})):l.append(r,n)})),e.next=8,q(i?"".concat(t,"?").concat(i):t,{method:u,headers:{Accept:"application/json"},body:l},{appKey:s.getAppKeyFromStackTrace(),signal:c});case 8:return p=e.sent,e.abrupt("return",p&&p.json());case 10:case"end":return e.stop()}}),e)}))),N.apply(this,arguments)}exports.APIException=k,exports.baseUrl=j,exports.del=function(e){return M.apply(this,arguments)},exports.get=function(e){return H.apply(this,arguments)},exports.getWithHeaders=D,exports.handleAuthenticationProblem=A,exports.patch=function(e,t){return L.apply(this,arguments)},exports.post=function(e,t){return F.apply(this,arguments)},exports.put=function(e,t){return _.apply(this,arguments)},exports.sendFormData=function(e,t){return N.apply(this,arguments)};
|
|
2
2
|
//# sourceMappingURL=apiCore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCore.js","sources":["../../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { getAppKeyFromStackTrace, attachHTTPHeaders, getAuthorizationHeaders } from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey } = overrides;\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace() }\n );\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, appKey, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: appKey || getAppKeyFromStackTrace() }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || getAppKeyFromStackTrace(),\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","_args2","arguments","wrap","_context2","prev","next","length","undefined","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","_post","_callee3","entity","requestOptions","_args3","_context3","headers","body","JSON","stringify","getAppKeyFromStackTrace","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_args4","_context4","queryString","arrayFormat","t1","t2","data","_callee4","_get","dataAndHeaders","_args5","_context5","_callee5","_put","_callee7","content","_args7","_context7","_patch","_callee8","_args8","_context8","_del","query","_args9","_context9","concat","_callee9","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref","_ref2","_slicedToArray","Array","isArray","arrayValueEntity","append","_x14","_x8","_x12","_x13","_x5","_x6","_x10","_x11","_x15","_x16"],"mappings":"+7CAOA,IAAMA,EAAsB,CAC1B,IAAK,iBACL,IAAK,gBACL,IAAK,aAQDC,EAA2C,CAE/C,OACA,MACA,QACA,UAGWC,EAAY,WACvB,SAAYC,EAAAA,EAAUC,GAAMC,UAAAC,KAAAJ,GAC1BI,KAAKC,OAASJ,EAASI,OACvBD,KAAKE,WAAaL,EAASK,WAC3BF,KAAKG,QAAUL,EAAKK,SAAW,aAC/BH,KAAKI,UAAYN,CACnB,CAgCC,OAhCAO,EAAA,QAAAT,EAAA,CAAA,CAAAU,IAAA,0BAAAC,MAED,WACE,OAAuB,MAAhBP,KAAKC,MACd,GAAC,CAAAK,IAAA,iBAAAC,MAED,WAGE,OAAuB,MAAhBP,KAAKC,QA5BU,8CA4BQD,KAAKG,OACrC,GAAC,CAAAG,IAAA,iBAAAC,MAED,WAAiB,IAAAC,EAAAC,EACf,OAAuB,MAAhBT,KAAKC,SAAkB,QAAAO,EAAAR,KAAKI,iBAAL,IAAAI,GAAsB,QAAtBC,EAAAD,EAAgBE,cAAM,IAAAD,OAAtB,EAAAA,EAAwBE,MACxD,GAAC,CAAAL,IAAA,yBAAAC,MAED,WAAyB,IAAAK,EAAAC,EAAAC,EACvB,OAAuB,MAAhBd,KAAKC,SAAgC,QAAdW,EAAAZ,KAAKI,iBAAS,IAAAQ,GAAQ,QAARC,EAAdD,EAAgBF,cAAM,IAAAG,GAAO,QAAPC,EAAtBD,EAAwBF,aAAK,IAAAG,OAAf,EAAdA,EAA+BC,SAnCpC,2BAoC3B,GAAC,CAAAT,IAAA,4BAAAC,MAED,WAA4B,IAAAS,EAAAC,EAAAC,EAC1B,OACkB,MAAhBlB,KAAKC,SACS,QAAde,EAAAhB,KAAKI,iBAAS,IAAAY,GAAQ,QAARC,EAAdD,EAAgBN,cAAM,IAAAO,GAAO,QAAPC,EAAtBD,EAAwBN,aAAK,IAAAO,OAAf,EAAdA,EAA+BH,SAxCK,6BA0CxC,GAAC,CAAAT,IAAA,4BAAAC,MAED,WAA4B,IAAAY,EAAAC,EAAAC,EAC1B,OACkB,MAAhBrB,KAAKC,SACS,QAAdkB,EAAAnB,KAAKI,iBAAS,IAAAe,GAAQ,QAARC,EAAdD,EAAgBT,cAAM,IAAAU,GAAU,QAAVC,EAAtBD,EAAwBE,gBAAQ,IAAAD,OAAlB,EAAdA,EAAkCN,SA9CE,6BAgDxC,KAACnB,CAAA,CAtCsB,GAyCZ2B,EAAUC,EAAcA,eAACC,IAEhCC,EAAeC,EAAuBA,0BACtCC,EAAYC,EAAA,CAChB,eAAgB,mBAChBC,OAAQ,oBACLJ,GAGE,SAASK,EAA4BC,GAAG,IAAAC,UACzCA,EAAAD,EAAEE,uCAAFD,EAAAD,KAAAA,IAAkCA,EAAEG,kBAAqBH,EAAEI,mBAC7DC,QAAQC,MAAM,qBAEmB,WAA7BC,OAAOC,SAASC,WAAuBF,OAAOC,SAASE,KAAO,UAEtE,CAuCA,IAAMC,EAAmB,kBAEC,SAAAC,IAUzB,OAVyBA,EAAAC,EAAA,QAAAC,EAAA,QAAAC,MAA1B,WAA2BC,GAAI,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,UAAA,OAAAT,UAAAU,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAOG,OAPDV,EAAMK,EAAAM,OAAA,QAAAC,IAAAP,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIJ,EAASI,EAAAM,OAAA,QAAAC,IAAAP,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEH,EACrBD,EAA7BE,OAAAA,OAAM,IAAAD,EAAG5B,EAAO4B,EAAEE,EAAWH,EAAXG,OAEtBV,EAAiBmB,KAAKd,KACxBC,EAAOc,MAAQ,UAGjBd,EAAOe,YAAc,UAAWP,EAAAQ,OAAA,SAEzBC,MAASd,GAAAA,OAAAA,GAASJ,OAAAA,GAAQmB,EAAAA,kBAAiBtC,EAAA,CAAGoB,OAAAA,EAAQI,OAAAA,GAAW3B,MAAgB,KAAA,EAAA,IAAA,MAAA,OAAA+B,EAAAW,OAAA,GAAAC,EACzF,KAAAzB,EAAA0B,MAAAtE,KAAAuD,UAAA,CAED,IAnD+BgB,EAC7BC,EAkDIC,GAnDyBF,EAqCY,SAEjBG,GAAA,OAAA9B,EAAA0B,MAAAtE,KAAAuD,UAAA,EAtCxBiB,EAAA3B,EAAA,QAAAC,UAAAC,MAAO,SAA4BC,EAAAA,EAAMC,EAAQC,GAAS,IAAArD,EAAAI,EAAAH,EAAA6E,EAAAC,EAAAC,EAAAC,EAAA,OAAAhC,UAAAU,MAAA,SAAAuB,GAAA,OAAA,OAAAA,EAAArB,KAAAqB,EAAApB,MAAA,KAAA,EAAA,OAAAoB,EAAApB,KAAA,EACjCY,EAAgBvB,EAAMC,EAAQC,GAAU,KAAA,EAEjD,GAFRrD,EAAQkF,EAAAC,KAEN/E,EAAWJ,EAAXI,QAEJJ,EAASoF,GAAE,CAAAF,EAAApB,KAAA,EAAA,KAAA,CAAA,OACN1D,EAAAA,OAAAA,SAAW,MAAXA,EACH,KACAJ,GAAQ,KAAA,EAAA,OAAAkF,EAAArB,KAAA,EAAAqB,EAAApB,KAAA,EAMC9D,EAASC,OAAM,KAAA,EAA5BA,EAAIiF,EAAAC,KAAAD,EAAApB,KAAA,GAAA,MAAA,KAAA,GAAAoB,EAAArB,KAAA,GAAAqB,EAAAG,GAAAH,EAAA,MAAA,GAEJjF,EAAO,CAAA,EAAG,KAAA,GAc2B,MAZjC6E,EAAgB1B,EAAOkC,OACvBP,GACH1B,EAAUkC,kBACXzF,EAAyCoB,SAAS4D,GAE9CE,EAAmBQ,EAAqBA,sBAACvF,EAAKK,UAAYT,EAAoBO,GAEhF2E,GAA8BC,GAChCxC,QAAQC,MAAMuC,GAIhB9C,EADM+C,EAAY,IAAIlF,EAAaC,EAAUC,IAGvCgF,EAAS,KAAA,GAAA,IAAA,MAAA,OAAAC,EAAAX,OAAA,GAAAkB,EAAA,KAAA,CAAA,CAAA,EAAA,KAChB,KAAA,SAjCiCC,EAAAC,EAAAC,GAAA,OAAAjB,EAAAF,MAAAtE,KAAAuD,UAAA,GAwEnC,SAAAmC,IAAA,OAAAA,EAbM7C,EAAA,QAAAC,UAAAC,MAAA,SAAA4C,EAAoB3C,EAAM4C,GAAM,IAAAC,EAAAzC,EAAAvD,EAAAiG,EAAAvC,UAAA,OAAAT,UAAAU,MAAA,SAAAuC,GAAA,OAAA,OAAAA,EAAArC,KAAAqC,EAAApC,MAAA,KAAA,EACvB,OADyBkC,EAAcC,EAAAlC,OAAA,QAAAC,IAAAiC,EAAA,GAAAA,EAAA,GAAG,CAAA,EAChD1C,EAAWyC,EAAXzC,OAAM2C,EAAApC,KAAA,EACSc,EACrBzB,EACA,CACEmC,OAAQ,OACRa,QAASpE,EACTqE,KAAMC,KAAKC,UAAUP,IAEvB,CAAExC,OAAAA,EAAQC,OAAQ+C,EAAAA,4BACnB,KAAA,EARa,OAARvG,EAAQkG,EAAAf,KAAAe,EAAA9B,OAAA,SAUPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAiG,EAAA3B,OAAA,GAAAuB,EACnC,KAAAD,EAAApB,MAAAtE,KAAAuD,UAAA,CAED,SAAsB8C,EAAcC,GAAA,OAAAC,EAAAjC,MAAAtE,KAAAuD,UAAA,CAkBpC,SAAAgD,IAFC,OAEDA,EAAA1D,EAAA,QAAAC,EAAA,QAAAC,MAlBO,WAA8BC,GAAI,IAAAwD,EAAAX,EAAAzC,EAAAC,EAAAoD,EAAAC,EAAA7G,EAAA8G,EAAApD,UAAA,OAAAT,UAAAU,MAAA,SAAAoD,GAAA,OAAA,OAAAA,EAAAlD,KAAAkD,EAAAjD,MAAA,KAAA,EAEmC,OAFjC6C,EAAWG,EAAA/C,OAAA,QAAAC,IAAA8C,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAId,EAAcc,EAAA/C,OAAA,QAAAC,IAAA8C,EAAA,GAAAA,EAAA,GAAG,CAAA,EACpEvD,EAA2ByC,EAA3BzC,OAAQC,EAAmBwC,EAAnBxC,OAAQoD,EAAWZ,EAAXY,OAClBC,EAAMG,EAAYV,UAAUK,EAAa,CAAEM,YAAa,YAAYF,EAAAjD,KAAA,EACnDc,EAClBzB,GAAAA,OAAAA,GAAO0D,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACEvB,OAAQ,MACRsB,OAAAA,GAEF,CAAErD,OAAAA,EAAQC,OAAQA,GAAU+C,8BAC7B,KAAA,EAGe,GAVVvG,EAAQ+G,EAAA5B,KAAA4B,EAAA1B,GAUNrF,GAAQ+G,EAAA1B,GAAA,CAAA0B,EAAAjD,KAAA,GAAA,KAAA,CAAA,OAAAiD,EAAAjD,KAAA,GAAW9D,EAASC,OAAM,KAAA,GAAA8G,EAAA1B,GAAA0B,EAAA5B,KAAA,KAAA,GACH,OADG4B,EAAAG,GAAAH,EAAA1B,GAAA0B,EAAAI,GAC/BnH,GAAYA,EAASmG,QAAOY,EAAA3C,OAAA,SAAA,CADrCgD,KAAIL,EAAAG,GACJf,QAAOY,EAAAI,KAAA,KAAA,GAAA,IAAA,MAAA,OAAAJ,EAAAxC,OAAA,GAAA8C,EAEV,KAAAX,EAAAjC,MAAAtE,KAAAuD,UAAA,CAgBA,SAAA4D,IAAA,OAAAA,EAAAtE,EAAA,QAAAC,EAAA,QAAAC,MANM,WAAmBC,GAAI,IAAAwD,EAAAX,EAAAuB,EAAAC,EAAA9D,UAAA,OAAAT,UAAAU,MAAA,SAAA8D,GAAA,OAAA,OAAAA,EAAA5D,KAAA4D,EAAA3D,MAAA,KAAA,EAAuC,OAArC6C,EAAWa,EAAAzD,OAAA,QAAAC,IAAAwD,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIxB,EAAcwB,EAAAzD,OAAA,QAAAC,IAAAwD,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEC,EAAA3D,KAAA,EACtC0C,EAAerD,EAAMwD,SAC7CX,GAAc,GAAA,CACjBxC,OAAQwC,EAAexC,QAAU+C,+BACjC,KAAA,EAHkB,OAAdgB,EAAcE,EAAAtC,KAIboC,EAAAA,OAAAA,SAAAA,EAAeH,MAAI,KAAA,EAAA,IAAA,MAAA,OAAAK,EAAAlD,OAAA,GAAAmD,EAC3B,KAAAJ,EAAA7C,MAAAtE,KAAAuD,UAAA,CA4BA,SAAAiE,IAAA,OAAAA,EAdM3E,EAAA,QAAAC,UAAAC,MAAA,SAAA0E,EAAmBzE,EAAM0E,GAAO,IAAAlB,EAAAX,EAAAzC,EAAAqD,EAAAC,EAAA7G,EAAA8H,EAAApE,UAAA,OAAAT,UAAAU,MAAA,SAAAoE,GAAA,OAAA,OAAAA,EAAAlE,KAAAkE,EAAAjE,MAAA,KAAA,EAES,OAFP6C,EAAWmB,EAAA/D,OAAA,QAAAC,IAAA8D,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI9B,EAAc8B,EAAA/D,OAAA,QAAAC,IAAA8D,EAAA,GAAAA,EAAA,GAAG,CAAA,EAClEvE,EAAmByC,EAAnBzC,OAAQqD,EAAWZ,EAAXY,OACVC,EAAMG,EAAYV,UAAUK,GAAYoB,EAAAjE,KAAA,EACvBc,EAClBzB,GAAAA,OAAAA,GAAO0D,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACEvB,OAAQ,MACRa,QAASpE,EACTqE,KAAMC,KAAKC,UAAUuB,IAEvB,CAAEtE,OAAAA,EAAQC,OAAQ+C,EAAAA,0BAA2BK,OAAAA,IAC9C,KAAA,EARa,OAAR5G,EAAQ+H,EAAA5C,KAAA4C,EAAA3D,OAAA,SAUPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAA8H,EAAAxD,OAAA,GAAAqD,EACnC,KAAAD,EAAAlD,MAAAtE,KAAAuD,UAAA,CAqBA,SAAAsE,IAAA,OAAAA,EAnBMhF,EAAA,QAAAC,UAAAC,MAAA,SAAA+E,EAAqB9E,EAAM0E,GAAO,IAAAlB,EAAAX,EAAAzC,EAAAqD,EAAAC,EAAA7G,EAAAkI,EAAAxE,UAAA,OAAAT,UAAAU,MAAA,SAAAwE,GAAA,OAAA,OAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,KAAA,EAEO,OAFL6C,EAAWuB,EAAAnE,OAAA,QAAAC,IAAAkE,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIlC,EAAckC,EAAAnE,OAAA,QAAAC,IAAAkE,EAAA,GAAAA,EAAA,GAAG,CAAA,EACpE3E,EAAmByC,EAAnBzC,OAAQqD,EAAWZ,EAAXY,OACVC,EAAMG,EAAYV,UAAUK,GAAYwB,EAAArE,KAAA,EAEvBc,EAClBzB,GAAAA,OAAAA,GAAO0D,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACEvB,OAAQ,QACRa,QAASpE,EACTqE,KAAMC,KAAKC,UAAUuB,IAEvB,CACEtE,OAAAA,EACAC,OAAQ+C,EAAAA,0BACRK,OAAAA,IAEH,KAAA,EAZa,OAAR5G,EAAQmI,EAAAhD,KAAAgD,EAAA/D,OAAA,SAcPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAkI,EAAA5D,OAAA,GAAA0D,EACnC,KAAAD,EAAAvD,MAAAtE,KAAAuD,UAAA,CAmBA,SAAA0E,IAAA,OAAAA,EAAApF,EAAA,QAAAC,EAAA,QAAAC,MAjBM,WAAmBC,GAAI,IAAAwD,EAAAX,EAAAzC,EAAAqD,EAAAyB,EAAArI,EAAAsI,EAAA5E,UAAA,OAAAT,UAAAU,MAAA,SAAA4E,GAAA,OAAA,OAAAA,EAAA1E,KAAA0E,EAAAzE,MAAA,KAAA,EAEoB,OAFlB6C,EAAW2B,EAAAvE,OAAA,QAAAC,IAAAsE,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAItC,EAAcsC,EAAAvE,OAAA,QAAAC,IAAAsE,EAAA,GAAAA,EAAA,GAAG,CAAA,EACzD/E,EAAmByC,EAAnBzC,OAAQqD,EAAWZ,EAAXY,OACVyB,EAAQrB,EAAYV,UAAUK,GAAY4B,EAAAzE,KAAA,EACzBc,EACrByD,EAAK,GAAAG,OAAMrF,EAAQkF,KAAAA,OAAAA,GAAUlF,EAC7B,CACEmC,OAAQ,SACRa,QAASpE,GAEX,CACEwB,OAAAA,EACAC,OAAQ+C,EAAAA,0BACRK,OAAAA,IAEH,KAAA,EAXa,OAAR5G,EAAQuI,EAAApD,KAAAoD,EAAAnE,OAAA,SAaPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAsI,EAAAhE,OAAA,GAAAkE,EACnC,KAAAL,EAAA3D,MAAAtE,KAAAuD,UAAA,CA8BA,SAAAgF,IAAA,OAAAA,EA5BM1F,EAAA,QAAAC,UAAAC,MAAA,SAAAyF,EAA4BxF,EAAMiE,GAAI,IAAAT,EAAAX,EAAAqC,EAAAO,EAAAtD,EAAAsB,EAAAiC,EAAA7I,EAAA8I,EAAApF,UAAA,OAAAT,UAAAU,MAAA,SAAAoF,GAAA,OAAA,OAAAA,EAAAlF,KAAAkF,EAAAjF,MAAA,KAAA,EAaxC,OAb0C6C,EAAWmC,EAAA/E,OAAA,QAAAC,IAAA8E,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI9C,EAAc8C,EAAA/E,OAAA,QAAAC,IAAA8E,EAAA,GAAAA,EAAA,GAAG,CAAA,EAC1ET,EAAQrB,EAAYV,UAAUK,GAAYiC,EACZ5C,EAA5BV,OAAAA,OAAM,IAAAsD,EAAG,OAAMA,EAAEhC,EAAWZ,EAAXY,OACnBiC,EAAW,IAAIG,SAErBC,OAAOC,QAAQ9B,GAAM+B,SAAQ,SAAkBC,GAAA,IAAAC,EAAAC,EAAAA,QAAAF,EAAA,GAAhB3I,EAAG4I,EAAA,GAAE3I,EAAK2I,EAAA,GACnCE,MAAMC,QAAQ9I,GAChBA,EAAMyI,SAAQ,SAAAM,GACZZ,EAASa,OAAOjJ,EAAKgJ,EACvB,IAEAZ,EAASa,OAAOjJ,EAAKC,EAEzB,IAAGqI,EAAAjF,KAAA,EAEoBc,EACrByD,EAAK,GAAAG,OAAMrF,EAAQkF,KAAAA,OAAAA,GAAUlF,EAC7B,CACEmC,OAAAA,EACAa,QAAS,CACPlE,OAAQ,oBAEVmE,KAAMyC,GAER,CAAErF,OAAQ+C,EAAAA,0BAA2BK,OAAAA,IACtC,KAAA,EAVa,OAAR5G,EAAQ+I,EAAA5D,KAAA4D,EAAA3E,OAAA,SAYPpE,GAAYA,EAASC,QAAM,KAAA,GAAA,IAAA,MAAA,OAAA8I,EAAAxE,OAAA,GAAAoE,EACnC,KAAAD,EAAAjE,MAAAtE,KAAAuD,UAAA,sDA/CD,SAAyBiG,GAAA,OAAAvB,EAAA3D,MAAAtE,KAAAuD,UAAA,cAzDzB,SAAyBkG,GAAA,OAAAtC,EAAA7C,MAAAtE,KAAAuD,UAAA,+EAoCzB,SAA2BmG,EAAAC,GAAA,OAAA9B,EAAAvD,MAAAtE,KAAAuD,UAAA,eA7E3B,SAA0BqG,EAAAC,GAAA,OAAAnE,EAAApB,MAAAtE,KAAAuD,UAAA,cA6D1B,SAAyBuG,EAAAC,GAAA,OAAAvC,EAAAlD,MAAAtE,KAAAuD,UAAA,uBAwDzB,SAAkCyG,EAAAC,GAAA,OAAA1B,EAAAjE,MAAAtE,KAAAuD,UAAA"}
|
|
1
|
+
{"version":3,"file":"apiCore.js","sources":["../../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { getAppKeyFromStackTrace, attachHTTPHeaders, getAuthorizationHeaders } from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey } = overrides;\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, appKey, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: appKey || getAppKeyFromStackTrace() }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || getAppKeyFromStackTrace(),\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","_args2","arguments","wrap","_context2","prev","next","length","undefined","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","_args3","_context3","headers","body","JSON","stringify","getAppKeyFromStackTrace","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_args4","_context4","queryString","arrayFormat","t1","t2","data","_callee4","_get","dataAndHeaders","_args5","_context5","_callee5","_put","_callee7","content","_args7","_context7","_patch","_callee8","_args8","_context8","_del","query","_args9","_context9","concat","_callee9","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref","_ref2","_slicedToArray","Array","isArray","arrayValueEntity","append","_x14","_x8","_x12","_x13","_x5","_x6","_x10","_x11","_x15","_x16"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("socket.io-client"),e=require("./constants.js"),n=require("./subscriptions-client.js"),i=require("./subscriptions-client.dummy.js"),r=function(){function r(){}return r.init=function(){return this.instance||(this.instance=this.create()),this.instance},r.create=function(){if(e.IGNORED_ROUTES_REGEXP.test(window.location.pathname))return new i.DummySubscriptionsClient;var r=t.io(e.SUBSCRIPTIONS_URL,{transports:["websocket"],autoConnect:!0}),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("socket.io-client"),e=require("./constants.js"),n=require("./subscriptions-client.js"),i=require("./subscriptions-client.dummy.js"),r=function(){function r(){}return r.init=function(){return this.instance||(this.instance=this.create()),this.instance},r.create=function(){if(e.IGNORED_ROUTES_REGEXP.test(window.location.pathname))return new i.DummySubscriptionsClient;var r=t.io(e.SUBSCRIPTIONS_URL,{transports:["websocket"],autoConnect:!0}),c=0;return r.on("connect",(function(){(c+=1,r.recovered)||1!==c&&Object.keys(r._callbacks).filter((function(t){return t.startsWith("$data#")})).map((function(t){return t.replace("$data#","")})).forEach((function(t){r.emit("subscribe",{channel:t,_current_location_href:window.top.location.href})}))})),new n.SubscriptionsClientV2(r)},r}();exports.SubscriptionsClientFactory=r;
|
|
2
2
|
//# sourceMappingURL=subscriptions-client.factory.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=function(){function t(t){this._socket=t}return t.prototype.subscribe=function(t,e,n){var o=this;this._validateArgs(t,e,n),this._socket.on("data#".concat(t),e),this._emit("subscribe",t,n);var r=function(){return o.unsubscribe(t,e,n)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,e,n){this._validateArgs(t,e,n),this._emit("unsubscribe",t,n),this._socket.off("data#".concat(t),e)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,e,n){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof e)throw new Error("onData handler must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,e,n){if(!this._shouldEmitToServer(e))return null==n?void 0:n();n?this._socket.emitWithAck(t,{channel:e},(function(o){return o.ok?n():n(new Error("Failed to ".concat(t," to channel ").concat(e,": ").concat(o.error)))})):this._socket.emit(t,{channel:e})},t}();exports.SubscriptionsClientV2=t;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=function(){function t(t){this._socket=t}return t.prototype.subscribe=function(t,e,n){var o=this;this._validateArgs(t,e,n),this._socket.on("data#".concat(t),e),this._emit("subscribe",t,n);var r=function(){return o.unsubscribe(t,e,n)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,e,n){this._validateArgs(t,e,n),this._emit("unsubscribe",t,n),this._socket.off("data#".concat(t),e)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,e,n){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof e)throw new Error("onData handler must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,e,n){if(!this._shouldEmitToServer(e))return null==n?void 0:n();n?this._socket.emitWithAck(t,{channel:e,_current_location_href:window.top.location.href},(function(o){return o.ok?n():n(new Error("Failed to ".concat(t," to channel ").concat(e,": ").concat(o.error)))})):this._socket.emit(t,{channel:e,_current_location_href:window.top.location.href})},t}();exports.SubscriptionsClientV2=t;
|
|
2
2
|
//# sourceMappingURL=subscriptions-client.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("socket.io-client"),n=require("query-string"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("socket.io-client"),n=require("query-string"),o=require("lodash/noop");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=c(e),a=c(t),s=r(n),u=c(o);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){i.default(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=new RegExp("^/reports.*$"),d=s.parse(window.location.search).subscriptions_url||process.env.REACT_APP_SUBSCRIPTIONS_URL||"https://subscriptions.qa.corva.ai";function p(e){return f.test(window.location.pathname)?u.default:e}function v(e,t){return"".concat(e.appInstanceId||t,":").concat(e.companyId,":").concat(e.userId,":").concat(e.collection)}function w(e,t){return"".concat(e.appInstanceId||t,":").concat(e.companyId,":").concat(e.collection)}function O(e,t){return e.event?"".concat(e.appInstanceId||t,":").concat(e.provider,":").concat(e.collection,":").concat(e.assetId,":").concat(e.event):"".concat(e.appInstanceId||t,":").concat(e.provider,":").concat(e.collection,":").concat(e.assetId)}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"userId"in e?v(e,t):"companyId"in e?w(e,t):O(e,t)}function h(){var e,t={},n=!1,o=p((function(n){if(!e)throw new Error("Not connected");var o=y(n);o in t&&(delete t[o],e.emit("unsubscribe",b(b({},n),{},{_current_location_href:window.top.location.href})))})),c=p((function(o){if(!e)throw new Error("Not connected");var c=y(o);t[c]=o,n&&e.emit("subscribe",b(b({},o),{},{_current_location_href:window.top.location.href}))})),r=p((function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=o.onDataReceive,i=void 0===r?void 0:r,s=o.onResubscribe,u=void 0===s?void 0:s,l=!1;return(e=a.default(d,{transports:["websocket"]})).on("authenticated",(function(){n=!0,Object.values(t).forEach((function(e){c(e),l&&u&&u(e)})),l=!1})),i&&e.on("data",i),e.on("reconnect",(function(){l=!0})),e}));return{connect:r,disconnect:p((function(){e&&(e.disconnect(),e=null)})),subscribe:c,unsubscribe:o}}exports.getSubscriptionId=y,exports.getSubscriptionsClient=h,exports.initializeSocketClient=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.onDataReceive,n=e.onResubscribe,o=window[Symbol.for("socket")];null!=o&&o.socket&&(console.warn("Existing socket, disconnecting."),o.disconnect());var c=h(),r=c.connect,i=c.disconnect,a=c.subscribe,s=c.unsubscribe,u=r({onDataReceive:t,onResubscribe:n});window[Symbol.for("socket")]={subscribe:a,unsubscribe:s,disconnect:i,socket:u}};
|
|
2
2
|
//# sourceMappingURL=subscriptions.v1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.v1.js","sources":["../../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', options);\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', options);\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscriptions.v1.js","sources":["../../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","_current_location_href","top","href","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCore.d.ts","sourceRoot":"","sources":["../../../src/clients/api/apiCore.js"],"names":[],"mappings":"AA4EA,0DAMC;AAuDD;;;;;;GAMG;AACH,2BAJW,MAAM,WACN,eAAO,wBACL,OAAO,CAAC,GAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"apiCore.d.ts","sourceRoot":"","sources":["../../../src/clients/api/apiCore.js"],"names":[],"mappings":"AA4EA,0DAMC;AAuDD;;;;;;GAMG;AACH,2BAJW,MAAM,WACN,eAAO,wBACL,OAAO,CAAC,GAAC,CAAC,CAiBtB;AAED;;;GAgBC;AAED;;;;;;;GAOG;AACH,0BALW,MAAM,gBACN,eAAO,mBACP,eAAO,GACL,OAAO,CAAC,GAAC,CAAC,CAQtB;AAED,wFAUC;AAED,kGAcC;AAED,oGAmBC;AAED,oFAiBC;AAED,wGA4BC;AAzQD;IACE,sCAKC;IAJC,YAA6B;IAC7B,gBAAqC;IACrC,aAA2C;IAC3C,eAAqB;IAGvB,mCAEC;IAED,0BAIC;IAED,sBAEC;IAED,8BAEC;IAED,iCAKC;IAED,iCAKC;CACF;AAED,0BAA0C"}
|
package/clients/api/apiCore.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/classCallCheck";import i from"@babel/runtime/helpers/createClass";import o from"@babel/runtime/regenerator";import*as a from"query-string";import{getAuthorizationHeaders as s,attachHTTPHeaders as c,getAppKeyFromStackTrace as u}from"../utils.js";import{CORVA_API_URLS as p}from"../constants.js";import{DISPLAY_HTTP_MESSAGES as l}from"./httpMessages.js";function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?f(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var d={400:"Request Failed",403:"No Permission",404:"Not Found"},v=["POST","PUT","PATCH","DELETE"],y=function(){function t(e,r){n(this,t),this.status=e.status,this.statusText=e.statusText,this.message=r.message||"No Message",this.errorBody=r}return i(t,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var t,e;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e?void 0:e.login)}},{key:"isLockedAccountProblem",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),t}(),m=p.API,g=s(),b=h({"Content-Type":"application/json",Accept:"application/json"},g);function w(t){var e;null===(e=t.isAuthenticationProblem)||void 0===e||!e.call(t)||t.isTermsProblem()||t.isLoginProblem()||(console.error("Problem with user"),"/login"!==window.location.pathname&&(window.location.href="/login"))}var P=/^\/v1\/assets.*/;function
|
|
1
|
+
import t from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/classCallCheck";import i from"@babel/runtime/helpers/createClass";import o from"@babel/runtime/regenerator";import*as a from"query-string";import{getAuthorizationHeaders as s,attachHTTPHeaders as c,getAppKeyFromStackTrace as u}from"../utils.js";import{CORVA_API_URLS as p}from"../constants.js";import{DISPLAY_HTTP_MESSAGES as l}from"./httpMessages.js";function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?f(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var d={400:"Request Failed",403:"No Permission",404:"Not Found"},v=["POST","PUT","PATCH","DELETE"],y=function(){function t(e,r){n(this,t),this.status=e.status,this.statusText=e.statusText,this.message=r.message||"No Message",this.errorBody=r}return i(t,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var t,e;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e?void 0:e.login)}},{key:"isLockedAccountProblem",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var t,e,r;return 401===this.status&&(null===(t=this.errorBody)||void 0===t||null===(e=t.errors)||void 0===e||null===(r=e.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),t}(),m=p.API,g=s(),b=h({"Content-Type":"application/json",Accept:"application/json"},g);function w(t){var e;null===(e=t.isAuthenticationProblem)||void 0===e||!e.call(t)||t.isTermsProblem()||t.isLoginProblem()||(console.error("Problem with user"),"/login"!==window.location.pathname&&(window.location.href="/login"))}var P=/^\/v1\/assets.*/;function x(){return x=e(o.mark((function t(e){var r,n,i,a,s,u=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:{},n=u.length>2&&void 0!==u[2]?u[2]:{},i=n.apiUrl,a=void 0===i?m:i,s=n.appKey,P.test(e)&&(r.cache="reload"),r.credentials="include",t.abrupt("return",fetch("".concat(a).concat(e),c(h({config:r,appKey:s},g))));case 6:case"end":return t.stop()}}),t)}))),x.apply(this,arguments)}var j,k,O=(j=function(t){return x.apply(this,arguments)},k=e(o.mark((function t(e,r,n){var i,a,s,c,u,p,f;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,j(e,r,n);case 2:if(i=t.sent,a=i.status,!i.ok){t.next=6;break}return t.abrupt("return",204===a?null:i);case 6:return t.prev=6,t.next=9,i.json();case 9:s=t.sent,t.next=15;break;case 12:t.prev=12,t.t0=t.catch(6),s={};case 15:throw c=r.method,u=!n.hideNotification&&v.includes(c),p=l[s.message]||d[a],u&&p&&console.error(p),w(f=new y(i,s)),f;case 22:case"end":return t.stop()}}),t,null,[[6,12]])}))),function(t,e,r){return k.apply(this,arguments)});function T(t,e){return U.apply(this,arguments)}function U(){return U=e(o.mark((function t(e,r){var n,i,a,s,c,p=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=p.length>2&&void 0!==p[2]?p[2]:{},i=n.apiUrl,a=n.withHeaders,s=void 0!==a&&a,t.next=4,O(e,{method:"POST",headers:b,body:JSON.stringify(r)},{apiUrl:i,appKey:u()});case 4:if(c=t.sent,!s){t.next=7;break}return t.abrupt("return",c);case 7:return t.abrupt("return",c&&c.json());case 8:case"end":return t.stop()}}),t)}))),U.apply(this,arguments)}function A(t){return E.apply(this,arguments)}function E(){return E=e(o.mark((function t(e){var r,n,i,s,c,p,l,f=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=f.length>1&&void 0!==f[1]?f[1]:{},n=f.length>2&&void 0!==f[2]?f[2]:{},i=n.apiUrl,s=n.appKey,c=n.signal,p=a.stringify(r,{arrayFormat:"bracket"}),t.next=6,O("".concat(e).concat(p?"?":"").concat(p),{method:"GET",signal:c},{apiUrl:i,appKey:s||u()});case 6:if(l=t.sent,t.t0=l,!t.t0){t.next=12;break}return t.next=11,l.json();case 11:t.t0=t.sent;case 12:return t.t1=t.t0,t.t2=l&&l.headers,t.abrupt("return",{data:t.t1,headers:t.t2});case 15:case"end":return t.stop()}}),t)}))),E.apply(this,arguments)}function K(t){return C.apply(this,arguments)}function C(){return C=e(o.mark((function t(e){var r,n,i,a=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:{},n=a.length>2&&void 0!==a[2]?a[2]:{},t.next=4,A(e,r,h(h({},n),{},{appKey:n.appKey||u()}));case 4:return i=t.sent,t.abrupt("return",i.data);case 6:case"end":return t.stop()}}),t)}))),C.apply(this,arguments)}function S(t,e){return D.apply(this,arguments)}function D(){return D=e(o.mark((function t(e,r){var n,i,s,c,p,l,f=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},i=f.length>3&&void 0!==f[3]?f[3]:{},s=i.apiUrl,c=i.signal,p=a.stringify(n),t.next=6,O("".concat(e).concat(p?"?":"").concat(p),{method:"PUT",headers:b,body:JSON.stringify(r)},{apiUrl:s,appKey:u(),signal:c});case 6:return l=t.sent,t.abrupt("return",l&&l.json());case 8:case"end":return t.stop()}}),t)}))),D.apply(this,arguments)}function N(t,e){return B.apply(this,arguments)}function B(){return B=e(o.mark((function t(e,r){var n,i,s,c,p,l,f=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},i=f.length>3&&void 0!==f[3]?f[3]:{},s=i.apiUrl,c=i.signal,p=a.stringify(n),t.next=6,O("".concat(e).concat(p?"?":"").concat(p),{method:"PATCH",headers:b,body:JSON.stringify(r)},{apiUrl:s,appKey:u(),signal:c});case 6:return l=t.sent,t.abrupt("return",l&&l.json());case 8:case"end":return t.stop()}}),t)}))),B.apply(this,arguments)}function L(t){return F.apply(this,arguments)}function F(){return F=e(o.mark((function t(e){var r,n,i,s,c,p,l=arguments;return o.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=l.length>2&&void 0!==l[2]?l[2]:{},i=n.apiUrl,s=n.signal,c=a.stringify(r),t.next=6,O(c?"".concat(e,"?").concat(c):e,{method:"DELETE",headers:b},{apiUrl:i,appKey:u(),signal:s});case 6:return p=t.sent,t.abrupt("return",p&&p.json());case 8:case"end":return t.stop()}}),t)}))),F.apply(this,arguments)}function M(t,e){return H.apply(this,arguments)}function H(){return H=e(o.mark((function e(r,n){var i,s,c,p,l,f,h,d,v=arguments;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=v.length>2&&void 0!==v[2]?v[2]:{},s=v.length>3&&void 0!==v[3]?v[3]:{},c=a.stringify(i),p=s.method,l=void 0===p?"POST":p,f=s.signal,h=new FormData,Object.entries(n).forEach((function(e){var r=t(e,2),n=r[0],i=r[1];Array.isArray(i)?i.forEach((function(t){h.append(n,t)})):h.append(n,i)})),e.next=8,O(c?"".concat(r,"?").concat(c):r,{method:l,headers:{Accept:"application/json"},body:h},{appKey:u(),signal:f});case 8:return d=e.sent,e.abrupt("return",d&&d.json());case 10:case"end":return e.stop()}}),e)}))),H.apply(this,arguments)}export{y as APIException,m as baseUrl,L as del,K as get,A as getWithHeaders,w as handleAuthenticationProblem,N as patch,T as post,S as put,M as sendFormData};
|
|
2
2
|
//# sourceMappingURL=apiCore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCore.js","sources":["../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { getAppKeyFromStackTrace, attachHTTPHeaders, getAuthorizationHeaders } from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey } = overrides;\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace() }\n );\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, appKey, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: appKey || getAppKeyFromStackTrace() }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || getAppKeyFromStackTrace(),\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","_args2","arguments","wrap","_context2","prev","next","length","undefined","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","post","_x5","_x6","_post","_callee3","entity","requestOptions","_args3","_context3","headers","body","JSON","stringify","getAppKeyFromStackTrace","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_args4","_context4","queryString","arrayFormat","t1","t2","data","_callee4","get","_x8","_get","dataAndHeaders","_args5","_context5","_callee5","put","_x10","_x11","_put","_callee7","content","_args7","_context7","patch","_x12","_x13","_patch","_callee8","_args8","_context8","del","_x14","_del","query","_args9","_context9","concat","_callee9","sendFormData","_x15","_x16","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref","_ref2","_slicedToArray","Array","isArray","arrayValueEntity","append"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apiCore.js","sources":["../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { getAppKeyFromStackTrace, attachHTTPHeaders, getAuthorizationHeaders } from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey } = overrides;\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, appKey, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: appKey || getAppKeyFromStackTrace() }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || getAppKeyFromStackTrace(),\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n appKey: getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { appKey: getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","_args2","arguments","wrap","_context2","prev","next","length","undefined","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","post","_x5","_x6","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","_args3","_context3","headers","body","JSON","stringify","getAppKeyFromStackTrace","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_args4","_context4","queryString","arrayFormat","t1","t2","data","_callee4","get","_x8","_get","dataAndHeaders","_args5","_context5","_callee5","put","_x10","_x11","_put","_callee7","content","_args7","_context7","patch","_x12","_x13","_patch","_callee8","_args8","_context8","del","_x14","_del","query","_args9","_context9","concat","_callee9","sendFormData","_x15","_x16","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref","_ref2","_slicedToArray","Array","isArray","arrayValueEntity","append"],"mappings":"omCAOA,IAAMA,EAAsB,CAC1B,IAAK,iBACL,IAAK,gBACL,IAAK,aAQDC,EAA2C,CAE/C,OACA,MACA,QACA,UAGWC,EAAY,WACvB,SAAYC,EAAAA,EAAUC,GAAMC,EAAAC,KAAAJ,GAC1BI,KAAKC,OAASJ,EAASI,OACvBD,KAAKE,WAAaL,EAASK,WAC3BF,KAAKG,QAAUL,EAAKK,SAAW,aAC/BH,KAAKI,UAAYN,CACnB,CAgCC,OAhCAO,EAAAT,EAAA,CAAA,CAAAU,IAAA,0BAAAC,MAED,WACE,OAAuB,MAAhBP,KAAKC,MACd,GAAC,CAAAK,IAAA,iBAAAC,MAED,WAGE,OAAuB,MAAhBP,KAAKC,QA5BU,8CA4BQD,KAAKG,OACrC,GAAC,CAAAG,IAAA,iBAAAC,MAED,WAAiB,IAAAC,EAAAC,EACf,OAAuB,MAAhBT,KAAKC,SAAkB,QAAAO,EAAAR,KAAKI,iBAAL,IAAAI,GAAsB,QAAtBC,EAAAD,EAAgBE,cAAM,IAAAD,OAAtB,EAAAA,EAAwBE,MACxD,GAAC,CAAAL,IAAA,yBAAAC,MAED,WAAyB,IAAAK,EAAAC,EAAAC,EACvB,OAAuB,MAAhBd,KAAKC,SAAgC,QAAdW,EAAAZ,KAAKI,iBAAS,IAAAQ,GAAQ,QAARC,EAAdD,EAAgBF,cAAM,IAAAG,GAAO,QAAPC,EAAtBD,EAAwBF,aAAK,IAAAG,OAAf,EAAdA,EAA+BC,SAnCpC,2BAoC3B,GAAC,CAAAT,IAAA,4BAAAC,MAED,WAA4B,IAAAS,EAAAC,EAAAC,EAC1B,OACkB,MAAhBlB,KAAKC,SACS,QAAde,EAAAhB,KAAKI,iBAAS,IAAAY,GAAQ,QAARC,EAAdD,EAAgBN,cAAM,IAAAO,GAAO,QAAPC,EAAtBD,EAAwBN,aAAK,IAAAO,OAAf,EAAdA,EAA+BH,SAxCK,6BA0CxC,GAAC,CAAAT,IAAA,4BAAAC,MAED,WAA4B,IAAAY,EAAAC,EAAAC,EAC1B,OACkB,MAAhBrB,KAAKC,SACS,QAAdkB,EAAAnB,KAAKI,iBAAS,IAAAe,GAAQ,QAARC,EAAdD,EAAgBT,cAAM,IAAAU,GAAU,QAAVC,EAAtBD,EAAwBE,gBAAQ,IAAAD,OAAlB,EAAdA,EAAkCN,SA9CE,6BAgDxC,KAACnB,CAAA,CAtCsB,GAyCZ2B,EAAUC,EAAeC,IAEhCC,EAAeC,IACfC,EAAYC,EAAA,CAChB,eAAgB,mBAChBC,OAAQ,oBACLJ,GAGE,SAASK,EAA4BC,GAAG,IAAAC,UACzCA,EAAAD,EAAEE,uCAAFD,EAAAD,KAAAA,IAAkCA,EAAEG,kBAAqBH,EAAEI,mBAC7DC,QAAQC,MAAM,qBAEmB,WAA7BC,OAAOC,SAASC,WAAuBF,OAAOC,SAASE,KAAO,UAEtE,CAuCA,IAAMC,EAAmB,kBAEC,SAAAC,IAUzB,OAVyBA,EAAAC,EAAAC,EAAAC,MAA1B,WAA2BC,GAAI,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,UAAA,OAAAT,EAAAU,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAOG,OAPDV,EAAMK,EAAAM,OAAA,QAAAC,IAAAP,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIJ,EAASI,EAAAM,OAAA,QAAAC,IAAAP,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEH,EACrBD,EAA7BE,OAAAA,OAAM,IAAAD,EAAG5B,EAAO4B,EAAEE,EAAWH,EAAXG,OAEtBV,EAAiBmB,KAAKd,KACxBC,EAAOc,MAAQ,UAGjBd,EAAOe,YAAc,UAAWP,EAAAQ,OAAA,SAEzBC,MAASd,GAAAA,OAAAA,GAASJ,OAAAA,GAAQmB,EAAiBtC,EAAA,CAAGoB,OAAAA,EAAQI,OAAAA,GAAW3B,MAAgB,KAAA,EAAA,IAAA,MAAA,OAAA+B,EAAAW,OAAA,GAAAC,EACzF,KAAAzB,EAAA0B,MAAAtE,KAAAuD,UAAA,CAED,IAnD+BgB,EAC7BC,EAkDIC,GAnDyBF,EAqCY,SAEjBG,GAAA,OAAA9B,EAAA0B,MAAAtE,KAAAuD,UAAA,EAtCxBiB,EAAA3B,EAAAC,EAAAC,MAAO,SAA4BC,EAAAA,EAAMC,EAAQC,GAAS,IAAArD,EAAAI,EAAAH,EAAA6E,EAAAC,EAAAC,EAAAC,EAAA,OAAAhC,EAAAU,MAAA,SAAAuB,GAAA,OAAA,OAAAA,EAAArB,KAAAqB,EAAApB,MAAA,KAAA,EAAA,OAAAoB,EAAApB,KAAA,EACjCY,EAAgBvB,EAAMC,EAAQC,GAAU,KAAA,EAEjD,GAFRrD,EAAQkF,EAAAC,KAEN/E,EAAWJ,EAAXI,QAEJJ,EAASoF,GAAE,CAAAF,EAAApB,KAAA,EAAA,KAAA,CAAA,OACN1D,EAAAA,OAAAA,SAAW,MAAXA,EACH,KACAJ,GAAQ,KAAA,EAAA,OAAAkF,EAAArB,KAAA,EAAAqB,EAAApB,KAAA,EAMC9D,EAASC,OAAM,KAAA,EAA5BA,EAAIiF,EAAAC,KAAAD,EAAApB,KAAA,GAAA,MAAA,KAAA,GAAAoB,EAAArB,KAAA,GAAAqB,EAAAG,GAAAH,EAAA,MAAA,GAEJjF,EAAO,CAAA,EAAG,KAAA,GAc2B,MAZjC6E,EAAgB1B,EAAOkC,OACvBP,GACH1B,EAAUkC,kBACXzF,EAAyCoB,SAAS4D,GAE9CE,EAAmBQ,EAAsBvF,EAAKK,UAAYT,EAAoBO,GAEhF2E,GAA8BC,GAChCxC,QAAQC,MAAMuC,GAIhB9C,EADM+C,EAAY,IAAIlF,EAAaC,EAAUC,IAGvCgF,EAAS,KAAA,GAAA,IAAA,MAAA,OAAAC,EAAAX,OAAA,GAAAkB,EAAA,KAAA,CAAA,CAAA,EAAA,KAChB,KAAA,SAjCiCC,EAAAC,EAAAC,GAAA,OAAAjB,EAAAF,MAAAtE,KAAAuD,UAAA,GA2DpC,SAAsBmC,EAAIC,EAAAC,GAAA,OAAAC,EAAAvB,MAAAtE,KAAAuD,UAAA,CAezB,SAAAsC,IAAA,OAAAA,EAfMhD,EAAAC,EAAAC,MAAA,SAAA+C,EAAoB9C,EAAM+C,GAAM,IAAAC,EAAA5C,EAAA6C,EAAAC,EAAArG,EAAAsG,EAAA5C,UAAA,OAAAT,EAAAU,MAAA,SAAA4C,GAAA,OAAA,OAAAA,EAAA1C,KAAA0C,EAAAzC,MAAA,KAAA,EACF,OADIqC,EAAcG,EAAAvC,OAAA,QAAAC,IAAAsC,EAAA,GAAAA,EAAA,GAAG,CAAA,EAChD/C,EAAgC4C,EAAhC5C,OAAM6C,EAA0BD,EAAxBE,YAAAA,OAAW,IAAAD,GAAQA,EAAAG,EAAAzC,KAAA,EACZc,EACrBzB,EACA,CACEmC,OAAQ,OACRkB,QAASzE,EACT0E,KAAMC,KAAKC,UAAUT,IAEvB,CAAE3C,OAAAA,EAAQC,OAAQoD,MACnB,KAAA,EARa,GAAR5G,EAAQuG,EAAApB,MAUVkB,EAAW,CAAAE,EAAAzC,KAAA,EAAA,KAAA,CAAA,OAAAyC,EAAAnC,OAAA,SAASpE,GAAQ,KAAA,EAAA,OAAAuG,EAAAnC,OAAA,SAEzBpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAsG,EAAAhC,OAAA,GAAA0B,EACnC,KAAAD,EAAAvB,MAAAtE,KAAAuD,UAAA,CAED,SAAsBmD,EAAcC,GAAA,OAAAC,EAAAtC,MAAAtE,KAAAuD,UAAA,CAkBpC,SAAAqD,IAFC,OAEDA,EAAA/D,EAAAC,EAAAC,MAlBO,WAA8BC,GAAI,IAAA6D,EAAAb,EAAA5C,EAAAC,EAAAyD,EAAAC,EAAAlH,EAAAmH,EAAAzD,UAAA,OAAAT,EAAAU,MAAA,SAAAyD,GAAA,OAAA,OAAAA,EAAAvD,KAAAuD,EAAAtD,MAAA,KAAA,EAEmC,OAFjCkD,EAAWG,EAAApD,OAAA,QAAAC,IAAAmD,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIhB,EAAcgB,EAAApD,OAAA,QAAAC,IAAAmD,EAAA,GAAAA,EAAA,GAAG,CAAA,EACpE5D,EAA2B4C,EAA3B5C,OAAQC,EAAmB2C,EAAnB3C,OAAQyD,EAAWd,EAAXc,OAClBC,EAAMG,EAAYV,UAAUK,EAAa,CAAEM,YAAa,YAAYF,EAAAtD,KAAA,EACnDc,EAClBzB,GAAAA,OAAAA,GAAO+D,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACE5B,OAAQ,MACR2B,OAAAA,GAEF,CAAE1D,OAAAA,EAAQC,OAAQA,GAAUoD,MAC7B,KAAA,EAGe,GAVV5G,EAAQoH,EAAAjC,KAAAiC,EAAA/B,GAUNrF,GAAQoH,EAAA/B,GAAA,CAAA+B,EAAAtD,KAAA,GAAA,KAAA,CAAA,OAAAsD,EAAAtD,KAAA,GAAW9D,EAASC,OAAM,KAAA,GAAAmH,EAAA/B,GAAA+B,EAAAjC,KAAA,KAAA,GACH,OADGiC,EAAAG,GAAAH,EAAA/B,GAAA+B,EAAAI,GAC/BxH,GAAYA,EAASwG,QAAOY,EAAAhD,OAAA,SAAA,CADrCqD,KAAIL,EAAAG,GACJf,QAAOY,EAAAI,KAAA,KAAA,GAAA,IAAA,MAAA,OAAAJ,EAAA7C,OAAA,GAAAmD,EAEV,KAAAX,EAAAtC,MAAAtE,KAAAuD,UAAA,CAUD,SAAsBiE,EAAGC,GAAA,OAAAC,EAAApD,MAAAtE,KAAAuD,UAAA,CAMxB,SAAAmE,IAAA,OAAAA,EAAA7E,EAAAC,EAAAC,MANM,WAAmBC,GAAI,IAAA6D,EAAAb,EAAA2B,EAAAC,EAAArE,UAAA,OAAAT,EAAAU,MAAA,SAAAqE,GAAA,OAAA,OAAAA,EAAAnE,KAAAmE,EAAAlE,MAAA,KAAA,EAAuC,OAArCkD,EAAWe,EAAAhE,OAAA,QAAAC,IAAA+D,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI5B,EAAc4B,EAAAhE,OAAA,QAAAC,IAAA+D,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEC,EAAAlE,KAAA,EACtC+C,EAAe1D,EAAM6D,SAC7Cb,GAAc,GAAA,CACjB3C,OAAQ2C,EAAe3C,QAAUoD,OACjC,KAAA,EAHkB,OAAdkB,EAAcE,EAAA7C,KAIb2C,EAAAA,OAAAA,SAAAA,EAAeL,MAAI,KAAA,EAAA,IAAA,MAAA,OAAAO,EAAAzD,OAAA,GAAA0D,EAC3B,KAAAJ,EAAApD,MAAAtE,KAAAuD,UAAA,CAcD,SAAsBwE,EAAGC,EAAAC,GAAA,OAAAC,EAAA5D,MAAAtE,KAAAuD,UAAA,CAcxB,SAAA2E,IAAA,OAAAA,EAdMrF,EAAAC,EAAAC,MAAA,SAAAoF,EAAmBnF,EAAMoF,GAAO,IAAAvB,EAAAb,EAAA5C,EAAA0D,EAAAC,EAAAlH,EAAAwI,EAAA9E,UAAA,OAAAT,EAAAU,MAAA,SAAA8E,GAAA,OAAA,OAAAA,EAAA5E,KAAA4E,EAAA3E,MAAA,KAAA,EAES,OAFPkD,EAAWwB,EAAAzE,OAAA,QAAAC,IAAAwE,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIrC,EAAcqC,EAAAzE,OAAA,QAAAC,IAAAwE,EAAA,GAAAA,EAAA,GAAG,CAAA,EAClEjF,EAAmB4C,EAAnB5C,OAAQ0D,EAAWd,EAAXc,OACVC,EAAMG,EAAYV,UAAUK,GAAYyB,EAAA3E,KAAA,EACvBc,EAClBzB,GAAAA,OAAAA,GAAO+D,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACE5B,OAAQ,MACRkB,QAASzE,EACT0E,KAAMC,KAAKC,UAAU4B,IAEvB,CAAEhF,OAAAA,EAAQC,OAAQoD,IAA2BK,OAAAA,IAC9C,KAAA,EARa,OAARjH,EAAQyI,EAAAtD,KAAAsD,EAAArE,OAAA,SAUPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAwI,EAAAlE,OAAA,GAAA+D,EACnC,KAAAD,EAAA5D,MAAAtE,KAAAuD,UAAA,CAED,SAAsBgF,EAAKC,EAAAC,GAAA,OAAAC,EAAApE,MAAAtE,KAAAuD,UAAA,CAmB1B,SAAAmF,IAAA,OAAAA,EAnBM7F,EAAAC,EAAAC,MAAA,SAAA4F,EAAqB3F,EAAMoF,GAAO,IAAAvB,EAAAb,EAAA5C,EAAA0D,EAAAC,EAAAlH,EAAA+I,EAAArF,UAAA,OAAAT,EAAAU,MAAA,SAAAqF,GAAA,OAAA,OAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,KAAA,EAEO,OAFLkD,EAAW+B,EAAAhF,OAAA,QAAAC,IAAA+E,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI5C,EAAc4C,EAAAhF,OAAA,QAAAC,IAAA+E,EAAA,GAAAA,EAAA,GAAG,CAAA,EACpExF,EAAmB4C,EAAnB5C,OAAQ0D,EAAWd,EAAXc,OACVC,EAAMG,EAAYV,UAAUK,GAAYgC,EAAAlF,KAAA,EAEvBc,EAClBzB,GAAAA,OAAAA,GAAO+D,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACE5B,OAAQ,QACRkB,QAASzE,EACT0E,KAAMC,KAAKC,UAAU4B,IAEvB,CACEhF,OAAAA,EACAC,OAAQoD,IACRK,OAAAA,IAEH,KAAA,EAZa,OAARjH,EAAQgJ,EAAA7D,KAAA6D,EAAA5E,OAAA,SAcPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAA+I,EAAAzE,OAAA,GAAAuE,EACnC,KAAAD,EAAApE,MAAAtE,KAAAuD,UAAA,CAED,SAAsBuF,EAAGC,GAAA,OAAAC,EAAA1E,MAAAtE,KAAAuD,UAAA,CAiBxB,SAAAyF,IAAA,OAAAA,EAAAnG,EAAAC,EAAAC,MAjBM,WAAmBC,GAAI,IAAA6D,EAAAb,EAAA5C,EAAA0D,EAAAmC,EAAApJ,EAAAqJ,EAAA3F,UAAA,OAAAT,EAAAU,MAAA,SAAA2F,GAAA,OAAA,OAAAA,EAAAzF,KAAAyF,EAAAxF,MAAA,KAAA,EAEoB,OAFlBkD,EAAWqC,EAAAtF,OAAA,QAAAC,IAAAqF,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIlD,EAAckD,EAAAtF,OAAA,QAAAC,IAAAqF,EAAA,GAAAA,EAAA,GAAG,CAAA,EACzD9F,EAAmB4C,EAAnB5C,OAAQ0D,EAAWd,EAAXc,OACVmC,EAAQ/B,EAAYV,UAAUK,GAAYsC,EAAAxF,KAAA,EACzBc,EACrBwE,EAAK,GAAAG,OAAMpG,EAAQiG,KAAAA,OAAAA,GAAUjG,EAC7B,CACEmC,OAAQ,SACRkB,QAASzE,GAEX,CACEwB,OAAAA,EACAC,OAAQoD,IACRK,OAAAA,IAEH,KAAA,EAXa,OAARjH,EAAQsJ,EAAAnE,KAAAmE,EAAAlF,OAAA,SAaPpE,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAqJ,EAAA/E,OAAA,GAAAiF,EACnC,KAAAL,EAAA1E,MAAAtE,KAAAuD,UAAA,CAED,SAAsB+F,EAAYC,EAAAC,GAAA,OAAAC,EAAAnF,MAAAtE,KAAAuD,UAAA,CA4BjC,SAAAkG,IAAA,OAAAA,EA5BM5G,EAAAC,EAAAC,MAAA,SAAA2G,EAA4B1G,EAAMsE,GAAI,IAAAT,EAAAb,EAAAiD,EAAAU,EAAAxE,EAAA2B,EAAA8C,EAAA/J,EAAAgK,EAAAtG,UAAA,OAAAT,EAAAU,MAAA,SAAAsG,GAAA,OAAA,OAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,KAAA,EAaxC,OAb0CkD,EAAWgD,EAAAjG,OAAA,QAAAC,IAAAgG,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI7D,EAAc6D,EAAAjG,OAAA,QAAAC,IAAAgG,EAAA,GAAAA,EAAA,GAAG,CAAA,EAC1EZ,EAAQ/B,EAAYV,UAAUK,GAAY8C,EACZ3D,EAA5Bb,OAAAA,OAAM,IAAAwE,EAAG,OAAMA,EAAE7C,EAAWd,EAAXc,OACnB8C,EAAW,IAAIG,SAErBC,OAAOC,QAAQ3C,GAAM4C,SAAQ,SAAkBC,GAAA,IAAAC,EAAAC,EAAAF,EAAA,GAAhB7J,EAAG8J,EAAA,GAAE7J,EAAK6J,EAAA,GACnCE,MAAMC,QAAQhK,GAChBA,EAAM2J,SAAQ,SAAAM,GACZZ,EAASa,OAAOnK,EAAKkK,EACvB,IAEAZ,EAASa,OAAOnK,EAAKC,EAEzB,IAAGuJ,EAAAnG,KAAA,EAEoBc,EACrBwE,EAAK,GAAAG,OAAMpG,EAAQiG,KAAAA,OAAAA,GAAUjG,EAC7B,CACEmC,OAAAA,EACAkB,QAAS,CACPvE,OAAQ,oBAEVwE,KAAMsD,GAER,CAAEvG,OAAQoD,IAA2BK,OAAAA,IACtC,KAAA,EAVa,OAARjH,EAAQiK,EAAA9E,KAAA8E,EAAA7F,OAAA,SAYPpE,GAAYA,EAASC,QAAM,KAAA,GAAA,IAAA,MAAA,OAAAgK,EAAA1F,OAAA,GAAAsF,EACnC,KAAAD,EAAAnF,MAAAtE,KAAAuD,UAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{io as t}from"socket.io-client";import{IGNORED_ROUTES_REGEXP as n,SUBSCRIPTIONS_URL as e}from"./constants.js";import{SubscriptionsClientV2 as
|
|
1
|
+
import{io as t}from"socket.io-client";import{IGNORED_ROUTES_REGEXP as n,SUBSCRIPTIONS_URL as e}from"./constants.js";import{SubscriptionsClientV2 as r}from"./subscriptions-client.js";import{DummySubscriptionsClient as i}from"./subscriptions-client.dummy.js";var o=function(){function o(){}return o.init=function(){return this.instance||(this.instance=this.create()),this.instance},o.create=function(){if(n.test(window.location.pathname))return new i;var o=t(e,{transports:["websocket"],autoConnect:!0}),c=0;return o.on("connect",(function(){(c+=1,o.recovered)||1!==c&&Object.keys(o._callbacks).filter((function(t){return t.startsWith("$data#")})).map((function(t){return t.replace("$data#","")})).forEach((function(t){o.emit("subscribe",{channel:t,_current_location_href:window.top.location.href})}))})),new r(o)},o}();export{o as SubscriptionsClientFactory};
|
|
2
2
|
//# sourceMappingURL=subscriptions-client.factory.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=function(){function t(t){this._socket=t}return t.prototype.subscribe=function(t,e
|
|
1
|
+
var t=function(){function t(t){this._socket=t}return t.prototype.subscribe=function(t,n,e){var o=this;this._validateArgs(t,n,e),this._socket.on("data#".concat(t),n),this._emit("subscribe",t,e);var r=function(){return o.unsubscribe(t,n,e)};return Object.defineProperty(r,"name",{value:"unsubscribe_".concat(t.replace(/[^\w]/g,"_")),writable:!1}),r},t.prototype.unsubscribe=function(t,n,e){this._validateArgs(t,n,e),this._emit("unsubscribe",t,e),this._socket.off("data#".concat(t),n)},t.prototype.disconnect=function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this},t.prototype._validateArgs=function(t,n,e){if("string"!=typeof t||!t)throw new Error("Channel must be a non-empty string");if("function"!=typeof n)throw new Error("onData handler must be a function");if(void 0!==e&&"function"!=typeof e)throw new Error("ack must be a function")},t.prototype._shouldEmitToServer=function(t){return 1===this._socket.listeners("data#".concat(t)).length},t.prototype._emit=function(t,n,e){if(!this._shouldEmitToServer(n))return null==e?void 0:e();e?this._socket.emitWithAck(t,{channel:n,_current_location_href:window.top.location.href},(function(o){return o.ok?e():e(new Error("Failed to ".concat(t," to channel ").concat(n,": ").concat(o.error)))})):this._socket.emit(t,{channel:n,_current_location_href:window.top.location.href})},t}();export{t as SubscriptionsClientV2};
|
|
2
2
|
//# sourceMappingURL=subscriptions-client.js.map
|
|
@@ -24,9 +24,11 @@ export interface SubscriptionsClientV2Events {
|
|
|
24
24
|
export interface SubscriptionsClientV2ServerEvents {
|
|
25
25
|
subscribe: (opts: {
|
|
26
26
|
channel: string;
|
|
27
|
+
_current_location_href?: string;
|
|
27
28
|
}, ack?: AcknowledgeCb) => void;
|
|
28
29
|
unsubscribe: (opts: {
|
|
29
30
|
channel: string;
|
|
31
|
+
_current_location_href?: string;
|
|
30
32
|
}, ack?: AcknowledgeCb) => void;
|
|
31
33
|
}
|
|
32
34
|
export interface SubcriptionsClient {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,CAAC,KAAK,EAAE,QAAQ,MAAM,EAAE,GAAG,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/clients/subscriptions/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,CAAC,KAAK,EAAE,QAAQ,MAAM,EAAE,GAAG,GAAG,CAAC;CAChC;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACrG,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACxG;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,IAAI,CAAC;IACzF,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrF,UAAU,IAAI,IAAI,CAAC;CACpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import n from"socket.io-client";import*as
|
|
1
|
+
import n from"@babel/runtime/helpers/defineProperty";import t from"socket.io-client";import*as e from"query-string";import o from"lodash/noop";function c(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}function r(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?c(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(o,n))}))}return t}var i=new RegExp("^/reports.*$"),s=e.parse(window.location.search).subscriptions_url||process.env.REACT_APP_SUBSCRIPTIONS_URL||"https://subscriptions.qa.corva.ai";function a(n){return i.test(window.location.pathname)?o:n}function u(n,t){return"".concat(n.appInstanceId||t,":").concat(n.companyId,":").concat(n.userId,":").concat(n.collection)}function p(n,t){return"".concat(n.appInstanceId||t,":").concat(n.companyId,":").concat(n.collection)}function b(n,t){return n.event?"".concat(n.appInstanceId||t,":").concat(n.provider,":").concat(n.collection,":").concat(n.assetId,":").concat(n.event):"".concat(n.appInstanceId||t,":").concat(n.provider,":").concat(n.collection,":").concat(n.assetId)}function d(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"userId"in n?u(n,t):"companyId"in n?p(n,t):b(n,t)}function f(){var n,e={},o=!1,c=a((function(t){if(!n)throw new Error("Not connected");var o=d(t);o in e&&(delete e[o],n.emit("unsubscribe",r(r({},t),{},{_current_location_href:window.top.location.href})))})),i=a((function(t){if(!n)throw new Error("Not connected");var c=d(t);e[c]=t,o&&n.emit("subscribe",r(r({},t),{},{_current_location_href:window.top.location.href}))})),u=a((function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=c.onDataReceive,a=void 0===r?void 0:r,u=c.onResubscribe,p=void 0===u?void 0:u,b=!1;return(n=t(s,{transports:["websocket"]})).on("authenticated",(function(){o=!0,Object.values(e).forEach((function(n){i(n),b&&p&&p(n)})),b=!1})),a&&n.on("data",a),n.on("reconnect",(function(){b=!0})),n}));return{connect:u,disconnect:a((function(){n&&(n.disconnect(),n=null)})),subscribe:i,unsubscribe:c}}var l=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=n.onDataReceive,e=n.onResubscribe,o=window[Symbol.for("socket")];null!=o&&o.socket&&(console.warn("Existing socket, disconnecting."),o.disconnect());var c=f(),r=c.connect,i=c.disconnect,s=c.subscribe,a=c.unsubscribe,u=r({onDataReceive:t,onResubscribe:e});window[Symbol.for("socket")]={subscribe:s,unsubscribe:a,disconnect:i,socket:u}};export{d as getSubscriptionId,f as getSubscriptionsClient,l as initializeSocketClient};
|
|
2
2
|
//# sourceMappingURL=subscriptions.v1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.v1.js","sources":["../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', options);\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', options);\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","initializeSocketClient","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscriptions.v1.js","sources":["../../src/clients/subscriptions.v1.js"],"sourcesContent":["import io from 'socket.io-client';\nimport * as queryString from 'query-string';\nimport noop from 'lodash/noop';\n\nconst REPORTS_ROUTE_REG_EXP = new RegExp('^/reports.*$');\n\nconst parameters = queryString.parse(window.location.search);\nconst socketUrl =\n parameters.subscriptions_url ||\n process.env.REACT_APP_SUBSCRIPTIONS_URL ||\n 'https://subscriptions.qa.corva.ai';\n\nfunction reportsDisableDecorator(func) {\n // NOTE: Disable subscription events on reports pages\n return REPORTS_ROUTE_REG_EXP.test(window.location.pathname) ? noop : func;\n}\n\nfunction getUserSubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.userId}:${\n options.collection\n }`;\n}\n\nfunction getCompanySubscriptionId(options, hookId) {\n return `${options.appInstanceId || hookId}:${options.companyId}:${options.collection}`;\n}\n\nfunction getAssetSubscriptionId(options, hookId) {\n return options.event\n ? `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }:${options.event}`\n : `${options.appInstanceId || hookId}:${options.provider}:${options.collection}:${\n options.assetId\n }`;\n}\n\nexport function getSubscriptionId(options, hookId = '') {\n if ('userId' in options) return getUserSubscriptionId(options, hookId);\n else if ('companyId' in options) return getCompanySubscriptionId(options, hookId);\n return getAssetSubscriptionId(options, hookId);\n}\n\nexport function getSubscriptionsClient() {\n let socket;\n\n // NOTE: Is used in order to reset subscriptions in case of network failure\n const subscriptions = {};\n let isAuthenticated = false;\n\n const unsubscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n const subscriptionId = getSubscriptionId(options);\n\n if (subscriptionId in subscriptions) {\n delete subscriptions[subscriptionId];\n socket.emit('unsubscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const subscribe = reportsDisableDecorator(options => {\n if (!socket) {\n throw new Error('Not connected');\n }\n\n const subscriptionId = getSubscriptionId(options);\n subscriptions[subscriptionId] = options;\n\n // NOTE: Events could be:\n // 1) 'update' - fires in case of records are updated;\n // 2) 'destroy' - fires in case or records are destroyed;\n // 3) '' (empty) - fires in case of new records are created;\n if (isAuthenticated) {\n socket.emit('subscribe', { ...options, _current_location_href: window.top.location.href });\n }\n });\n\n const connect = reportsDisableDecorator(\n ({ onDataReceive = undefined, onResubscribe = undefined } = {}) => {\n let resubscribe = false;\n\n socket = io(socketUrl, { transports: ['websocket'] });\n // TODO: Once authentication is moved on connect, move this as well\n socket.on('authenticated', () => {\n isAuthenticated = true;\n Object.values(subscriptions).forEach(subscription => {\n subscribe(subscription);\n if (resubscribe && onResubscribe) onResubscribe(subscription);\n });\n resubscribe = false;\n });\n if (onDataReceive) socket.on('data', onDataReceive);\n\n socket.on('reconnect', () => {\n resubscribe = true;\n });\n\n return socket;\n }\n );\n\n const disconnect = reportsDisableDecorator(() => {\n if (socket) {\n socket.disconnect();\n socket = null;\n }\n });\n\n return { connect, disconnect, subscribe, unsubscribe };\n}\n\nexport const initializeSocketClient = ({ onDataReceive, onResubscribe } = {}) => {\n const existingSocket = window[Symbol.for('socket')];\n if (existingSocket?.socket) {\n console.warn('Existing socket, disconnecting.');\n existingSocket.disconnect();\n }\n const { connect, disconnect, subscribe, unsubscribe } = getSubscriptionsClient();\n const socket = connect({ onDataReceive, onResubscribe });\n window[Symbol.for('socket')] = {\n subscribe,\n unsubscribe,\n disconnect,\n socket,\n };\n};\n"],"names":["REPORTS_ROUTE_REG_EXP","RegExp","socketUrl","queryString","parse","window","location","search","subscriptions_url","process","env","REACT_APP_SUBSCRIPTIONS_URL","reportsDisableDecorator","func","test","pathname","noop","getUserSubscriptionId","options","hookId","concat","appInstanceId","companyId","userId","collection","getCompanySubscriptionId","getAssetSubscriptionId","event","provider","assetId","getSubscriptionId","getSubscriptionsClient","socket","subscriptions","isAuthenticated","unsubscribe","Error","subscriptionId","emit","_current_location_href","top","href","subscribe","connect","_ref","arguments","length","undefined","_ref$onDataReceive","onDataReceive","_ref$onResubscribe","onResubscribe","resubscribe","io","transports","on","Object","values","forEach","subscription","disconnect","initializeSocketClient","_ref2","existingSocket","Symbol","for","console","warn","_getSubscriptionsClie"],"mappings":"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"}
|