asma-helpers 0.2.49 → 0.3.0
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/lib/clients/srvAuth.d.ts +2 -0
- package/lib/clients/srvAuth.d.ts.map +1 -0
- package/lib/clients/srvAuth.js +7 -0
- package/lib/clients/srvAuth.js.map +1 -0
- package/lib/global.d.ts +40 -0
- package/lib/global.d.ts.map +1 -0
- package/lib/global.js +5 -0
- package/lib/global.js.map +1 -0
- package/lib/helpers/CapitalizeFistLetter.d.ts +3 -0
- package/lib/helpers/CapitalizeFistLetter.d.ts.map +1 -0
- package/lib/helpers/CapitalizeFistLetter.js +7 -0
- package/lib/helpers/CapitalizeFistLetter.js.map +1 -0
- package/lib/helpers/Config.d.ts +6 -0
- package/lib/helpers/Config.d.ts.map +1 -0
- package/lib/helpers/Config.js +45 -0
- package/lib/helpers/Config.js.map +1 -0
- package/lib/helpers/EnvironmentToOperateTypes.d.ts +8 -0
- package/lib/helpers/EnvironmentToOperateTypes.d.ts.map +1 -0
- package/lib/helpers/EnvironmentToOperateTypes.js +9 -0
- package/lib/helpers/EnvironmentToOperateTypes.js.map +1 -0
- package/lib/helpers/EnvironmentsUrls.d.ts +94 -0
- package/lib/helpers/EnvironmentsUrls.d.ts.map +1 -0
- package/lib/helpers/EnvironmentsUrls.js +90 -0
- package/lib/helpers/EnvironmentsUrls.js.map +1 -0
- package/lib/helpers/FormatNumberConstants.d.ts +25 -0
- package/lib/helpers/FormatNumberConstants.d.ts.map +1 -0
- package/lib/helpers/FormatNumberConstants.js +41 -0
- package/lib/helpers/FormatNumberConstants.js.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts +2 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js +50 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshotsThenCatch.d.ts +9 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshotsThenCatch.d.ts.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshotsThenCatch.js +69 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshotsThenCatch.js.map +1 -0
- package/lib/helpers/IsAdcuris.d.ts +3 -0
- package/lib/helpers/IsAdcuris.d.ts.map +1 -0
- package/lib/helpers/IsAdcuris.js +5 -0
- package/lib/helpers/IsAdcuris.js.map +1 -0
- package/lib/helpers/IsNotEmpty.d.ts +2 -0
- package/lib/helpers/IsNotEmpty.d.ts.map +1 -0
- package/lib/helpers/IsNotEmpty.js +4 -0
- package/lib/helpers/IsNotEmpty.js.map +1 -0
- package/lib/helpers/NorwegianPostalCodes.d.ts +9 -0
- package/lib/helpers/NorwegianPostalCodes.d.ts.map +1 -0
- package/lib/helpers/NorwegianPostalCodes.js +4 -0
- package/lib/helpers/NorwegianPostalCodes.js.map +1 -0
- package/lib/helpers/ProcessServerError.d.ts +3 -0
- package/lib/helpers/ProcessServerError.d.ts.map +1 -0
- package/lib/helpers/ProcessServerError.js +101 -0
- package/lib/helpers/ProcessServerError.js.map +1 -0
- package/lib/helpers/attachUserJournalCredentials.d.ts +2 -0
- package/lib/helpers/attachUserJournalCredentials.d.ts.map +1 -0
- package/lib/helpers/attachUserJournalCredentials.js +17 -0
- package/lib/helpers/attachUserJournalCredentials.js.map +1 -0
- package/lib/helpers/base64ToFile.d.ts +2 -0
- package/lib/helpers/base64ToFile.d.ts.map +1 -0
- package/lib/helpers/base64ToFile.js +9 -0
- package/lib/helpers/base64ToFile.js.map +1 -0
- package/lib/helpers/clearCacheData.d.ts +2 -0
- package/lib/helpers/clearCacheData.d.ts.map +1 -0
- package/lib/helpers/clearCacheData.js +13 -0
- package/lib/helpers/clearCacheData.js.map +1 -0
- package/lib/helpers/generateEnvConfigsBindings.d.ts +31 -0
- package/lib/helpers/generateEnvConfigsBindings.d.ts.map +1 -0
- package/lib/helpers/generateEnvConfigsBindings.js +49 -0
- package/lib/helpers/generateEnvConfigsBindings.js.map +1 -0
- package/lib/helpers/generateGenqlClient.d.ts +24 -0
- package/lib/helpers/generateGenqlClient.d.ts.map +1 -0
- package/lib/helpers/generateGenqlClient.js +70 -0
- package/lib/helpers/generateGenqlClient.js.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.d.ts +51 -0
- package/lib/helpers/generateSrvAuthBindings.d.ts.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.js +190 -0
- package/lib/helpers/generateSrvAuthBindings.js.map +1 -0
- package/lib/helpers/getGqlOperationName.d.ts +2 -0
- package/lib/helpers/getGqlOperationName.d.ts.map +1 -0
- package/lib/helpers/getGqlOperationName.js +16 -0
- package/lib/helpers/getGqlOperationName.js.map +1 -0
- package/lib/helpers/getSubdomain.d.ts +13 -0
- package/lib/helpers/getSubdomain.d.ts.map +1 -0
- package/lib/helpers/getSubdomain.js +40 -0
- package/lib/helpers/getSubdomain.js.map +1 -0
- package/lib/helpers/isValidUrl.d.ts +2 -0
- package/lib/helpers/isValidUrl.d.ts.map +1 -0
- package/lib/helpers/isValidUrl.js +10 -0
- package/lib/helpers/isValidUrl.js.map +1 -0
- package/lib/helpers/parseJwt.d.ts +2 -0
- package/lib/helpers/parseJwt.d.ts.map +1 -0
- package/lib/helpers/parseJwt.js +8 -0
- package/lib/helpers/parseJwt.js.map +1 -0
- package/lib/helpers/userTypingSignal.d.ts +5 -0
- package/lib/helpers/userTypingSignal.d.ts.map +1 -0
- package/lib/helpers/userTypingSignal.js +33 -0
- package/lib/helpers/userTypingSignal.js.map +1 -0
- package/lib/index.d.ts +29 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +27 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces/api/advoca/ISaveToDataBase.d.ts +17 -0
- package/lib/interfaces/api/advoca/ISaveToDataBase.d.ts.map +1 -0
- package/lib/interfaces/api/advoca/ISaveToDataBase.js +2 -0
- package/lib/interfaces/api/advoca/ISaveToDataBase.js.map +1 -0
- package/lib/interfaces/api/advoca/IUploadedDocument.d.ts +27 -0
- package/lib/interfaces/api/advoca/IUploadedDocument.d.ts.map +1 -0
- package/lib/interfaces/api/advoca/IUploadedDocument.js +2 -0
- package/lib/interfaces/api/advoca/IUploadedDocument.js.map +1 -0
- package/lib/interfaces/enums.d.ts +51 -0
- package/lib/interfaces/enums.d.ts.map +1 -0
- package/lib/interfaces/enums.js +60 -0
- package/lib/interfaces/enums.js.map +1 -0
- package/lib/utility/fetch.d.ts +2 -0
- package/lib/utility/fetch.d.ts.map +1 -0
- package/lib/utility/fetch.js +6 -0
- package/lib/utility/fetch.js.map +1 -0
- package/package.json +1 -1
- package/src/helpers/generateGenqlClient.ts +35 -40
- package/src/helpers/generateSrvAuthBindings.ts +77 -54
- package/src/helpers/parseJwt.ts +4 -4
|
@@ -2,11 +2,12 @@ import axios, { type AxiosResponse, type ResponseType } from 'axios'
|
|
|
2
2
|
import { EventBus } from 'asma-event-bus/lib/event-buss'
|
|
3
3
|
import { EnvironmentEnums, parseJwt } from '..'
|
|
4
4
|
|
|
5
|
-
let logoutsuccesfull = false
|
|
5
|
+
//let logoutsuccesfull = false
|
|
6
6
|
|
|
7
|
-
export const { dispatch, register: registerCallbackOnSrvAuthEvents } = EventBus<{
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export const { dispatch: dispatchSrvAuthEvents, register: registerCallbackOnSrvAuthEvents } = EventBus<{
|
|
8
|
+
jwt_changed: {}
|
|
9
|
+
logout_event: {}
|
|
10
|
+
}>('auth-bindings')
|
|
10
11
|
|
|
11
12
|
export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
12
13
|
SRV_AUTH: () => string,
|
|
@@ -14,15 +15,11 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
14
15
|
EnvironmentToOperateFn: () => string,
|
|
15
16
|
logout?: () => void,
|
|
16
17
|
) {
|
|
17
|
-
// let logoutMfes: (() => void)[] = []
|
|
18
|
-
|
|
19
18
|
if (logout) {
|
|
20
19
|
registerCallbackOnSrvAuthEvents('logout_event', logout)
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
if (window.__ASMA__SHELL__?.auth_bindings) {
|
|
24
|
-
//window.__ASMA__SHELL__.logoutMfes = logoutMfes
|
|
25
|
-
|
|
26
23
|
return window.__ASMA__SHELL__.auth_bindings as typeof auth_bindings
|
|
27
24
|
}
|
|
28
25
|
|
|
@@ -30,21 +27,28 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
30
27
|
|
|
31
28
|
let features: Set<FeatureEnums> | undefined
|
|
32
29
|
|
|
33
|
-
let parsed_jwt:
|
|
30
|
+
let parsed_jwt: unknown | undefined
|
|
34
31
|
|
|
35
|
-
let fetchJwtPromise: Promise<{
|
|
32
|
+
/* let fetchJwtPromise: Promise<{
|
|
36
33
|
data: { message: string; token?: string; features?: FeatureEnums[]; errors: { message: string }[] }
|
|
37
|
-
}> | null = null
|
|
34
|
+
}> | null = null */
|
|
38
35
|
|
|
39
36
|
const isJwtInvalid = () => (jwtToken && accessTokenHasExpired()) || !jwtToken
|
|
40
37
|
|
|
41
38
|
const isJwtValid = () => !isJwtInvalid()
|
|
42
39
|
|
|
40
|
+
//function cancelRequest() {
|
|
41
|
+
// return logoutsuccesfull
|
|
42
|
+
// }
|
|
43
|
+
|
|
44
|
+
const promiseRegistry: Record<string, Promise<unknown>> = <{}>{}
|
|
45
|
+
|
|
43
46
|
async function srvAuthGet<R>(url: string, headers?: Record<string, string>) {
|
|
44
47
|
if (DEVELOPMENT() && EnvironmentToOperateFn()) {
|
|
45
48
|
if (EnvironmentToOperateFn() in EnvironmentEnums) {
|
|
46
49
|
url = `${url}&env=${EnvironmentToOperateFn()}`
|
|
47
50
|
|
|
51
|
+
// file deepcode ignore GlobalReplacementRegex: <it is intended to be replaced only first occurence>
|
|
48
52
|
url = url.includes('&') && !url.includes('?') ? url.replace('&', '?') : url
|
|
49
53
|
} else {
|
|
50
54
|
console.warn(
|
|
@@ -57,13 +61,29 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
const promise =
|
|
65
|
+
promiseRegistry[url] ||
|
|
66
|
+
axios.get<unknown, AxiosResponse<R>>(`${SRV_AUTH()}${url}`, {
|
|
67
|
+
headers: {
|
|
68
|
+
...headers,
|
|
69
|
+
'asma-origin': window.location.origin,
|
|
70
|
+
},
|
|
71
|
+
withCredentials: true,
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
if (!promiseRegistry[url]) {
|
|
75
|
+
promiseRegistry[url] = promise
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const res = await promise
|
|
79
|
+
|
|
80
|
+
return res as AxiosResponse<R, any>
|
|
81
|
+
} catch (e) {
|
|
82
|
+
console.error(e)
|
|
83
|
+
return
|
|
84
|
+
} finally {
|
|
85
|
+
delete promiseRegistry[url]
|
|
86
|
+
}
|
|
67
87
|
}
|
|
68
88
|
|
|
69
89
|
function accessTokenHasExpired(): boolean {
|
|
@@ -78,35 +98,43 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
78
98
|
}
|
|
79
99
|
|
|
80
100
|
async function signin(url: string, headers?: Record<string, string>) {
|
|
81
|
-
const
|
|
101
|
+
const data = await srvAuthGet<{ token: string; features: FeatureEnums[] }>(url, headers)
|
|
82
102
|
|
|
83
|
-
setAuthData(data)
|
|
103
|
+
setAuthData(data?.data)
|
|
84
104
|
|
|
85
|
-
logoutsuccesfull = false
|
|
105
|
+
// logoutsuccesfull = false
|
|
86
106
|
|
|
87
107
|
return data
|
|
88
108
|
}
|
|
89
109
|
|
|
110
|
+
const { unregister } = registerCallbackOnSrvAuthEvents('logout_event', () => {
|
|
111
|
+
setAuthData({ token: '' })
|
|
112
|
+
|
|
113
|
+
srvAuthGet('/signout')
|
|
114
|
+
|
|
115
|
+
unregister()
|
|
116
|
+
})
|
|
117
|
+
|
|
90
118
|
async function signoutAuth() {
|
|
91
|
-
|
|
92
|
-
setAuthData({ token: '' })
|
|
119
|
+
dispatchSrvAuthEvents('logout_event', {}, false)
|
|
93
120
|
|
|
94
|
-
|
|
95
|
-
} catch (e) {
|
|
96
|
-
console.error(e)
|
|
97
|
-
} finally {
|
|
98
|
-
dispatch('logout_event', {}, false)
|
|
99
|
-
}
|
|
121
|
+
// return srvAuthGet('/signout')
|
|
100
122
|
}
|
|
123
|
+
|
|
101
124
|
function getUserId(): string {
|
|
102
125
|
return getParsedJwt()?.['user_id'] || '-1'
|
|
103
126
|
}
|
|
104
127
|
|
|
105
|
-
function setAuthData(data
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
128
|
+
function setAuthData(data?: { token: string; features?: FeatureEnums[] }) {
|
|
129
|
+
if (data) {
|
|
130
|
+
jwtToken = data?.token
|
|
131
|
+
|
|
132
|
+
features = new Set(data.features)
|
|
133
|
+
|
|
134
|
+
parsed_jwt = parseJwt(jwtToken)
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
dispatchSrvAuthEvents('jwt_changed', {}, false)
|
|
110
138
|
}
|
|
111
139
|
|
|
112
140
|
function getJwtToken() {
|
|
@@ -140,33 +168,27 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
140
168
|
}
|
|
141
169
|
|
|
142
170
|
async function getNewJwtToken() {
|
|
143
|
-
if (logoutsuccesfull) return
|
|
144
171
|
try {
|
|
145
|
-
if (!fetchJwtPromise) {
|
|
172
|
+
/* if (!fetchJwtPromise) {
|
|
146
173
|
fetchJwtPromise = srvAuthGet('/token')
|
|
147
|
-
}
|
|
174
|
+
} */
|
|
148
175
|
|
|
149
|
-
const
|
|
176
|
+
const data = await srvAuthGet<{ errors?: string; token: string; features: FeatureEnums[] }>('/token')
|
|
150
177
|
|
|
151
|
-
if (!data || data.errors || data.
|
|
152
|
-
|
|
153
|
-
logoutsuccesfull = true
|
|
178
|
+
if (!data || data.data?.errors || !data.data.token) {
|
|
179
|
+
dispatchSrvAuthEvents('logout_event', {}, false)
|
|
154
180
|
|
|
155
|
-
|
|
181
|
+
return
|
|
156
182
|
}
|
|
157
183
|
|
|
158
|
-
setAuthData({ token: data.token || '', features: data.features || [] })
|
|
184
|
+
setAuthData({ token: data.data.token || '', features: data.data.features || [] })
|
|
159
185
|
} catch (error) {
|
|
160
|
-
|
|
161
|
-
logoutsuccesfull = true
|
|
162
|
-
//signoutAuth()
|
|
186
|
+
dispatchSrvAuthEvents('logout_event', {}, false)
|
|
163
187
|
|
|
164
188
|
setAuthData({ token: '', features: [] })
|
|
165
189
|
|
|
166
190
|
console.error(error)
|
|
167
191
|
} finally {
|
|
168
|
-
fetchJwtPromise = null
|
|
169
|
-
|
|
170
192
|
return jwtToken
|
|
171
193
|
}
|
|
172
194
|
}
|
|
@@ -175,7 +197,7 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
175
197
|
if (!parsed_jwt) {
|
|
176
198
|
parsed_jwt = parseJwt<R>(jwtToken)
|
|
177
199
|
}
|
|
178
|
-
return parsed_jwt
|
|
200
|
+
return parsed_jwt as R
|
|
179
201
|
}
|
|
180
202
|
function getFeatures() {
|
|
181
203
|
return features
|
|
@@ -199,9 +221,14 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
199
221
|
setReqConfig,
|
|
200
222
|
getJwtTokenAsync,
|
|
201
223
|
getNewJwtToken,
|
|
224
|
+
/**
|
|
225
|
+
* @deprecated use registerCallbackOnSrvAuthEvents directly
|
|
226
|
+
*/
|
|
227
|
+
registerOnJwtChanges: registerCallbackOnSrvAuthEvents,
|
|
202
228
|
getUserId,
|
|
203
229
|
getParsedJwt,
|
|
204
230
|
getJwtToken,
|
|
231
|
+
// cancelRequest,
|
|
205
232
|
accessTokenHasExpired,
|
|
206
233
|
}
|
|
207
234
|
window.__ASMA__SHELL__ = window.__ASMA__SHELL__ || {}
|
|
@@ -212,11 +239,7 @@ export function generateSrvAuthBindings<FeatureEnums = never>(
|
|
|
212
239
|
}
|
|
213
240
|
/**
|
|
214
241
|
* @deprecated use generateSrvAuthBindings
|
|
215
|
-
*
|
|
216
|
-
* @param DEVELOPMENT
|
|
217
|
-
* @param ENVIRONMENT_TO_OPERATE
|
|
218
|
-
* @param logout
|
|
219
|
-
* @returns
|
|
242
|
+
*
|
|
220
243
|
*/
|
|
221
244
|
export function generateSrvAuthBindingsMicroApp(
|
|
222
245
|
SRV_AUTH: () => string,
|
package/src/helpers/parseJwt.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
export function parseJwt<R>(jwtToken: string)
|
|
3
|
+
export function parseJwt<R>(jwtToken: string){
|
|
4
4
|
const base64Url = jwtToken?.split('.')[1]
|
|
5
5
|
|
|
6
|
-
if (base64Url
|
|
7
|
-
return
|
|
6
|
+
if (!base64Url) {
|
|
7
|
+
return
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
return JSON.parse(decodeURIComponent(escape(window.atob(base64Url))))
|
|
10
|
+
return JSON.parse(decodeURIComponent(escape(window.atob(base64Url)))) as R
|
|
11
11
|
}
|