@stack-spot/portal-network 0.58.6 → 0.58.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.58.7](https://github.com/stack-spot/portal-commons/compare/portal-network@v0.58.6...portal-network@v0.58.7) (2024-12-11)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * session validation on request permission ([#562](https://github.com/stack-spot/portal-commons/issues/562)) ([03a814f](https://github.com/stack-spot/portal-commons/commit/03a814f3cc80c3af473801cf066e5ec5171a1f90))
9
+
3
10
  ## [0.58.6](https://github.com/stack-spot/portal-commons/compare/portal-network@v0.58.5...portal-network@v0.58.6) (2024-12-11)
4
11
 
5
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../src/network/NetworkClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE3E;;;;;;;;;;;GAWG;AACH,8BAAsB,aAAa;IACjC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAgB;IAC9C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAK;IAExB;;OAEG;gBACS,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAIxC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG;IAKrD,OAAO,CAAC,kBAAkB;IAI1B;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM;IASjC;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvG,OAAO,CAAC,iBAAiB;IAMzB;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBrF;;;;;;;;;;;;;;OAcG;cACa,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYpG;;;OAGG;IACH,SAAS,CAAC,UAAU;CAIrB"}
1
+ {"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../src/network/NetworkClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE3E;;;;;;;;;;;GAWG;AACH,8BAAsB,aAAa;IACjC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAgB;IAC9C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAK;IAExB;;OAEG;gBACS,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;IAIxC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG;IAKrD,OAAO,CAAC,kBAAkB;IAI1B;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM;IASjC;;;;;;OAMG;cACa,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW7G,OAAO,CAAC,iBAAiB;IAMzB;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBrF;;;;;;;;;;;;;;OAcG;cACa,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYpG;;;OAGG;IACH,SAAS,CAAC,UAAU;CAIrB"}
@@ -1,4 +1,4 @@
1
- import { AuthenticationError } from '@stack-spot/auth';
1
+ import { AuthenticationError, SessionExpiredError } from '@stack-spot/auth';
2
2
  import { requestPermission } from '@stack-spot/opa';
3
3
  import { events } from 'fetch-event-stream';
4
4
  import { StackspotAPIError } from '../error/StackspotAPIError.js';
@@ -60,8 +60,16 @@ export class NetworkClient {
60
60
  * @param body the request's body.
61
61
  * @returns a promise that resolves to true if it's allowed or false otherwise.
62
62
  */
63
- requestPermission(method, path, body) {
64
- return requestPermission(method, this.resolveURL(path).toString(), body);
63
+ async requestPermission(method, path, body) {
64
+ try {
65
+ return await requestPermission(method, this.resolveURL(path).toString(), body);
66
+ }
67
+ catch (error) {
68
+ if (error instanceof AuthenticationError) {
69
+ this.getSessionManager().endSession();
70
+ }
71
+ return false;
72
+ }
65
73
  }
66
74
  getSessionManager() {
67
75
  const sessionManager = NetworkClient.sessionManager;
@@ -92,7 +100,7 @@ export class NetworkClient {
92
100
  return sessionManager.hasSession() ? sessionManager.getSession().fetch(inputWithBaseUrl, init) : fetch(inputWithBaseUrl, init);
93
101
  }
94
102
  catch (error) {
95
- if (error instanceof AuthenticationError)
103
+ if (error instanceof AuthenticationError || error instanceof SessionExpiredError)
96
104
  sessionManager.endSession();
97
105
  throw error;
98
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkClient.js","sourceRoot":"","sources":["../../src/network/NetworkClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NetworkClient.js","sourceRoot":"","sources":["../../src/network/NetworkClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-network",
3
- "version": "0.58.6",
3
+ "version": "0.58.7",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "peerDependencies": {
18
18
  "@stack-spot/auth": "^5.2.0",
19
- "@stack-spot/opa": "^2.6.0",
19
+ "@stack-spot/opa": "^2.6.1",
20
20
  "@stack-spot/portal-translate": "^1.0.0",
21
21
  "@tanstack/react-query": "^5.59.15",
22
22
  "react": "^18.2.0",
@@ -1,4 +1,4 @@
1
- import { AuthenticationError } from '@stack-spot/auth'
1
+ import { AuthenticationError, SessionExpiredError } from '@stack-spot/auth'
2
2
  import { requestPermission } from '@stack-spot/opa'
3
3
  import { events } from 'fetch-event-stream'
4
4
  import { StackspotAPIError } from '../error/StackspotAPIError'
@@ -63,8 +63,15 @@ export abstract class NetworkClient {
63
63
  * @param body the request's body.
64
64
  * @returns a promise that resolves to true if it's allowed or false otherwise.
65
65
  */
66
- protected requestPermission(method: HTTPMethod, path: string, body?: string | object): Promise<boolean> {
67
- return requestPermission(method, this.resolveURL(path).toString(), body)
66
+ protected async requestPermission(method: HTTPMethod, path: string, body?: string | object): Promise<boolean> {
67
+ try {
68
+ return await requestPermission(method, this.resolveURL(path).toString(), body)
69
+ } catch (error) {
70
+ if (error instanceof AuthenticationError) {
71
+ this.getSessionManager().endSession()
72
+ }
73
+ return false
74
+ }
68
75
  }
69
76
 
70
77
  private getSessionManager() {
@@ -91,7 +98,7 @@ export abstract class NetworkClient {
91
98
  try {
92
99
  return sessionManager.hasSession() ? sessionManager.getSession().fetch(inputWithBaseUrl, init) : fetch(inputWithBaseUrl, init)
93
100
  } catch (error) {
94
- if (error instanceof AuthenticationError) sessionManager.endSession()
101
+ if (error instanceof AuthenticationError || error instanceof SessionExpiredError) sessionManager.endSession()
95
102
  throw error
96
103
  }
97
104
  }