@qelos/sdk 3.1.12 → 3.1.15

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/dist/base-sdk.js CHANGED
@@ -7,10 +7,10 @@ export default class BaseSDK {
7
7
  this.#appUrl = qlOptions.appUrl.endsWith('/') ? qlOptions.appUrl.slice(0, -1) : qlOptions.appUrl;
8
8
  this.#fetch = qlOptions.fetch;
9
9
  }
10
- callApi(relativeUrl, data) {
10
+ async callApi(relativeUrl, data) {
11
11
  data = data || {};
12
12
  data.headers = data.headers || {};
13
- Object.assign(data.headers, this.qlOptions.extraHeaders());
13
+ Object.assign(data.headers, await this.qlOptions.extraHeaders(relativeUrl));
14
14
  return this.#fetch(this.#appUrl + relativeUrl, data);
15
15
  }
16
16
  callJsonApi(relativeUrl, data) {
@@ -1 +1 @@
1
- {"version":3,"file":"base-sdk.js","sourceRoot":"","sources":["../src/base-sdk.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,OAAO;IAIN;IAHpB,OAAO,CAAS;IAChB,MAAM,CAAY;IAElB,YAAoB,SAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;QAC5C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QACjG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,WAAmB,EAAE,IAAkB;QAC7C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAI,WAAmB,EAAE,IAAkB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACtD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC/B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC3D;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"base-sdk.js","sourceRoot":"","sources":["../src/base-sdk.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,OAAO;IAIN;IAHpB,OAAO,CAAS;IAChB,MAAM,CAAY;IAElB,YAAoB,SAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;QAC5C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QACjG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAkB;QACnD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAI,WAAmB,EAAE,IAAkB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACtD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC/B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC3D;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/index.js CHANGED
@@ -26,8 +26,15 @@ export default class QelosSDK extends BaseSDK {
26
26
  options.getAccessToken = () => this.authentication.accessToken;
27
27
  }
28
28
  if (!options.extraHeaders) {
29
- options.extraHeaders = () => {
30
- const token = options.getAccessToken();
29
+ options.extraHeaders = async (relativeUrl) => {
30
+ if (relativeUrl === '/api/token/refresh') {
31
+ return {};
32
+ }
33
+ let token = options.getAccessToken();
34
+ if (!token) {
35
+ await this.authentication.refreshToken();
36
+ token = options.getAccessToken();
37
+ }
31
38
  if (token) {
32
39
  return { authorization: 'Bearer ' + token };
33
40
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IASvB;IAPpB,UAAU,CAAe;IACzB,KAAK,CAAU;IACf,MAAM,CAAW;IACjB,OAAO,CAAY;IACnB,iBAAiB,CAAsB;IACvC,cAAc,CAAmB;IAEjC,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QADG,YAAO,GAAP,OAAO,CAAiB;QAE1C,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;SAChE;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,CAAC,YAAY,GAAG,GAAG,EAAE;gBAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;gBACvC,IAAI,KAAK,EAAE;oBACT,OAAO,EAAC,aAAa,EAAE,SAAS,GAAG,KAAK,EAAC,CAAA;iBAC1C;gBACD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;SACF;IACH,CAAC;CAEF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IASvB;IAPpB,UAAU,CAAe;IACzB,KAAK,CAAU;IACf,MAAM,CAAW;IACjB,OAAO,CAAY;IACnB,iBAAiB,CAAsB;IACvC,cAAc,CAAmB;IAEjC,YAAoB,OAAwB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QADG,YAAO,GAAP,OAAO,CAAiB;QAE1C,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;SAChE;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,CAAC,YAAY,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;gBACnD,IAAI,WAAW,KAAK,oBAAoB,EAAE;oBACxC,OAAO,EAAE,CAAC;iBACX;gBACD,IAAI,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAA;oBACxC,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;iBAClC;gBACD,IAAI,KAAK,EAAE;oBACT,OAAO,EAAC,aAAa,EAAE,SAAS,GAAG,KAAK,EAAC,CAAA;iBAC1C;gBACD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;SACF;IACH,CAAC;CAEF"}
package/dist/types.d.ts CHANGED
@@ -5,7 +5,7 @@ export interface QelosSDKOptions {
5
5
  accessToken?: string;
6
6
  refreshToken?: string;
7
7
  getAccessToken?: () => undefined | string;
8
- extraHeaders?: () => {
8
+ extraHeaders?: (relativeUrl: string) => Promise<{
9
9
  [key: string]: string;
10
- };
10
+ }>;
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qelos/sdk",
3
- "version": "3.1.12",
3
+ "version": "3.1.15",
4
4
  "description": "SDK for Qelos API",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
package/src/base-sdk.ts CHANGED
@@ -9,10 +9,10 @@ export default class BaseSDK {
9
9
  this.#fetch = qlOptions.fetch;
10
10
  }
11
11
 
12
- callApi(relativeUrl: string, data?: RequestInit) {
12
+ async callApi(relativeUrl: string, data?: RequestInit) {
13
13
  data = data || {};
14
14
  data.headers = data.headers || {};
15
- Object.assign(data.headers, this.qlOptions.extraHeaders());
15
+ Object.assign(data.headers, await this.qlOptions.extraHeaders(relativeUrl));
16
16
  return this.#fetch(this.#appUrl + relativeUrl, data);
17
17
  }
18
18
 
package/src/index.ts CHANGED
@@ -31,8 +31,15 @@ export default class QelosSDK extends BaseSDK {
31
31
  options.getAccessToken = () => this.authentication.accessToken;
32
32
  }
33
33
  if (!options.extraHeaders) {
34
- options.extraHeaders = () => {
35
- const token = options.getAccessToken();
34
+ options.extraHeaders = async (relativeUrl: string) => {
35
+ if (relativeUrl === '/api/token/refresh') {
36
+ return {};
37
+ }
38
+ let token = options.getAccessToken();
39
+ if (!token) {
40
+ await this.authentication.refreshToken()
41
+ token = options.getAccessToken();
42
+ }
36
43
  if (token) {
37
44
  return {authorization: 'Bearer ' + token}
38
45
  }
package/src/types.ts CHANGED
@@ -6,5 +6,5 @@ export interface QelosSDKOptions {
6
6
  accessToken?: string;
7
7
  refreshToken?: string;
8
8
  getAccessToken?: () => undefined | string;
9
- extraHeaders?: () => { [key: string]: string };
9
+ extraHeaders?: (relativeUrl: string) => Promise<{ [key: string]: string }>;
10
10
  }