asma-helpers 0.2.40 → 0.2.41

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.
@@ -16,16 +16,21 @@ export declare function generateSrvAuthBindings<FeatureEnums = never>(SRV_AUTH:
16
16
  responseType: ResponseType | undefined;
17
17
  headers: Record<string, string>;
18
18
  }>;
19
- getJwtTokenAsync: () => Promise<string | undefined>;
20
- getNewJwtToken: () => Promise<string | undefined>;
19
+ getJwtTokenAsync: () => Promise<string>;
20
+ getNewJwtToken: () => Promise<string>;
21
+ registerOnJwtChanges: <Key_1 extends "jwt_changed">(event: Key_1, callback: (val: {
22
+ jwt_changed: {};
23
+ }[Key_1]) => void) => {
24
+ unregister: () => void;
25
+ };
21
26
  getUserId: () => string;
27
+ setCallbackToJwtNotifier: (callback: () => void) => void;
22
28
  getParsedJwt: <R_1 = {
23
29
  user_id: string;
24
30
  exp: number;
25
31
  }>() => R_1 | undefined;
26
32
  abortController: AbortController;
27
33
  getJwtToken: () => string;
28
- cancelRequest: () => boolean;
29
34
  accessTokenHasExpired: () => boolean;
30
35
  };
31
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generateSrvAuthBindings.d.ts","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAY,MAAM,IAAI,CAAA;AAM/C,wBAAgB,kBAAkB,gCAEjC;AAED,wBAAgB,uBAAuB,CAAC,YAAY,GAAG,KAAK,EACxD,QAAQ,EAAE,MAAM,MAAM,EACtB,WAAW,EAAE,MAAM,OAAO,EAC1B,sBAAsB,EAAE,MAAM,MAAM,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI;8BA+Kc,YAAY;;;kBA1GlB,MAAM,YAAY,OAAO,MAAM,EAAE,MAAM,CAAC;eAKpB,MAAM;kBAAY,YAAY,EAAE;;yBA3C7C,MAAM,YAAY,OAAO,MAAM,EAAE,MAAM,CAAC;;qEAgFR,YAAY;;;;;;;qBAxBxD,MAAM;;iBA0ES,MAAM;aAAO,MAAM;;;;;iCAvGtB,OAAO;EA+I5C;AACD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC3C,QAAQ,EAAE,MAAM,MAAM,EACtB,WAAW,EAAE,MAAM,OAAO,EAC1B,sBAAsB,EAAE,MAAM,gBAAgB,EAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,MAMtB"}
1
+ {"version":3,"file":"generateSrvAuthBindings.d.ts","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,EAAE,gBAAgB,EAAY,MAAM,IAAI,CAAA;AAM/C,wBAAgB,kBAAkB,gCAEjC;AAED,wBAAgB,uBAAuB,CAAC,YAAY,GAAG,KAAK,EACxD,QAAQ,EAAE,MAAM,MAAM,EACtB,WAAW,EAAE,MAAM,OAAO,EAC1B,sBAAsB,EAAE,MAAM,MAAM,EACpC,MAAM,CAAC,EAAE,MAAM,IAAI;8BAuMc,YAAY;;;kBAjHlB,MAAM,YAAY,OAAO,MAAM,EAAE,MAAM,CAAC;eAKpB,MAAM;kBAAY,YAAY,EAAE;;yBA3C7C,MAAM,YAAY,OAAO,MAAM,EAAE,MAAM,CAAC;;qEAqFR,YAAY;;;;;;;;qBAlHvB,EAAE;;;;qBAqFnC,MAAM;yCA7EgB,MAAM,IAAI;;iBA8JjB,MAAM;aAAO,MAAM;;;;iCA9GtB,OAAO;EAwJ5C;AACD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC3C,QAAQ,EAAE,MAAM,MAAM,EACtB,WAAW,EAAE,MAAM,OAAO,EAC1B,sBAAsB,EAAE,MAAM,gBAAgB,EAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,MAMtB"}
@@ -1,6 +1,7 @@
1
1
  import axios from 'axios';
2
+ import { EventBus } from 'asma-event-bus/lib/event-buss';
2
3
  import { EnvironmentEnums, parseJwt } from '..';
3
- let logoutsuccesfull = false;
4
+ //let logoutsuccesfull = false
4
5
  let abortController = new AbortController();
5
6
  export function getAbortController() {
6
7
  var _a;
@@ -19,12 +20,25 @@ export function generateSrvAuthBindings(SRV_AUTH, DEVELOPMENT, EnvironmentToOper
19
20
  let jwtToken = '';
20
21
  let features;
21
22
  let parsed_jwt;
23
+ const { dispatch, register } = EventBus('auth-bindings');
24
+ let changed_jwt_notifier_registry = [];
25
+ /**
26
+ *
27
+ * Regiser a callback to be called when the jwt token changes
28
+ */
29
+ function setCallbackToJwtNotifier(callback) {
30
+ changed_jwt_notifier_registry.push(callback);
31
+ }
32
+ function notifyChangedJwt() {
33
+ changed_jwt_notifier_registry.forEach((c) => c());
34
+ return () => { };
35
+ }
22
36
  let fetchJwtPromise = null;
23
37
  const isJwtInvalid = () => (jwtToken && accessTokenHasExpired()) || !jwtToken;
24
38
  const isJwtValid = () => !isJwtInvalid();
25
- function cancelRequest() {
26
- return logoutsuccesfull;
27
- }
39
+ //function cancelRequest() {
40
+ // return logoutsuccesfull
41
+ // }
28
42
  async function srvAuthGet(url, headers) {
29
43
  var _a;
30
44
  if (DEVELOPMENT() && EnvironmentToOperateFn()) {
@@ -58,7 +72,7 @@ export function generateSrvAuthBindings(SRV_AUTH, DEVELOPMENT, EnvironmentToOper
58
72
  }
59
73
  const { data } = await srvAuthGet(url, headers);
60
74
  setAuthData(data);
61
- logoutsuccesfull = false;
75
+ // logoutsuccesfull = false
62
76
  return data;
63
77
  }
64
78
  async function signoutAuth() {
@@ -71,6 +85,10 @@ export function generateSrvAuthBindings(SRV_AUTH, DEVELOPMENT, EnvironmentToOper
71
85
  }
72
86
  function setAuthData(data) {
73
87
  jwtToken = data.token;
88
+ if (jwtToken) {
89
+ dispatch('jwt_changed', {}, false);
90
+ }
91
+ notifyChangedJwt();
74
92
  features = new Set(data.features);
75
93
  parsed_jwt = undefined;
76
94
  }
@@ -99,8 +117,7 @@ export function generateSrvAuthBindings(SRV_AUTH, DEVELOPMENT, EnvironmentToOper
99
117
  return res;
100
118
  }
101
119
  async function getNewJwtToken() {
102
- if (logoutsuccesfull)
103
- return;
120
+ //if (logoutsuccesfull) return
104
121
  try {
105
122
  if (!fetchJwtPromise) {
106
123
  fetchJwtPromise = srvAuthGet('/token');
@@ -108,16 +125,18 @@ export function generateSrvAuthBindings(SRV_AUTH, DEVELOPMENT, EnvironmentToOper
108
125
  const { data } = await fetchJwtPromise;
109
126
  if (!data || data.errors || data.message != 'Success' || !data.token) {
110
127
  logout === null || logout === void 0 ? void 0 : logout();
111
- logoutsuccesfull = true;
128
+ //logoutsuccesfull = true
112
129
  abortController === null || abortController === void 0 ? void 0 : abortController.abort();
130
+ logoutMfes.forEach((l) => l());
113
131
  //signoutAuth()
114
132
  }
115
133
  setAuthData({ token: data.token || '', features: data.features || [] });
116
134
  }
117
135
  catch (error) {
118
- logout === null || logout === void 0 ? void 0 : logout();
119
- logoutsuccesfull = true;
136
+ // logout?.()
137
+ // logoutsuccesfull = true
120
138
  abortController === null || abortController === void 0 ? void 0 : abortController.abort();
139
+ logoutMfes.forEach((l) => l());
121
140
  //signoutAuth()
122
141
  setAuthData({ token: '', features: [] });
123
142
  console.error(error);
@@ -154,11 +173,13 @@ export function generateSrvAuthBindings(SRV_AUTH, DEVELOPMENT, EnvironmentToOper
154
173
  setReqConfig,
155
174
  getJwtTokenAsync,
156
175
  getNewJwtToken,
176
+ registerOnJwtChanges: register,
157
177
  getUserId,
178
+ setCallbackToJwtNotifier,
158
179
  getParsedJwt,
159
180
  abortController,
160
181
  getJwtToken,
161
- cancelRequest,
182
+ // cancelRequest,
162
183
  accessTokenHasExpired,
163
184
  };
164
185
  window.__ASMA__SHELL__ = window.__ASMA__SHELL__ || {};
@@ -1 +1 @@
1
- {"version":3,"file":"generateSrvAuthBindings.js","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateSrvAuthBindings.js","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asma-helpers",
3
- "version": "0.2.40",
3
+ "version": "0.2.41",
4
4
  "description": "helpers methods for asma",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib",
@@ -20,6 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@genql/runtime": "^2.10.0",
23
+ "asma-event-bus": "^0.0.41",
23
24
  "axios": "1.0.0",
24
25
  "history": "~5.0.0",
25
26
  "idb-keyval": "^6.2.0",
@@ -1,7 +1,8 @@
1
1
  import axios, { type AxiosResponse, type ResponseType } from 'axios'
2
+ import { EventBus } from 'asma-event-bus/lib/event-buss'
2
3
  import { EnvironmentEnums, parseJwt } from '..'
3
4
 
4
- let logoutsuccesfull = false
5
+ //let logoutsuccesfull = false
5
6
 
6
7
  let abortController = new AbortController()
7
8
 
@@ -32,6 +33,23 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
32
33
 
33
34
  let parsed_jwt: any | undefined
34
35
 
36
+ const { dispatch, register } = EventBus<{ jwt_changed: {} }>('auth-bindings')
37
+
38
+ let changed_jwt_notifier_registry: (() => void)[] = []
39
+
40
+ /**
41
+ *
42
+ * Regiser a callback to be called when the jwt token changes
43
+ */
44
+ function setCallbackToJwtNotifier(callback: () => void) {
45
+ changed_jwt_notifier_registry.push(callback)
46
+ }
47
+
48
+ function notifyChangedJwt() {
49
+ changed_jwt_notifier_registry.forEach((c) => c())
50
+ return () => {}
51
+ }
52
+
35
53
  let fetchJwtPromise: Promise<{
36
54
  data: { message: string; token?: string; features?: FeatureEnums[]; errors: { message: string }[] }
37
55
  }> | null = null
@@ -40,9 +58,9 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
40
58
 
41
59
  const isJwtValid = () => !isJwtInvalid()
42
60
 
43
- function cancelRequest() {
44
- return logoutsuccesfull
45
- }
61
+ //function cancelRequest() {
62
+ // return logoutsuccesfull
63
+ // }
46
64
 
47
65
  async function srvAuthGet<R>(url: string, headers?: Record<string, string>) {
48
66
  if (DEVELOPMENT() && EnvironmentToOperateFn()) {
@@ -91,7 +109,7 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
91
109
 
92
110
  setAuthData(data)
93
111
 
94
- logoutsuccesfull = false
112
+ // logoutsuccesfull = false
95
113
 
96
114
  return data
97
115
  }
@@ -106,6 +124,11 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
106
124
 
107
125
  function setAuthData(data: { token: string; features?: FeatureEnums[] }) {
108
126
  jwtToken = data.token
127
+
128
+ if (jwtToken) {
129
+ dispatch('jwt_changed', {}, false)
130
+ }
131
+ notifyChangedJwt()
109
132
  features = new Set(data.features)
110
133
  parsed_jwt = undefined
111
134
  }
@@ -141,7 +164,7 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
141
164
  }
142
165
 
143
166
  async function getNewJwtToken() {
144
- if (logoutsuccesfull) return
167
+ //if (logoutsuccesfull) return
145
168
  try {
146
169
  if (!fetchJwtPromise) {
147
170
  fetchJwtPromise = srvAuthGet('/token')
@@ -151,16 +174,18 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
151
174
 
152
175
  if (!data || data.errors || data.message != 'Success' || !data.token) {
153
176
  logout?.()
154
- logoutsuccesfull = true
177
+ //logoutsuccesfull = true
155
178
  abortController?.abort()
179
+ logoutMfes.forEach((l) => l())
156
180
  //signoutAuth()
157
181
  }
158
182
 
159
183
  setAuthData({ token: data.token || '', features: data.features || [] })
160
184
  } catch (error) {
161
- logout?.()
162
- logoutsuccesfull = true
185
+ // logout?.()
186
+ // logoutsuccesfull = true
163
187
  abortController?.abort()
188
+ logoutMfes.forEach((l) => l())
164
189
 
165
190
  //signoutAuth()
166
191
 
@@ -202,11 +227,13 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
202
227
  setReqConfig,
203
228
  getJwtTokenAsync,
204
229
  getNewJwtToken,
230
+ registerOnJwtChanges: register,
205
231
  getUserId,
232
+ setCallbackToJwtNotifier,
206
233
  getParsedJwt,
207
234
  abortController,
208
235
  getJwtToken,
209
- cancelRequest,
236
+ // cancelRequest,
210
237
  accessTokenHasExpired,
211
238
  }
212
239
  window.__ASMA__SHELL__ = window.__ASMA__SHELL__ || {}