dinocollab-core 2.1.30 → 2.1.32

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.
@@ -1,2 +1,2 @@
1
- import{createClass as t,asyncToGenerator as r,inherits as n,wrapNativeSuper as e,regenerator as a,classCallCheck as u,defineProperty as s,callSuper as i,superPropGet as c}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{authService as o}from"partner-oidc-auth";import h from"axios";import{HttpService as p}from"./gateway.js";import{ApiAlertContext as f,handleResponseError as l}from"./helpers.js";var v=function(){return t(function t(n){var e=this;u(this,t),s(this,"mapResponse",function(){e._http.interceptors.response.use(function(t){return t},function(t){return e.tryFetchToken(t,l)}),e._http.interceptors.request.use(function(t){return e.interuptHeader(t)})}),s(this,"tryFetchToken",function(){var t=r(a().m(function t(r,n){var u,s;return a().w(function(t){for(;;)switch(t.n){case 0:if(s=r.config,401!==(null==r||null===(u=r.response)||void 0===u?void 0:u.status)||!s){t.n=3;break}return t.n=1,o.signIn({});case 1:return t.n=2,e.interuptHeader(s);case 2:return t.a(2,h(s));case 3:return t.a(2,n(r))}},t)}));return function(r,n){return t.apply(this,arguments)}}()),s(this,"getToken",r(a().m(function t(){var r;return a().w(function(t){for(;;)switch(t.n){case 0:if(void 0!==e._token){t.n=2;break}return t.n=1,o.getAccessToken();case 1:r=t.v,t.n=3;break;case 2:r=e._token;case 3:return t.a(2,r)}},t)}))),s(this,"addtoken",function(){var t=r(a().m(function t(r){var n;return a().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,e.getToken();case 1:return(n=t.v)&&null!=r&&r.headers&&(r.headers.Authorization="Bearer "+n),t.a(2,r)}},t)}));return function(r){return t.apply(this,arguments)}}()),this._http=n||p,this.mapResponse()},[{key:"setToken",value:function(t){this._token=t}},{key:"addCustomHeader",value:(_=r(a().m(function t(r){return a().w(function(t){for(;;)if(0===t.n)return r||(r={headers:{}}),r.headers||(r.headers={}),t.a(2,r)},t)})),function(t){return _.apply(this,arguments)})},{key:"interuptHeader",value:(H=r(a().m(function t(r){return a().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,this.addtoken(r);case 1:return t.a(2,r)}},t,this)})),function(t){return H.apply(this,arguments)})},{key:"get",value:(C=r(a().m(function t(r,n){var e,u,s;return a().w(function(t){for(;;)switch(t.n){case 0:return u=this._http,s=r,t.n=1,this.addCustomHeader(n);case 1:return t.n=2,u.get.call(u,s,t.v);case 2:return e=t.v,t.a(2,e.data)}},t,this)})),function(t,r){return C.apply(this,arguments)})},{key:"tryGet",value:(g=r(a().m(function t(r,n){return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.a(2,this.get(r,n));case 1:return t.p=1,t.v,t.a(2,null)}},t,this,[[0,1]])})),function(t,r){return g.apply(this,arguments)})},{key:"post",value:(k=r(a().m(function t(r,n,e){var u,s,i,c;return a().w(function(t){for(;;)switch(t.n){case 0:return s=this._http,i=r,c=n,t.n=1,this.addCustomHeader(e);case 1:return t.n=2,s.post.call(s,i,c,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,r,n){return k.apply(this,arguments)})},{key:"put",value:(m=r(a().m(function t(r,n,e){var u,s,i,c;return a().w(function(t){for(;;)switch(t.n){case 0:return s=this._http,i=r,c=n,t.n=1,this.addCustomHeader(e);case 1:return t.n=2,s.put.call(s,i,c,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,r,n){return m.apply(this,arguments)})},{key:"tryPut",value:(w=r(a().m(function t(r,n,e){return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.addCustomHeader(e);case 1:return t.n=2,this.put(r,n,e);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,r,n){return w.apply(this,arguments)})},{key:"patch",value:(y=r(a().m(function t(r,n,e){var u,s,i,c;return a().w(function(t){for(;;)switch(t.n){case 0:return s=this._http,i=r,c=n,t.n=1,this.addCustomHeader(e);case 1:return t.n=2,s.patch.call(s,i,c,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,r,n){return y.apply(this,arguments)})},{key:"tryPatch",value:(d=r(a().m(function t(r,n,e){return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.addCustomHeader(e);case 1:return t.n=2,this.patch(r,n,e);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,r,n){return d.apply(this,arguments)})},{key:"tryPost",value:(v=r(a().m(function t(r,n,e){return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.post(r,n,e);case 1:return t.a(2,t.v);case 2:return t.p=2,t.v,t.a(2,null)}},t,this,[[0,2]])})),function(t,r,n){return v.apply(this,arguments)})},{key:"delete",value:(c=r(a().m(function t(r,n){var e,u,s;return a().w(function(t){for(;;)switch(t.n){case 0:return u=this._http,s=r,t.n=1,this.addCustomHeader(n);case 1:return t.n=2,u.delete.call(u,s,t.v);case 2:return e=t.v,t.a(2,e.data)}},t,this)})),function(t,r){return c.apply(this,arguments)})},{key:"tryDelete",value:(i=r(a().m(function t(r,n){var e,u;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,e=this,u=r,t.n=1,this.addCustomHeader(n);case 1:return t.n=2,e.delete.call(e,u,t.v);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,r){return i.apply(this,arguments)})},{key:"tryPushNotify",value:(e=r(a().m(function t(r){var n,e,u,s=arguments;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,n=s.length,e=new Array(n>1?n-1:0),u=1;u<n;u++)e[u-1]=s[u];return t.n=1,this.pushNotify.apply(this,[r].concat(e));case 1:return t.a(2,t.v);case 2:t.p=2,t.v;case 3:return t.a(2)}},t,this,[[0,2]])})),function(t){return e.apply(this,arguments)})},{key:"pushNotify",value:(n=r(a().m(function t(r){var n,e,u,s,i,c,o,h=arguments;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,n=h.length,e=new Array(n>1?n-1:0),u=1;u<n;u++)e[u-1]=h[u];return t.n=1,r.bind(this).apply(void 0,e);case 1:return t.a(2,t.v);case 2:throw t.p=2,o=t.v,(c=null===(s=(i=o).response)||void 0===s?void 0:s.data)&&Object.keys(c).forEach(function(t){var r=c[t];Array.isArray(r)&&r.forEach(function(t){var r;null==f||null===(r=f.ApiAlert)||void 0===r||r.PushError(t)})}),i;case 3:return t.a(2)}},t,this,[[0,2]])})),function(t){return n.apply(this,arguments)})}]);var n,e,i,c,v,d,y,w,m,k,g,C,H,_}(),d=function(r){function e(){var t;u(this,e);for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t=i(this,e,[].concat(n)),s(t,"cancel",function(){t.trigger&&t.trigger(),c(e,"abort",t)([])}),t}return n(e,r),t(e)}(e(AbortController));export{d as CancelAction,v as default};
1
+ import{defineProperty as t,createClass as n,asyncToGenerator as r,regenerator as e,classCallCheck as a,inherits as u,wrapNativeSuper as s,callSuper as i,superPropGet as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{authService as c}from"partner-oidc-auth";import h from"axios";import{HttpService as f}from"./gateway.js";import{createObjectSingleton as p}from"../../utils/singletone.js";import{ApiAlertContext as l,handleResponseError as v}from"./helpers.js";var d=function(){return n(function t(){a(this,t)},[{key:"getToken",value:(s=r(e().m(function t(){var n;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,c.getAccessToken();case 1:if(n=t.v){t.n=2;break}n=void 0;case 2:return t.a(2,n)}},t)})),function(){return s.apply(this,arguments)})},{key:"reSignIn",value:(u=r(e().m(function t(){return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,c.signIn({});case 1:return t.a(2)}},t)})),function(){return u.apply(this,arguments)})},{key:"getRoles",value:(t=r(e().m(function t(){var n;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,c.getRoles();case 1:return n=t.v,t.a(2,n||void 0)}},t)})),function(){return t.apply(this,arguments)})}]);var t,u,s}(),y=function(){function u(n){var s=this;a(this,u),t(this,"mapResponse",function(){s._http.interceptors.response.use(function(t){return t},function(t){return s.tryFetchToken(t,v)}),s._http.interceptors.request.use(function(t){return s.interuptHeader(t)})}),t(this,"tryFetchToken",function(){var t=r(e().m(function t(n,r){var a,i;return e().w(function(t){for(;;)switch(t.n){case 0:if(i=n.config,401!==(null==n||null===(a=n.response)||void 0===a?void 0:a.status)||!i){t.n=3;break}return t.n=1,u.tokenProvider.reSignIn();case 1:return t.n=2,s.interuptHeader(i);case 2:return t.a(2,h(i));case 3:return t.a(2,r(n))}},t)}));return function(n,r){return t.apply(this,arguments)}}()),t(this,"getToken",r(e().m(function t(){var n;return e().w(function(t){for(;;)switch(t.n){case 0:if(void 0!==s._token){t.n=2;break}return t.n=1,u.tokenProvider.getToken();case 1:n=t.v,t.n=3;break;case 2:n=s._token;case 3:return t.a(2,n)}},t)}))),t(this,"addtoken",function(){var t=r(e().m(function t(n){var r;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,s.getToken();case 1:return(r=t.v)&&null!=n&&n.headers&&(n.headers.Authorization="Bearer "+r),t.a(2,n)}},t)}));return function(n){return t.apply(this,arguments)}}()),this._http=n||f,this.mapResponse()}return n(u,[{key:"setToken",value:function(t){this._token=t}},{key:"addCustomHeader",value:(A=r(e().m(function t(n){return e().w(function(t){for(;;)if(0===t.n)return n||(n={headers:{}}),n.headers||(n.headers={}),t.a(2,n)},t)})),function(t){return A.apply(this,arguments)})},{key:"interuptHeader",value:(P=r(e().m(function t(n){return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,this.addtoken(n);case 1:return t.a(2,n)}},t,this)})),function(t){return P.apply(this,arguments)})},{key:"get",value:(H=r(e().m(function t(n,r){var a,u,s;return e().w(function(t){for(;;)switch(t.n){case 0:return u=this._http,s=n,t.n=1,this.addCustomHeader(r);case 1:return t.n=2,u.get.call(u,s,t.v);case 2:return a=t.v,t.a(2,a.data)}},t,this)})),function(t,n){return H.apply(this,arguments)})},{key:"tryGet",value:(C=r(e().m(function t(n,r){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.a(2,this.get(n,r));case 1:return t.p=1,t.v,t.a(2,null)}},t,this,[[0,1]])})),function(t,n){return C.apply(this,arguments)})},{key:"post",value:(_=r(e().m(function t(n,r,a){var u,s,i,o;return e().w(function(t){for(;;)switch(t.n){case 0:return s=this._http,i=n,o=r,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,s.post.call(s,i,o,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,n,r){return _.apply(this,arguments)})},{key:"put",value:(g=r(e().m(function t(n,r,a){var u,s,i,o;return e().w(function(t){for(;;)switch(t.n){case 0:return s=this._http,i=n,o=r,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,s.put.call(s,i,o,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,n,r){return g.apply(this,arguments)})},{key:"tryPut",value:(m=r(e().m(function t(n,r,a){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,this.put(n,r,a);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,n,r){return m.apply(this,arguments)})},{key:"patch",value:(w=r(e().m(function t(n,r,a){var u,s,i,o;return e().w(function(t){for(;;)switch(t.n){case 0:return s=this._http,i=n,o=r,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,s.patch.call(s,i,o,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,n,r){return w.apply(this,arguments)})},{key:"tryPatch",value:(k=r(e().m(function t(n,r,a){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,this.patch(n,r,a);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,n,r){return k.apply(this,arguments)})},{key:"tryPost",value:(y=r(e().m(function t(n,r,a){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.post(n,r,a);case 1:return t.a(2,t.v);case 2:return t.p=2,t.v,t.a(2,null)}},t,this,[[0,2]])})),function(t,n,r){return y.apply(this,arguments)})},{key:"delete",value:(c=r(e().m(function t(n,r){var a,u,s;return e().w(function(t){for(;;)switch(t.n){case 0:return u=this._http,s=n,t.n=1,this.addCustomHeader(r);case 1:return t.n=2,u.delete.call(u,s,t.v);case 2:return a=t.v,t.a(2,a.data)}},t,this)})),function(t,n){return c.apply(this,arguments)})},{key:"tryDelete",value:(o=r(e().m(function t(n,r){var a,u;return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,a=this,u=n,t.n=1,this.addCustomHeader(r);case 1:return t.n=2,a.delete.call(a,u,t.v);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,n){return o.apply(this,arguments)})},{key:"tryPushNotify",value:(i=r(e().m(function t(n){var r,a,u,s=arguments;return e().w(function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,r=s.length,a=new Array(r>1?r-1:0),u=1;u<r;u++)a[u-1]=s[u];return t.n=1,this.pushNotify.apply(this,[n].concat(a));case 1:return t.a(2,t.v);case 2:t.p=2,t.v;case 3:return t.a(2)}},t,this,[[0,2]])})),function(t){return i.apply(this,arguments)})},{key:"pushNotify",value:(s=r(e().m(function t(n){var r,a,u,s,i,o,c,h=arguments;return e().w(function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,r=h.length,a=new Array(r>1?r-1:0),u=1;u<r;u++)a[u-1]=h[u];return t.n=1,n.bind(this).apply(void 0,a);case 1:return t.a(2,t.v);case 2:throw t.p=2,c=t.v,(o=null===(s=(i=c).response)||void 0===s?void 0:s.data)&&Object.keys(o).forEach(function(t){var n=o[t];Array.isArray(n)&&n.forEach(function(t){var n;null==l||null===(n=l.ApiAlert)||void 0===n||n.PushError(t)})}),i;case 3:return t.a(2)}},t,this,[[0,2]])})),function(t){return s.apply(this,arguments)})}],[{key:"tokenProvider",get:function(){var t;return null!==(t=p(u.key_token_provider).get())&&void 0!==t?t:new d}},{key:"setTokenProvider",value:function(t){p(u.key_token_provider).set(null!=t?t:new d)}}]);var s,i,o,c,y,k,w,m,g,_,C,H,P,A}();t(y,"key_token_provider","__t1_22zzz_t_pro_key__");var k=function(r){function e(){var n;a(this,e);for(var r=arguments.length,u=new Array(r),s=0;s<r;s++)u[s]=arguments[s];return n=i(this,e,[].concat(u)),t(n,"cancel",function(){n.trigger&&n.trigger(),o(e,"abort",n)([])}),n}return u(e,r),n(e)}(s(AbortController));export{k as CancelAction,y as default};
2
2
  //# sourceMappingURL=service-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-base.js","sources":["../../../../src/http-service/base/service-base.ts"],"sourcesContent":["import { authService } from 'partner-oidc-auth'\r\nimport type { AxiosError, AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios'\r\nimport axios from 'axios'\r\nimport { HttpService } from './gateway'\r\nimport { handleResponseError, ApiAlertContext } from './helpers'\r\n\r\n/**\r\n * Base service class for HTTP operations with authentication and error handling\r\n * Provides common CRUD operations with automatic token management and retry logic\r\n */\r\nexport default class ServiceBase {\r\n private _http: AxiosInstance\r\n constructor(http?: AxiosInstance) {\r\n if (http) {\r\n this._http = http\r\n } else {\r\n this._http = HttpService\r\n }\r\n this.mapResponse()\r\n }\r\n /**\r\n * Maps response and request interceptors for handling authentication and errors\r\n * Automatically adds authorization headers and retries requests on 401 errors\r\n */\r\n mapResponse = () => {\r\n this._http.interceptors.response.use(\r\n (res) => res,\r\n (err) => this.tryFetchToken(err, handleResponseError)\r\n )\r\n this._http.interceptors.request.use((req) => {\r\n return this.interuptHeader(req)\r\n })\r\n }\r\n /**\r\n * Tries to fetch a new token if the current one is expired\r\n * @param error - The axios error containing response data\r\n * @param next - The next middleware function to call\r\n * @returns A promise resolving to the response data or an error\r\n */\r\n tryFetchToken = async (error: AxiosError, next: (error: AxiosError) => Promise<any>): Promise<any> => {\r\n const originalRequest = error.config\r\n if (error?.response?.status === 401 && originalRequest) {\r\n await authService.signIn({})\r\n await this.interuptHeader(originalRequest)\r\n return axios(originalRequest)\r\n }\r\n return next(error)\r\n }\r\n private _token?: string\r\n /**\r\n * Sets the token to be used for authentication\r\n * @param token - The token string to set\r\n */\r\n setToken(token?: string) {\r\n this._token = token\r\n }\r\n /**\r\n * Gets the current token, fetching a new one if not set\r\n * @returns A promise resolving to the token string\r\n */\r\n getToken = async () => {\r\n return this._token === undefined ? await authService.getAccessToken() : this._token\r\n }\r\n /**\r\n * Adds custom headers to the request configuration\r\n * @param config - The Axios request configuration object\r\n * @returns A promise resolving to the updated configuration object\r\n */\r\n async addCustomHeader(config?: AxiosRequestConfig) {\r\n if (!config) {\r\n config = { headers: {} }\r\n }\r\n if (!config.headers) {\r\n config.headers = {}\r\n }\r\n return config\r\n }\r\n /**\r\n * Intercepts the request to add the authorization token\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private async interuptHeader(config: InternalAxiosRequestConfig) {\r\n await this.addtoken(config)\r\n return config\r\n }\r\n /**\r\n * Adds the authorization token to the request headers\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private addtoken = async (config?: AxiosRequestConfig) => {\r\n const _token = await this.getToken()\r\n if (_token && config?.headers) {\r\n config.headers.Authorization = 'Bearer ' + _token\r\n }\r\n return config\r\n }\r\n /**\r\n * HTTP GET request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async get<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.get<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP GET request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryGet<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return this.get<TModel>(url, config)\r\n } catch {\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async post<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.post<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async put<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.put<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPut<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.put<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP PATCH request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async patch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.patch<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PATCH request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPatch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.patch<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPost<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.post<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP DELETE request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async delete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.delete<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP DELETE request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryDelete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.delete<TModel>(url, await this.addCustomHeader(config))\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async tryPushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>) {\r\n try {\r\n return await this.pushNotify(action, ...p)\r\n } catch (err) {}\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async pushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>): Promise<ReturnType<TFunc>> {\r\n try {\r\n return await action.bind(this)(...p)\r\n } catch (err) {\r\n const error = err as AxiosError\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(data)\r\n keys.forEach((key) => {\r\n const errors = data[key] as string[]\r\n if (Array.isArray(errors)) {\r\n errors.forEach((message) => {\r\n ApiAlertContext?.ApiAlert?.PushError(message)\r\n })\r\n }\r\n })\r\n }\r\n throw error\r\n }\r\n }\r\n}\r\n/**\r\n * CancelAction class extends AbortController to provide a cancel method\r\n * This class can be used to cancel ongoing HTTP requests\r\n */\r\nexport class CancelAction extends AbortController {\r\n cancel = () => {\r\n this.trigger && this.trigger()\r\n super.abort()\r\n }\r\n trigger?: () => void\r\n}\r\n"],"names":["ServiceBase","_createClass","http","_this","this","_classCallCheck","_defineProperty","_http","interceptors","response","use","res","err","tryFetchToken","handleResponseError","request","req","interuptHeader","_ref","_asyncToGenerator","_regenerator","m","_callee","error","next","_error$response","originalRequest","w","_context","n","config","status","authService","signIn","a","axios","_x","_x2","apply","arguments","_callee2","_t","_context2","undefined","_token","getAccessToken","v","_ref3","_callee3","_context3","getToken","headers","Authorization","_x3","HttpService","mapResponse","key","value","token","_addCustomHeader","_callee4","_context4","_x4","_interuptHeader","_callee5","_context5","addtoken","_x5","_get","_callee6","url","_t2","_t3","_context6","addCustomHeader","get","call","data","_x6","_x7","_tryGet","_callee7","_context7","p","_x8","_x9","_post","_callee8","_t5","_t6","_t7","_context8","post","_x0","_x1","_x10","_put","_callee9","_t8","_t9","_t0","_context9","put","_x11","_x12","_x13","_tryPut","_callee0","_context0","_x14","_x15","_x16","_patch","_callee1","_t10","_t11","_t12","_context1","patch","_x17","_x18","_x19","_tryPatch","_callee10","_context10","_x20","_x21","_x22","_tryPost","_callee11","_context11","_x23","_x24","_x25","_delete2","_callee12","_t15","_t16","_context12","_x26","_x27","_tryDelete","_callee13","_t17","_t18","_context13","_x28","_x29","_tryPushNotify","_callee14","action","_len","_key","_args14","_context14","length","Array","pushNotify","concat","_x30","_pushNotify","_callee15","_len2","_key2","_error$response2","_t21","_args15","_context15","bind","Object","keys","forEach","errors","isArray","message","_ApiAlertContext$ApiA","ApiAlertContext","ApiAlert","PushError","_x31","CancelAction","_AbortController","_this2","_len3","args","_key3","_callSuper","trigger","_superPropGet","_inherits","_wrapNativeSuper","AbortController"],"mappings":"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"}
1
+ {"version":3,"file":"service-base.js","sources":["../../../../src/http-service/base/service-base.ts"],"sourcesContent":["import { authService } from 'partner-oidc-auth'\r\nimport type { AxiosError, AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios'\r\nimport axios from 'axios'\r\nimport { HttpService } from './gateway'\r\nimport { createObjectSingleton } from '../../utils/singletone'\r\nimport { handleResponseError, ApiAlertContext } from './helpers'\r\n\r\nexport interface ITokenProvider {\r\n getToken: () => Promise<string | undefined>\r\n reSignIn: () => Promise<void>\r\n getRoles: () => Promise<string[] | undefined>\r\n}\r\n\r\nclass TokenProviderDefault implements ITokenProvider {\r\n async getToken(): Promise<string | undefined> {\r\n return (await authService.getAccessToken()) || undefined\r\n }\r\n async reSignIn() {\r\n await authService.signIn({})\r\n }\r\n async getRoles(): Promise<string[] | undefined> {\r\n const roles = await authService.getRoles()\r\n return roles || undefined\r\n }\r\n}\r\n\r\n/**\r\n * Base service class for HTTP operations with authentication and error handling\r\n * Provides common CRUD operations with automatic token management and retry logic\r\n */\r\nexport default class ServiceBase {\r\n static key_token_provider = '__t1_22zzz_t_pro_key__'\r\n static get tokenProvider(): ITokenProvider {\r\n const ObjectProvider = createObjectSingleton<ITokenProvider>(ServiceBase.key_token_provider)\r\n return ObjectProvider.get() ?? new TokenProviderDefault()\r\n }\r\n static setTokenProvider(provider: ITokenProvider) {\r\n const ObjectProvider = createObjectSingleton<ITokenProvider>(ServiceBase.key_token_provider)\r\n ObjectProvider.set(provider ?? new TokenProviderDefault())\r\n }\r\n\r\n private _http: AxiosInstance\r\n constructor(http?: AxiosInstance) {\r\n if (http) {\r\n this._http = http\r\n } else {\r\n this._http = HttpService\r\n }\r\n this.mapResponse()\r\n }\r\n /**\r\n * Maps response and request interceptors for handling authentication and errors\r\n * Automatically adds authorization headers and retries requests on 401 errors\r\n */\r\n mapResponse = () => {\r\n this._http.interceptors.response.use(\r\n (res) => res,\r\n (err) => this.tryFetchToken(err, handleResponseError)\r\n )\r\n this._http.interceptors.request.use((req) => {\r\n return this.interuptHeader(req)\r\n })\r\n }\r\n /**\r\n * Tries to fetch a new token if the current one is expired\r\n * @param error - The axios error containing response data\r\n * @param next - The next middleware function to call\r\n * @returns A promise resolving to the response data or an error\r\n */\r\n tryFetchToken = async (error: AxiosError, next: (error: AxiosError) => Promise<any>): Promise<any> => {\r\n const originalRequest = error.config\r\n if (error?.response?.status === 401 && originalRequest) {\r\n await ServiceBase.tokenProvider.reSignIn()\r\n await this.interuptHeader(originalRequest)\r\n return axios(originalRequest)\r\n }\r\n return next(error)\r\n }\r\n private _token?: string\r\n /**\r\n * Sets the token to be used for authentication\r\n * @param token - The token string to set\r\n */\r\n setToken(token?: string) {\r\n this._token = token\r\n }\r\n /**\r\n * Gets the current token, fetching a new one if not set\r\n * @returns A promise resolving to the token string\r\n */\r\n getToken = async () => {\r\n return this._token === undefined ? await ServiceBase.tokenProvider.getToken() : this._token\r\n }\r\n /**\r\n * Adds custom headers to the request configuration\r\n * @param config - The Axios request configuration object\r\n * @returns A promise resolving to the updated configuration object\r\n */\r\n async addCustomHeader(config?: AxiosRequestConfig) {\r\n if (!config) {\r\n config = { headers: {} }\r\n }\r\n if (!config.headers) {\r\n config.headers = {}\r\n }\r\n return config\r\n }\r\n /**\r\n * Intercepts the request to add the authorization token\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private async interuptHeader(config: InternalAxiosRequestConfig) {\r\n await this.addtoken(config)\r\n return config\r\n }\r\n /**\r\n * Adds the authorization token to the request headers\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private addtoken = async (config?: AxiosRequestConfig) => {\r\n const _token = await this.getToken()\r\n if (_token && config?.headers) {\r\n config.headers.Authorization = 'Bearer ' + _token\r\n }\r\n return config\r\n }\r\n /**\r\n * HTTP GET request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async get<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.get<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP GET request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryGet<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return this.get<TModel>(url, config)\r\n } catch {\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async post<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.post<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async put<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.put<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPut<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.put<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP PATCH request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async patch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.patch<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PATCH request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPatch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.patch<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPost<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.post<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP DELETE request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async delete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.delete<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP DELETE request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryDelete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.delete<TModel>(url, await this.addCustomHeader(config))\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async tryPushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>) {\r\n try {\r\n return await this.pushNotify(action, ...p)\r\n } catch (err) {}\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async pushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>): Promise<ReturnType<TFunc>> {\r\n try {\r\n return await action.bind(this)(...p)\r\n } catch (err) {\r\n const error = err as AxiosError\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(data)\r\n keys.forEach((key) => {\r\n const errors = data[key] as string[]\r\n if (Array.isArray(errors)) {\r\n errors.forEach((message) => {\r\n ApiAlertContext?.ApiAlert?.PushError(message)\r\n })\r\n }\r\n })\r\n }\r\n throw error\r\n }\r\n }\r\n}\r\n/**\r\n * CancelAction class extends AbortController to provide a cancel method\r\n * This class can be used to cancel ongoing HTTP requests\r\n */\r\nexport class CancelAction extends AbortController {\r\n cancel = () => {\r\n this.trigger && this.trigger()\r\n super.abort()\r\n }\r\n trigger?: () => void\r\n}\r\n"],"names":["TokenProviderDefault","_createClass","_classCallCheck","key","value","_getToken","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","n","authService","getAccessToken","v","undefined","a","apply","this","arguments","_reSignIn","_callee2","_context2","signIn","_getRoles","_callee3","roles","_context3","getRoles","ServiceBase","http","_this","_defineProperty","_http","interceptors","response","use","res","err","tryFetchToken","handleResponseError","request","req","interuptHeader","_ref","_callee4","error","next","_error$response","originalRequest","_context4","config","status","tokenProvider","reSignIn","axios","_x","_x2","_callee5","_t2","_context5","_token","getToken","_ref3","_callee6","_context6","headers","Authorization","_x3","HttpService","mapResponse","token","_addCustomHeader","_callee7","_context7","_x4","_interuptHeader","_callee8","_context8","addtoken","_x5","_get","_callee9","url","_t3","_t4","_context9","addCustomHeader","get","call","data","_x6","_x7","_tryGet","_callee0","_context0","p","_x8","_x9","_post","_callee1","_t6","_t7","_t8","_context1","post","_x0","_x1","_x10","_put","_callee10","_t9","_t0","_t1","_context10","put","_x11","_x12","_x13","_tryPut","_callee11","_context11","_x14","_x15","_x16","_patch","_callee12","_t11","_t12","_t13","_context12","patch","_x17","_x18","_x19","_tryPatch","_callee13","_context13","_x20","_x21","_x22","_tryPost","_callee14","_context14","_x23","_x24","_x25","_delete2","_callee15","_t16","_t17","_context15","_x26","_x27","_tryDelete","_callee16","_t18","_t19","_context16","_x28","_x29","_tryPushNotify","_callee17","action","_len","_key","_args17","_context17","length","Array","pushNotify","concat","_x30","_pushNotify","_callee18","_len2","_key2","_error$response2","_t22","_args18","_context18","bind","Object","keys","forEach","errors","isArray","message","_ApiAlertContext$ApiA","ApiAlertContext","ApiAlert","PushError","_x31","_ObjectProvider$get","createObjectSingleton","key_token_provider","provider","set","CancelAction","_AbortController","_this2","_len3","args","_key3","_callSuper","trigger","_superPropGet","_inherits","_wrapNativeSuper","AbortController"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createClass as e,classCallCheck as n,defineProperty as r,asyncToGenerator as t,regenerator as a}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{authService as i}from"partner-oidc-auth";import{EAppName as s}from"./types.js";var o;!function(e){e.Admin="Admin",e.User="User",e.Manage="Manage"}(o||(o={}));var u=new(e(function e(){var u=this;n(this,e),r(this,"getAppName",function(){return u.window.env.REACT_APP_NAME}),r(this,"isAdmin",function(e){return(null!=e?e:[]).some(function(e){return e===o.Admin})&&u.getAppName()===s.ClientAdmin}),r(this,"getGraphqlSite",t(a().m(function e(){var n,r,t;return a().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,i.getRoles();case 1:n=e.v,r=u.getAppName(),t=r,e.n=t===s.ClientAdmin?2:(s.ClientApp,3);break;case 2:return e.a(2,u.isAdmin(n)?o.Admin:o.Manage);case 3:return e.a(2,o.User);case 4:return e.a(2)}},e)}))),this.window=global.window}));export{u as AppProfile};
1
+ import{createClass as e,classCallCheck as n,defineProperty as r,asyncToGenerator as i,regenerator as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{EAppName as a}from"./types.js";import s from"../base/service-base.js";import"../base/gateway.js";import"../base/helpers.js";var o;!function(e){e.Admin="Admin",e.User="User",e.Manage="Manage"}(o||(o={}));var l=new(e(function e(){var l=this;n(this,e),r(this,"getAppName",function(){var e,n;return null!==(e=null===(n=l.window)||void 0===n||null===(n=n.env)||void 0===n?void 0:n.REACT_APP_NAME)&&void 0!==e?e:a.ClientApp}),r(this,"isAdmin",function(e){return(null!=e?e:[]).some(function(e){return e===o.Admin})&&l.getAppName()===a.ClientAdmin}),r(this,"getGraphqlSite",i(t().m(function e(){var n,r,i;return t().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,s.tokenProvider.getRoles();case 1:n=e.v,r=l.getAppName(),i=r,e.n=i===a.ClientAdmin?2:(a.ClientApp,3);break;case 2:return e.a(2,l.isAdmin(n)?o.Admin:o.Manage);case 3:return e.a(2,o.User);case 4:return e.a(2)}},e)}))),this.window=global.window}));export{l as AppProfile};
2
2
  //# sourceMappingURL=app-profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-profile.js","sources":["../../../../src/http-service/graphql/app-profile.ts"],"sourcesContent":["import { authService } from 'partner-oidc-auth'\r\nimport { EAppName } from './types'\r\n\r\nenum RoleKeyInternalSite {\r\n Admin = 'Admin',\r\n User = 'User',\r\n Manage = 'Manage'\r\n}\r\n\r\nclass AppProfileBase {\r\n window: Window & { [key: string]: any }\r\n constructor() {\r\n this.window = global.window\r\n }\r\n\r\n getAppName = () => this.window.env.REACT_APP_NAME as EAppName\r\n\r\n isAdmin = (roles?: string[]) => {\r\n return (roles ?? []).some((e) => e === RoleKeyInternalSite.Admin) && this.getAppName() === EAppName.ClientAdmin\r\n }\r\n\r\n getGraphqlSite = async () => {\r\n const roles = await authService.getRoles()\r\n const appName = this.getAppName()\r\n switch (appName) {\r\n case EAppName.ClientAdmin:\r\n return this.isAdmin(roles) ? RoleKeyInternalSite.Admin : RoleKeyInternalSite.Manage\r\n case EAppName.ClientApp:\r\n default:\r\n return RoleKeyInternalSite.User\r\n }\r\n }\r\n}\r\n\r\nexport const AppProfile = new AppProfileBase()\r\n"],"names":["RoleKeyInternalSite","AppProfile","_createClass","AppProfileBase","_this","this","_classCallCheck","_defineProperty","window","env","REACT_APP_NAME","roles","some","e","Admin","getAppName","EAppName","ClientAdmin","_asyncToGenerator","_regenerator","m","_callee","appName","_t","w","_context","n","authService","getRoles","v","ClientApp","a","isAdmin","Manage","User","global"],"mappings":"kPAGA,IAAKA,GAAL,SAAKA,GACHA,EAAA,MAAA,QACAA,EAAA,KAAA,OACAA,EAAA,OAAA,QACD,CAJD,CAAKA,IAAAA,EAIJ,CAAA,IAAA,IA2BYC,EAAa,IAzBNC,EAElB,SAAAC,IAAA,IAAAC,EAAAC,KAAAC,OAAAH,GAAAI,EAIaF,KAAA,aAAA,WAAA,OAAMD,EAAKI,OAAOC,IAAIC,cAA0B,GAAAH,EAAAF,KAAA,UAEnD,SAACM,GACT,OAAQA,QAAAA,EAAS,IAAIC,KAAK,SAACC,GAAC,OAAKA,IAAMb,EAAoBc,KAAM,IAAIV,EAAKW,eAAiBC,EAASC,cACrGV,EAAAF,KAAA,iBAAAa,EAAAC,IAAAC,EAEgB,SAAAC,IAAA,IAAAV,EAAAW,EAAAC,EAAA,OAAAJ,IAAAK,EAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EAAA,OAAAD,EAAAC,EAAA,EACKC,EAAYC,WAAU,KAAA,EAApCjB,EAAKc,EAAAI,EACLP,EAAUlB,EAAKW,aAAYQ,EACzBD,EAAOG,EAAAC,EAAAH,IACRP,EAASC,YAAWM,GAEpBP,EAASc,UAAS,GAAA,MAAA,KAAA,EAAA,OAAAL,EAAAM,EADd3B,EAAAA,EAAK4B,QAAQrB,GAASX,EAAoBc,MAAQd,EAAoBiC,QAAM,KAAA,EAAA,OAAAR,EAAAM,EAG5E/B,EAAAA,EAAoBkC,MAAI,KAAA,EAAA,OAAAT,EAAAM,EAAA,GAAA,EAAAV,EAEpC,KAnBChB,KAAKG,OAAS2B,OAAO3B,MACvB"}
1
+ {"version":3,"file":"app-profile.js","sources":["../../../../src/http-service/graphql/app-profile.ts"],"sourcesContent":["import { EAppName } from './types'\r\nimport { ServiceBase } from '../base'\r\n\r\nenum RoleKeyInternalSite {\r\n Admin = 'Admin',\r\n User = 'User',\r\n Manage = 'Manage'\r\n}\r\n\r\nclass AppProfileBase {\r\n window: Window & { [key: string]: any }\r\n constructor() {\r\n this.window = global.window\r\n }\r\n\r\n getAppName = () => (this.window?.env?.REACT_APP_NAME as EAppName) ?? EAppName.ClientApp\r\n\r\n isAdmin = (roles?: string[]) => {\r\n return (roles ?? []).some((e) => e === RoleKeyInternalSite.Admin) && this.getAppName() === EAppName.ClientAdmin\r\n }\r\n\r\n getGraphqlSite = async () => {\r\n const roles = await ServiceBase.tokenProvider.getRoles()\r\n const appName = this.getAppName()\r\n switch (appName) {\r\n case EAppName.ClientAdmin:\r\n return this.isAdmin(roles) ? RoleKeyInternalSite.Admin : RoleKeyInternalSite.Manage\r\n case EAppName.ClientApp:\r\n default:\r\n return RoleKeyInternalSite.User\r\n }\r\n }\r\n}\r\n\r\nexport const AppProfile = new AppProfileBase()\r\n"],"names":["RoleKeyInternalSite","AppProfile","_createClass","AppProfileBase","_this","this","_classCallCheck","_defineProperty","_this$window$env$REAC","_this$window","window","env","REACT_APP_NAME","EAppName","ClientApp","roles","some","e","Admin","getAppName","ClientAdmin","_asyncToGenerator","_regenerator","m","_callee","appName","_t","w","_context","n","ServiceBase","tokenProvider","getRoles","v","a","isAdmin","Manage","User","global"],"mappings":"+RAGA,IAAKA,GAAL,SAAKA,GACHA,EAAA,MAAA,QACAA,EAAA,KAAA,OACAA,EAAA,OAAA,QACD,CAJD,CAAKA,IAAAA,EAIJ,CAAA,IAAA,IA2BYC,EAAa,IAzBNC,EAElB,SAAAC,IAAA,IAAAC,EAAAC,KAAAC,OAAAH,GAAAI,EAIaF,KAAA,aAAA,WAAA,IAAAG,EAAAC,EAAA,OAAoD,QAApDD,EAAkB,QAAlBC,EAAOL,EAAKM,cAAM,IAAAD,GAAK,QAALA,EAAXA,EAAaE,WAAG,IAAAF,OAAA,EAAhBA,EAAkBG,sBAA2B,IAAAJ,EAAAA,EAAIK,EAASC,SAAS,GAAAP,EAAAF,KAAA,UAE7E,SAACU,GACT,OAAQA,QAAAA,EAAS,IAAIC,KAAK,SAACC,GAAC,OAAKA,IAAMjB,EAAoBkB,KAAM,IAAId,EAAKe,eAAiBN,EAASO,cACrGb,EAAAF,KAAA,iBAAAgB,EAAAC,IAAAC,EAEgB,SAAAC,IAAA,IAAAT,EAAAU,EAAAC,EAAA,OAAAJ,IAAAK,EAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EAAA,OAAAD,EAAAC,EAAA,EACKC,EAAYC,cAAcC,WAAU,KAAA,EAAlDjB,EAAKa,EAAAK,EACLR,EAAUrB,EAAKe,aAAYO,EACzBD,EAAOG,EAAAC,EAAAH,IACRb,EAASO,YAAWM,GAEpBb,EAASC,UAAS,GAAA,MAAA,KAAA,EAAA,OAAAc,EAAAM,EADd9B,EAAAA,EAAK+B,QAAQpB,GAASf,EAAoBkB,MAAQlB,EAAoBoC,QAAM,KAAA,EAAA,OAAAR,EAAAM,EAG5ElC,EAAAA,EAAoBqC,MAAI,KAAA,EAAA,OAAAT,EAAAM,EAAA,GAAA,EAAAV,EAEpC,KAnBCnB,KAAKK,OAAS4B,OAAO5B,MACvB"}
@@ -0,0 +1,2 @@
1
+ import{createClass as e,classCallCheck as n}from"../../_virtual/_rollupPluginBabelHelpers.js";function t(t){var u=globalThis,r={},l=function(){return e(function e(){return n(this,e),new Proxy(this,{get:function(e,n){return"set"===n?e.set.bind(e):"get"===n?e.get.bind(e):"delete"===n?e.delete.bind(e):"has"===n?e.has.bind(e):"clear"===n?e.clear.bind(e):"keys"===n?e.keys.bind(e):"values"===n?e.values.bind(e):"entries"===n?e.entries.bind(e):"size"===n?Object.keys(r).length:e[n]}})},[{key:"set",value:function(e,n){r[e]=n}},{key:"get",value:function(e){return r[e]}},{key:"delete",value:function(e){return e in r&&(delete r[e],!0)}},{key:"has",value:function(e){return e in r}},{key:"clear",value:function(){Object.keys(r).forEach(function(e){return delete r[e]})}},{key:"keys",value:function(){return Object.keys(r)}},{key:"values",value:function(){return Object.values(r)}},{key:"entries",value:function(){return Object.entries(r)}}])}(),i=function(e,n,t){return null!=n||(n=u),n[e]||(n[e]=null!=t?t:{}),n[e]}("z_y1s_651_ps",u,new l);return{get:function(){return i.get(t)},set:function(e){return i.set(t,e)},delete:function(){return i.delete(t)},has:function(){return i.has(t)}}}export{t as createObjectSingleton,t as default};
2
+ //# sourceMappingURL=singletone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singletone.js","sources":["../../../src/utils/singletone.ts"],"sourcesContent":["/**\r\n * CreateObjectSingleton\r\n *\r\n * Lightweight global singleton registry (per-string key).\r\n * Exposes per-key helpers: `get()`, `set(value)`, `delete()`, `has()`.\r\n */\r\nexport function createObjectSingleton<T = any>(key: string) {\r\n // Use `globalThis` as the shared container so the registry survives\r\n // across module boundaries, multiple bundles, and hot-reloads.\r\n const GWindow: any = globalThis\r\n\r\n // Ensure the internal registry object exists on the provided `store`\r\n // (defaults to `globalThis`). Returns the registry object at `store[key]`.\r\n const getWindowHandler = (key: string, store?: any, value?: any) => {\r\n store ??= GWindow\r\n if (!store[key]) {\r\n store[key] = value ?? {}\r\n }\r\n return store[key]\r\n }\r\n\r\n // Internal storage for entries. This object holds actual values and is\r\n // captured by the Proxy so methods can interact with this underlying map.\r\n const handlerActions: Record<string, T> = {}\r\n\r\n class ProxyMapSingleton {\r\n constructor() {\r\n // The Proxy intercepts property access so we can expose the class\r\n // methods and derived properties (like `size`) while forwarding any\r\n // unknown properties to the underlying instance.\r\n return new Proxy(this, {\r\n get: (target: any, prop: string | symbol) => {\r\n if (prop === 'set') return target.set.bind(target)\r\n if (prop === 'get') return target.get.bind(target)\r\n if (prop === 'delete') return target.delete.bind(target)\r\n if (prop === 'has') return target.has.bind(target)\r\n if (prop === 'clear') return target.clear.bind(target)\r\n if (prop === 'keys') return target.keys.bind(target)\r\n if (prop === 'values') return target.values.bind(target)\r\n if (prop === 'entries') return target.entries.bind(target)\r\n // Expose a read-only `size` derived from the internal storage.\r\n if (prop === 'size') return Object.keys(handlerActions).length\r\n return (target as any)[prop] // other properties (if any)\r\n }\r\n })\r\n }\r\n\r\n // Set a value for `key` in the shared registry.\r\n set(key: string, value: T) {\r\n handlerActions[key] = value\r\n }\r\n\r\n // Get the value for `key` from the shared registry.\r\n get(key: string): T | undefined {\r\n return handlerActions[key]\r\n }\r\n\r\n // Delete an entry by `key`. Returns `true` if removed.\r\n delete(key: string) {\r\n if (key in handlerActions) {\r\n delete handlerActions[key]\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n // Check whether `key` exists in the registry.\r\n has(key: string) {\r\n return key in handlerActions\r\n }\r\n\r\n // Remove all entries from the registry.\r\n clear() {\r\n Object.keys(handlerActions).forEach((key) => delete handlerActions[key])\r\n }\r\n\r\n // Return an array of stored keys.\r\n keys() {\r\n return Object.keys(handlerActions)\r\n }\r\n\r\n // Return an array of stored values.\r\n values() {\r\n return Object.values(handlerActions)\r\n }\r\n\r\n // Return an array of [key, value] pairs.\r\n entries() {\r\n return Object.entries(handlerActions)\r\n }\r\n }\r\n\r\n // Create or reuse the shared proxy-backed registry stored on `globalThis`.\r\n const HandlerAction: any = getWindowHandler('z_y1s_651_ps', GWindow, new ProxyMapSingleton())\r\n\r\n // Return a compact per-key API that operates against the shared registry.\r\n // Note: This returns only the per-key helpers; other registry-level helpers\r\n // (like `size`, `keys`, etc.) are available on the shared proxy itself.\r\n return {\r\n get: () => HandlerAction.get(key),\r\n set: (value: T) => HandlerAction.set(key, value),\r\n delete: () => HandlerAction.delete(key),\r\n has: () => HandlerAction.has(key)\r\n }\r\n}\r\nexport default createObjectSingleton\r\n"],"names":["createObjectSingleton","key","GWindow","globalThis","handlerActions","ProxyMapSingleton","_createClass","_classCallCheck","Proxy","this","get","target","prop","set","bind","has","clear","keys","values","entries","Object","length","value","forEach","HandlerAction","store","getWindowHandler","delete"],"mappings":"8FAMM,SAAUA,EAA+BC,GAG7C,IAAMC,EAAeC,WAcfC,EAAoC,CAAE,EAEtCC,EAAiB,WAsBrB,OAAAC,EArBA,SAAAD,IAIE,OAJFE,OAAAF,GAIS,IAAIG,MAAMC,KAAM,CACrBC,IAAK,SAACC,EAAaC,GACjB,MAAa,QAATA,EAAuBD,EAAOE,IAAIC,KAAKH,GAC9B,QAATC,EAAuBD,EAAOD,IAAII,KAAKH,GAC9B,WAATC,EAA0BD,EAAM,OAAQG,KAAKH,GACpC,QAATC,EAAuBD,EAAOI,IAAID,KAAKH,GAC9B,UAATC,EAAyBD,EAAOK,MAAMF,KAAKH,GAClC,SAATC,EAAwBD,EAAOM,KAAKH,KAAKH,GAChC,WAATC,EAA0BD,EAAOO,OAAOJ,KAAKH,GACpC,YAATC,EAA2BD,EAAOQ,QAAQL,KAAKH,GAEtC,SAATC,EAAwBQ,OAAOH,KAAKb,GAAgBiB,OAChDV,EAAeC,EACzB,GAEJ,EAEA,CAAA,CAAAX,IAAA,MAAAqB,MACA,SAAIrB,EAAaqB,GACflB,EAAeH,GAAOqB,CACxB,GAEA,CAAArB,IAAA,MAAAqB,MACA,SAAIrB,GACF,OAAOG,EAAeH,EACxB,GAEA,CAAAA,IAAA,SAAAqB,MACA,SAAOrB,GACL,OAAIA,KAAOG,WACFA,EAAeH,IACf,EAGX,GAEA,CAAAA,IAAA,MAAAqB,MACA,SAAIrB,GACF,OAAOA,KAAOG,CAChB,GAEA,CAAAH,IAAA,QAAAqB,MACA,WACEF,OAAOH,KAAKb,GAAgBmB,QAAQ,SAACtB,GAAG,cAAYG,EAAeH,IACrE,GAEA,CAAAA,IAAA,OAAAqB,MACA,WACE,OAAOF,OAAOH,KAAKb,EACrB,GAEA,CAAAH,IAAA,SAAAqB,MACA,WACE,OAAOF,OAAOF,OAAOd,EACvB,GAEA,CAAAH,IAAA,UAAAqB,MACA,WACE,OAAOF,OAAOD,QAAQf,EACxB,KAhEqB,GAoEjBoB,EAhFmB,SAACvB,EAAawB,EAAaH,GAKlD,OAJAG,UAAAA,EAAUvB,GACLuB,EAAMxB,KACTwB,EAAMxB,GAAOqB,QAAAA,EAAS,CAAE,GAEnBG,EAAMxB,EACd,CA0E0ByB,CAAiB,eAAgBxB,EAAS,IAAIG,GAKzE,MAAO,CACLK,IAAK,WAAF,OAAQc,EAAcd,IAAIT,EAAI,EACjCY,IAAK,SAACS,GAAQ,OAAKE,EAAcX,IAAIZ,EAAKqB,EAAM,EAChDK,OAAQ,WAAF,OAAQH,EAAa,OAAQvB,EAAI,EACvCc,IAAK,WAAF,OAAQS,EAAcT,IAAId,EAAI,EAErC"}
@@ -1,9 +1,17 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig } from 'axios';
2
+ export interface ITokenProvider {
3
+ getToken: () => Promise<string | undefined>;
4
+ reSignIn: () => Promise<void>;
5
+ getRoles: () => Promise<string[] | undefined>;
6
+ }
2
7
  /**
3
8
  * Base service class for HTTP operations with authentication and error handling
4
9
  * Provides common CRUD operations with automatic token management and retry logic
5
10
  */
6
11
  export default class ServiceBase {
12
+ static key_token_provider: string;
13
+ static get tokenProvider(): ITokenProvider;
14
+ static setTokenProvider(provider: ITokenProvider): void;
7
15
  private _http;
8
16
  constructor(http?: AxiosInstance);
9
17
  /**
@@ -28,7 +36,7 @@ export default class ServiceBase {
28
36
  * Gets the current token, fetching a new one if not set
29
37
  * @returns A promise resolving to the token string
30
38
  */
31
- getToken: () => Promise<string | null | undefined>;
39
+ getToken: () => Promise<string | undefined>;
32
40
  /**
33
41
  * Adds custom headers to the request configuration
34
42
  * @param config - The Axios request configuration object
@@ -0,0 +1,148 @@
1
+ import type { AxiosError, AxiosInstance, AxiosRequestConfig } from 'axios';
2
+ /**
3
+ * Base service class for HTTP operations with authentication and error handling
4
+ * Provides common CRUD operations with automatic token management and retry logic
5
+ */
6
+ export default class ServiceBase {
7
+ private _http;
8
+ constructor(http?: AxiosInstance);
9
+ /**
10
+ * Maps response and request interceptors for handling authentication and errors
11
+ * Automatically adds authorization headers and retries requests on 401 errors
12
+ */
13
+ mapResponse: () => void;
14
+ /**
15
+ * Tries to fetch a new token if the current one is expired
16
+ * @param error - The axios error containing response data
17
+ * @param next - The next middleware function to call
18
+ * @returns A promise resolving to the response data or an error
19
+ */
20
+ tryFetchToken: (error: AxiosError, next: (error: AxiosError) => Promise<any>) => Promise<any>;
21
+ private _token?;
22
+ /**
23
+ * Sets the token to be used for authentication
24
+ * @param token - The token string to set
25
+ */
26
+ setToken(token?: string): void;
27
+ /**
28
+ * Gets the current token, fetching a new one if not set
29
+ * @returns A promise resolving to the token string
30
+ */
31
+ getToken: () => Promise<string | null | undefined>;
32
+ /**
33
+ * Adds custom headers to the request configuration
34
+ * @param config - The Axios request configuration object
35
+ * @returns A promise resolving to the updated configuration object
36
+ */
37
+ addCustomHeader(config?: AxiosRequestConfig): Promise<AxiosRequestConfig<any>>;
38
+ /**
39
+ * Intercepts the request to add the authorization token
40
+ * @param config - The Axios request configuration object
41
+ * @returns The updated configuration object with the token added
42
+ */
43
+ private interuptHeader;
44
+ /**
45
+ * Adds the authorization token to the request headers
46
+ * @param config - The Axios request configuration object
47
+ * @returns The updated configuration object with the token added
48
+ */
49
+ private addtoken;
50
+ /**
51
+ * HTTP GET request with automatic authentication
52
+ * @param url - The request URL
53
+ * @param config - Optional axios configuration
54
+ * @returns Promise with the response data
55
+ */
56
+ get<TModel>(url: string, config?: AxiosRequestConfig | undefined): Promise<TModel>;
57
+ /**
58
+ * HTTP GET request with error handling
59
+ * @param url - The request URL
60
+ * @param config - Optional axios configuration
61
+ * @returns Promise with the response data or null if an error occurs
62
+ */
63
+ tryGet<TModel>(url: string, config?: AxiosRequestConfig | undefined): Promise<TModel | null>;
64
+ /**
65
+ * HTTP POST request with automatic authentication
66
+ * @param url - The request URL
67
+ * @param data - Optional data to send in the request body
68
+ * @param config - Optional axios configuration
69
+ * @returns Promise with the response data
70
+ */
71
+ post<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined): Promise<TModel>;
72
+ /**
73
+ * HTTP PUT request with automatic authentication
74
+ * @param url - The request URL
75
+ * @param data - Optional data to send in the request body
76
+ * @param config - Optional axios configuration
77
+ * @returns Promise with the response data
78
+ */
79
+ put<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined): Promise<TModel>;
80
+ /**
81
+ * HTTP PUT request with error handling
82
+ * @param url - The request URL
83
+ * @param data - Optional data to send in the request body
84
+ * @param config - Optional axios configuration
85
+ * @returns Promise with the response data or null if an error occurs
86
+ */
87
+ tryPut<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined): Promise<TModel | null>;
88
+ /**
89
+ * HTTP PATCH request with automatic authentication
90
+ * @param url - The request URL
91
+ * @param data - Optional data to send in the request body
92
+ * @param config - Optional axios configuration
93
+ * @returns Promise with the response data
94
+ */
95
+ patch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined): Promise<TModel>;
96
+ /**
97
+ * HTTP PATCH request with error handling
98
+ * @param url - The request URL
99
+ * @param data - Optional data to send in the request body
100
+ * @param config - Optional axios configuration
101
+ * @returns Promise with the response data or null if an error occurs
102
+ */
103
+ tryPatch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined): Promise<TModel | null>;
104
+ /**
105
+ * HTTP POST request with error handling
106
+ * @param url - The request URL
107
+ * @param data - Optional data to send in the request body
108
+ * @param config - Optional axios configuration
109
+ * @returns Promise with the response data or null if an error occurs
110
+ */
111
+ tryPost<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined): Promise<TModel | null>;
112
+ /**
113
+ * HTTP DELETE request with automatic authentication
114
+ * @param url - The request URL
115
+ * @param config - Optional axios configuration
116
+ * @returns Promise with the response data
117
+ */
118
+ delete<TModel>(url: string, config?: AxiosRequestConfig | undefined): Promise<TModel>;
119
+ /**
120
+ * HTTP DELETE request with error handling
121
+ * @param url - The request URL
122
+ * @param config - Optional axios configuration
123
+ * @returns Promise with the response data or null if an error occurs
124
+ */
125
+ tryDelete<TModel>(url: string, config?: AxiosRequestConfig | undefined): Promise<TModel | null>;
126
+ /**
127
+ * Push notification with error handling
128
+ * @param action - The function to execute
129
+ * @param p - Parameters to pass to the function
130
+ * @returns Promise with the result of the function execution
131
+ */
132
+ tryPushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>): Promise<ReturnType<TFunc> | undefined>;
133
+ /**
134
+ * Push notification with error handling
135
+ * @param action - The function to execute
136
+ * @param p - Parameters to pass to the function
137
+ * @returns Promise with the result of the function execution
138
+ */
139
+ pushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>): Promise<ReturnType<TFunc>>;
140
+ }
141
+ /**
142
+ * CancelAction class extends AbortController to provide a cancel method
143
+ * This class can be used to cancel ongoing HTTP requests
144
+ */
145
+ export declare class CancelAction extends AbortController {
146
+ cancel: () => void;
147
+ trigger?: () => void;
148
+ }
@@ -2,3 +2,4 @@ export * from './helpers';
2
2
  export { default as dayjsCustom } from './dayjs-config';
3
3
  export { default as JObject } from './json-object';
4
4
  export { default as QueryParam } from './query-param';
5
+ export { default as createObjectSingleton } from './singletone';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CreateObjectSingleton
3
+ *
4
+ * Lightweight global singleton registry (per-string key).
5
+ * Exposes per-key helpers: `get()`, `set(value)`, `delete()`, `has()`.
6
+ */
7
+ export declare function createObjectSingleton<T = any>(key: string): {
8
+ get: () => any;
9
+ set: (value: T) => any;
10
+ delete: () => any;
11
+ has: () => any;
12
+ };
13
+ export default createObjectSingleton;
@@ -1,2 +1,2 @@
1
- export{cleanObject,decodeBase64,deepRemoveEmptyFields,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,isGuid,isValidEmail,isValidPhoneNumber,isValidURL,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseCsvFileToArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"../src/utils/helpers.js";import"../src/utils/dayjs-config.js";export{default as JObject}from"../src/utils/json-object.js";export{QueryParam}from"../src/utils/query-param.js";export{default as dayjsCustom}from"dayjs";
1
+ export{cleanObject,decodeBase64,deepRemoveEmptyFields,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,isGuid,isValidEmail,isValidPhoneNumber,isValidURL,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseCsvFileToArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"../src/utils/helpers.js";import"../src/utils/dayjs-config.js";export{default as JObject}from"../src/utils/json-object.js";export{QueryParam}from"../src/utils/query-param.js";export{createObjectSingleton}from"../src/utils/singletone.js";export{default as dayjsCustom}from"dayjs";
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-core",
3
- "version": "2.1.30",
3
+ "version": "2.1.32",
4
4
  "description": "Dinocollab core - libraries for building collaborative applications with React 18",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",