asma-core-helpers 0.4.1 → 0.4.2
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/g-definitions.d.ts +131 -0
- package/lib/g-definitions.d.ts.map +1 -0
- package/lib/g-definitions.js +19 -0
- package/lib/g-definitions.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 +43 -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 +49 -0
- package/lib/helpers/EnvironmentsUrls.d.ts.map +1 -0
- package/lib/helpers/EnvironmentsUrls.js +68 -0
- package/lib/helpers/EnvironmentsUrls.js.map +1 -0
- package/lib/helpers/FormatNumberConstants.d.ts +33 -0
- package/lib/helpers/FormatNumberConstants.d.ts.map +1 -0
- package/lib/helpers/FormatNumberConstants.js +47 -0
- package/lib/helpers/FormatNumberConstants.js.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts +5 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.d.ts.map +1 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js +46 -0
- package/lib/helpers/InitializeIDBListenersOnMstSnapshots.js.map +1 -0
- package/lib/helpers/IsAdcuris.d.ts +2 -0
- package/lib/helpers/IsAdcuris.d.ts.map +1 -0
- package/lib/helpers/IsAdcuris.js +10 -0
- package/lib/helpers/IsAdcuris.js.map +1 -0
- package/lib/helpers/IsAdopus.d.ts +2 -0
- package/lib/helpers/IsAdopus.d.ts.map +1 -0
- package/lib/helpers/IsAdopus.js +10 -0
- package/lib/helpers/IsAdopus.js.map +1 -0
- package/lib/helpers/IsNotEmpty.d.ts +3 -0
- package/lib/helpers/IsNotEmpty.d.ts.map +1 -0
- package/lib/helpers/IsNotEmpty.js +15 -0
- package/lib/helpers/IsNotEmpty.js.map +1 -0
- package/lib/helpers/JSONToBase64EncodeDecode.d.ts +3 -0
- package/lib/helpers/JSONToBase64EncodeDecode.d.ts.map +1 -0
- package/lib/helpers/JSONToBase64EncodeDecode.js +10 -0
- package/lib/helpers/JSONToBase64EncodeDecode.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 +5107 -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 +100 -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 +10 -0
- package/lib/helpers/base64ToFile.js.map +1 -0
- package/lib/helpers/checkForRegisteredSubdomains.d.ts +22 -0
- package/lib/helpers/checkForRegisteredSubdomains.d.ts.map +1 -0
- package/lib/helpers/checkForRegisteredSubdomains.js +47 -0
- package/lib/helpers/checkForRegisteredSubdomains.js.map +1 -0
- package/lib/helpers/clearCacheData.d.ts +6 -0
- package/lib/helpers/clearCacheData.d.ts.map +1 -0
- package/lib/helpers/clearCacheData.js +26 -0
- package/lib/helpers/clearCacheData.js.map +1 -0
- package/lib/helpers/generateEnvConfigsBindings.d.ts +77 -0
- package/lib/helpers/generateEnvConfigsBindings.d.ts.map +1 -0
- package/lib/helpers/generateEnvConfigsBindings.js +67 -0
- package/lib/helpers/generateEnvConfigsBindings.js.map +1 -0
- package/lib/helpers/generateGenqlClient.d.ts +21 -0
- package/lib/helpers/generateGenqlClient.d.ts.map +1 -0
- package/lib/helpers/generateGenqlClient.js +98 -0
- package/lib/helpers/generateGenqlClient.js.map +1 -0
- package/lib/helpers/generateRandomString.d.ts +2 -0
- package/lib/helpers/generateRandomString.d.ts.map +1 -0
- package/lib/helpers/generateRandomString.js +10 -0
- package/lib/helpers/generateRandomString.js.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.d.ts +227 -0
- package/lib/helpers/generateSrvAuthBindings.d.ts.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.js +567 -0
- package/lib/helpers/generateSrvAuthBindings.js.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.types.d.ts +84 -0
- package/lib/helpers/generateSrvAuthBindings.types.d.ts.map +1 -0
- package/lib/helpers/generateSrvAuthBindings.types.js +2 -0
- package/lib/helpers/generateSrvAuthBindings.types.js.map +1 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.d.ts +14 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.d.ts.map +1 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.js +70 -0
- package/lib/helpers/generateSyntheticNorwegianNumber.js.map +1 -0
- package/lib/helpers/generateUUID4.d.ts +2 -0
- package/lib/helpers/generateUUID4.d.ts.map +1 -0
- package/lib/helpers/generateUUID4.js +16 -0
- package/lib/helpers/generateUUID4.js.map +1 -0
- package/lib/helpers/getActivityStatus.d.ts +8 -0
- package/lib/helpers/getActivityStatus.d.ts.map +1 -0
- package/lib/helpers/getActivityStatus.js +18 -0
- package/lib/helpers/getActivityStatus.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 +15 -0
- package/lib/helpers/getGqlOperationName.js.map +1 -0
- package/lib/helpers/getSubdomain.d.ts +6 -0
- package/lib/helpers/getSubdomain.d.ts.map +1 -0
- package/lib/helpers/getSubdomain.js +47 -0
- package/lib/helpers/getSubdomain.js.map +1 -0
- package/lib/helpers/initASMAAppVitals.d.ts +42 -0
- package/lib/helpers/initASMAAppVitals.d.ts.map +1 -0
- package/lib/helpers/initASMAAppVitals.js +96 -0
- package/lib/helpers/initASMAAppVitals.js.map +1 -0
- package/lib/helpers/initEnvConfigsVars.d.ts +12 -0
- package/lib/helpers/initEnvConfigsVars.d.ts.map +1 -0
- package/lib/helpers/initEnvConfigsVars.js +178 -0
- package/lib/helpers/initEnvConfigsVars.js.map +1 -0
- package/lib/helpers/isUUID.d.ts +14 -0
- package/lib/helpers/isUUID.d.ts.map +1 -0
- package/lib/helpers/isUUID.js +14 -0
- package/lib/helpers/isUUID.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/openReplayConfigs.d.ts +1 -0
- package/lib/helpers/openReplayConfigs.d.ts.map +1 -0
- package/lib/helpers/openReplayConfigs.js +25 -0
- package/lib/helpers/openReplayConfigs.js.map +1 -0
- package/lib/helpers/openReplayObject.d.ts +31 -0
- package/lib/helpers/openReplayObject.d.ts.map +1 -0
- package/lib/helpers/openReplayObject.js +58 -0
- package/lib/helpers/openReplayObject.js.map +1 -0
- package/lib/helpers/parseJwt.d.ts +9 -0
- package/lib/helpers/parseJwt.d.ts.map +1 -0
- package/lib/helpers/parseJwt.js +69 -0
- package/lib/helpers/parseJwt.js.map +1 -0
- package/lib/helpers/registerOpenReplay.d.ts +2 -0
- package/lib/helpers/registerOpenReplay.d.ts.map +1 -0
- package/lib/helpers/registerOpenReplay.js +2 -0
- package/lib/helpers/registerOpenReplay.js.map +1 -0
- package/lib/helpers/requestIdleCallback.d.ts +2 -0
- package/lib/helpers/requestIdleCallback.d.ts.map +1 -0
- package/lib/helpers/requestIdleCallback.js +9 -0
- package/lib/helpers/requestIdleCallback.js.map +1 -0
- package/lib/helpers/sha256.d.ts +2 -0
- package/lib/helpers/sha256.d.ts.map +1 -0
- package/lib/helpers/sha256.js +89 -0
- package/lib/helpers/sha256.js.map +1 -0
- package/lib/helpers/stringToKeyValueMap.d.ts +25 -0
- package/lib/helpers/stringToKeyValueMap.d.ts.map +1 -0
- package/lib/helpers/stringToKeyValueMap.js +39 -0
- package/lib/helpers/stringToKeyValueMap.js.map +1 -0
- package/lib/helpers/urlParams.helpers.d.ts +42 -0
- package/lib/helpers/urlParams.helpers.d.ts.map +1 -0
- package/lib/helpers/urlParams.helpers.js +51 -0
- package/lib/helpers/urlParams.helpers.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 +34 -0
- package/lib/helpers/userTypingSignal.js.map +1 -0
- package/lib/helpers/validateNorwegianPersonalNumber.d.ts +40 -0
- package/lib/helpers/validateNorwegianPersonalNumber.d.ts.map +1 -0
- package/lib/helpers/validateNorwegianPersonalNumber.js +178 -0
- package/lib/helpers/validateNorwegianPersonalNumber.js.map +1 -0
- package/lib/index.d.ts +43 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces/enums.d.ts +52 -0
- package/lib/interfaces/enums.d.ts.map +1 -0
- package/lib/interfaces/enums.js +59 -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 +3 -3
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
import { asmaOverridesEventBus, EventBus } from 'asma-event-bus';
|
|
2
|
+
import { EnvConfigsFnInternal } from './generateEnvConfigsBindings.js';
|
|
3
|
+
import { realWindow } from './getSubdomain.js';
|
|
4
|
+
import { get as _ } from 'idb-keyval';
|
|
5
|
+
import { domain } from '../index.js';
|
|
6
|
+
import { ActivityStatuses, getActivityStatus } from './getActivityStatus';
|
|
7
|
+
//let logoutSuccessful = false
|
|
8
|
+
export const { dispatch: dispatchSrvAuthEvents, register: registerCallbackOnSrvAuthEvents } = EventBus('auth-bindings');
|
|
9
|
+
function dispatchLogoutEvent(device) {
|
|
10
|
+
dispatchSrvAuthEvents('logout_event', { device }, false);
|
|
11
|
+
}
|
|
12
|
+
function dispatchJwtChangedEvent(jwt) {
|
|
13
|
+
dispatchSrvAuthEvents('jwt_changed', jwt, false);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @generic FeatureEnums - feature_names_enums from asma-genql-directory
|
|
17
|
+
* @generic SrvUrlsEnums - srv_names_enums from asma-genql-directory
|
|
18
|
+
*/
|
|
19
|
+
//type EnvConfigsFn = () => { SRV_AUTH: string; DEVELOPMENT: boolean; ENVIRONMENT_TO_OPERATE: string }
|
|
20
|
+
export async function getCachedJwtInternal() {
|
|
21
|
+
const getCachedJwt = realWindow.__ASMA__SHELL__?.auth_bindings?.getCachedJwt;
|
|
22
|
+
if (!getCachedJwt) {
|
|
23
|
+
throw new Error('getCachedJwt is not defined! please make sure that generateSrvAuthBindings is called before getCachedJwt');
|
|
24
|
+
}
|
|
25
|
+
return getCachedJwt();
|
|
26
|
+
}
|
|
27
|
+
export async function checkForRegisteredSubdomainInternal() {
|
|
28
|
+
const checkForRegisteredSubdomain = realWindow.__ASMA__SHELL__?.auth_bindings?.checkForRegisteredSubdomain;
|
|
29
|
+
if (!checkForRegisteredSubdomain) {
|
|
30
|
+
throw new Error('checkForRegisteredSubdomain is not defined! please make sure that generateSrvAuthBindings is called before checkForRegisteredSubdomain');
|
|
31
|
+
}
|
|
32
|
+
return checkForRegisteredSubdomain();
|
|
33
|
+
}
|
|
34
|
+
export function getConnectorInternal() {
|
|
35
|
+
const getConnector = realWindow.__ASMA__SHELL__?.auth_bindings?.getConnector;
|
|
36
|
+
if (!getConnector) {
|
|
37
|
+
throw new Error('getCachedJwt is not defined! please make sure that generateSrvAuthBindings is called before getCachedJwt');
|
|
38
|
+
}
|
|
39
|
+
return getConnector();
|
|
40
|
+
}
|
|
41
|
+
export function isJwtValidInternal() {
|
|
42
|
+
const isJwtValid = realWindow.__ASMA__SHELL__?.auth_bindings?.isJwtValid;
|
|
43
|
+
if (!isJwtValid) {
|
|
44
|
+
throw new Error('srvAuthGet is not defined! please make sure that generateSrvAuthBindings is called before srvAuthGet');
|
|
45
|
+
}
|
|
46
|
+
return isJwtValid();
|
|
47
|
+
}
|
|
48
|
+
export async function srvAuthGetInternal(url, headers) {
|
|
49
|
+
const srvAuthGet = realWindow.__ASMA__SHELL__?.auth_bindings?.srvAuthGet;
|
|
50
|
+
if (!srvAuthGet) {
|
|
51
|
+
throw new Error('srvAuthGet is not defined! please make sure that generateSrvAuthBindings is called before srvAuthGet');
|
|
52
|
+
}
|
|
53
|
+
return srvAuthGet(url, headers);
|
|
54
|
+
}
|
|
55
|
+
export function getSrvUrlsInternal() {
|
|
56
|
+
const getSrvUrls = realWindow.__ASMA__SHELL__?.auth_bindings?.getSrvUrls;
|
|
57
|
+
if (!getSrvUrls) {
|
|
58
|
+
throw new Error('getSrvUrls is not defined! please make sure that generateSrvAuthBindings is called before getSrvUrls');
|
|
59
|
+
}
|
|
60
|
+
return getSrvUrls();
|
|
61
|
+
}
|
|
62
|
+
export async function setReqConfigInternal(data, responseType) {
|
|
63
|
+
const setReqConfig = realWindow.__ASMA__SHELL__?.auth_bindings?.setReqConfig;
|
|
64
|
+
if (!setReqConfig) {
|
|
65
|
+
throw new Error('setReqConfig is not defined! please make sure that generateSrvAuthBindings is called before setReqConfig');
|
|
66
|
+
}
|
|
67
|
+
return setReqConfig(data, responseType);
|
|
68
|
+
}
|
|
69
|
+
export function getThemeInternal() {
|
|
70
|
+
const getTheme = realWindow.__ASMA__SHELL__?.auth_bindings?.getTheme;
|
|
71
|
+
if (!getTheme) {
|
|
72
|
+
throw new Error('getTheme is not defined! please make sure that generateSrvAuthBindings is called before getTheme');
|
|
73
|
+
}
|
|
74
|
+
return getTheme();
|
|
75
|
+
}
|
|
76
|
+
export function generateSrvAuthBindings(logout) {
|
|
77
|
+
if (logout) {
|
|
78
|
+
registerCallbackOnSrvAuthEvents('logout_event', logout);
|
|
79
|
+
}
|
|
80
|
+
if (realWindow.__ASMA__SHELL__?.auth_bindings) {
|
|
81
|
+
return realWindow.__ASMA__SHELL__.auth_bindings;
|
|
82
|
+
}
|
|
83
|
+
let jwtToken = '';
|
|
84
|
+
let metadata;
|
|
85
|
+
const isJwtInvalid = () => (jwtToken && accessTokenHasExpired()) || !jwtToken;
|
|
86
|
+
const isJwtValid = () => !isJwtInvalid();
|
|
87
|
+
const promiseRegistry = {};
|
|
88
|
+
async function _handleSrvAuthRequest(url, fetchOptions) {
|
|
89
|
+
if (typeof url === 'string') {
|
|
90
|
+
url = buildURL(url);
|
|
91
|
+
}
|
|
92
|
+
if (!promiseRegistry[url.pathname]) {
|
|
93
|
+
promiseRegistry[url.pathname] = fetch(url.toString(), fetchOptions);
|
|
94
|
+
}
|
|
95
|
+
const res = await promiseRegistry[url.pathname].finally(() => {
|
|
96
|
+
delete promiseRegistry[url.pathname];
|
|
97
|
+
});
|
|
98
|
+
const responseData = (await res.clone().json());
|
|
99
|
+
if (typeof responseData === 'object' && responseData !== null && 'default_app_versions' in responseData) {
|
|
100
|
+
dispatchCustomerUserRelatedAppVersions(responseData.default_app_versions);
|
|
101
|
+
}
|
|
102
|
+
if (!res.ok) {
|
|
103
|
+
throw responseData;
|
|
104
|
+
}
|
|
105
|
+
if (res.status === 299 && EnvConfigsFnInternal().DEVELOPMENT) {
|
|
106
|
+
console.info(responseData);
|
|
107
|
+
}
|
|
108
|
+
setAuthData(responseData);
|
|
109
|
+
return responseData;
|
|
110
|
+
}
|
|
111
|
+
async function srvAuthPost(url, body, headers) {
|
|
112
|
+
const fetchOptions = {
|
|
113
|
+
method: 'POST',
|
|
114
|
+
headers: {
|
|
115
|
+
'Content-Type': 'application/json',
|
|
116
|
+
...headers,
|
|
117
|
+
},
|
|
118
|
+
body: JSON.stringify(body),
|
|
119
|
+
credentials: 'include',
|
|
120
|
+
};
|
|
121
|
+
return _handleSrvAuthRequest(url, fetchOptions);
|
|
122
|
+
}
|
|
123
|
+
async function connectorPost({ url, body, headers, }) {
|
|
124
|
+
const token = await getCachedJwt();
|
|
125
|
+
const fetchOptions = {
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers: {
|
|
128
|
+
'Content-Type': 'application/json',
|
|
129
|
+
'x-api-key': metadata?.customer_id ?? '',
|
|
130
|
+
Authorization: `Bearer ${token}`,
|
|
131
|
+
...headers,
|
|
132
|
+
},
|
|
133
|
+
body: JSON.stringify(body),
|
|
134
|
+
};
|
|
135
|
+
const baseURL = metadata?.srv_urls?.['connector'] || EnvConfigsFnInternal().SRV_CONNECTOR;
|
|
136
|
+
const response = await fetch(new URL(baseURL + url, window.location.origin).toString(), fetchOptions);
|
|
137
|
+
return response.json();
|
|
138
|
+
}
|
|
139
|
+
async function srvAuthGet(url, headers) {
|
|
140
|
+
//const { ENVIRONMENT_TO_OPERATE, DEVELOPMENT } = EnvConfigsFnInternal()
|
|
141
|
+
const attachedHeaders = attachAdditionalHeaders(headers || {});
|
|
142
|
+
const fetchOptions = {
|
|
143
|
+
headers: {
|
|
144
|
+
...attachedHeaders,
|
|
145
|
+
},
|
|
146
|
+
credentials: 'include',
|
|
147
|
+
};
|
|
148
|
+
return _handleSrvAuthRequest(url, fetchOptions);
|
|
149
|
+
}
|
|
150
|
+
function accessTokenHasExpired() {
|
|
151
|
+
const tokenObj = getMetadata();
|
|
152
|
+
const accessTokenExpDate = tokenObj?.exp || 0;
|
|
153
|
+
const nowTime = Math.floor(new Date().getTime() / 1000);
|
|
154
|
+
return accessTokenExpDate - 10 <= nowTime;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* TODO: need to investigate smarter way of registering and unregister on `logout_event`
|
|
159
|
+
**/
|
|
160
|
+
registerCallbackOnSrvAuthEvents('logout_event', async ({ device }) => {
|
|
161
|
+
resetData();
|
|
162
|
+
const url = buildURL('/signout');
|
|
163
|
+
if (device === 'UNTRUSTED') {
|
|
164
|
+
url.searchParams.append('unset', 'device_authorization_token');
|
|
165
|
+
}
|
|
166
|
+
await srvAuthGet(url);
|
|
167
|
+
});
|
|
168
|
+
async function signin(url, headers) {
|
|
169
|
+
const isLegalGuardianPath = url.toString().includes('advoca.lg.change-user');
|
|
170
|
+
if (!isLegalGuardianPath && isJwtValid() && metadata) {
|
|
171
|
+
return {
|
|
172
|
+
token: jwtToken,
|
|
173
|
+
metadata: {
|
|
174
|
+
...metadata,
|
|
175
|
+
features: metadata?.features ? Array.from(metadata.features) : undefined,
|
|
176
|
+
},
|
|
177
|
+
message: 'Success',
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const data = await srvAuthGet(url, headers);
|
|
181
|
+
return data;
|
|
182
|
+
}
|
|
183
|
+
function getUserId() {
|
|
184
|
+
return getMetadata()?.user_id;
|
|
185
|
+
}
|
|
186
|
+
function resetData() {
|
|
187
|
+
jwtToken = '';
|
|
188
|
+
}
|
|
189
|
+
function setAuthData(data) {
|
|
190
|
+
if (data?.metadata) {
|
|
191
|
+
metadata = {
|
|
192
|
+
...data.metadata,
|
|
193
|
+
features: new Set(data.metadata?.features),
|
|
194
|
+
overviews: data.metadata?.overviews ? data.metadata.overviews : metadata?.overviews,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
if (data?.token) {
|
|
198
|
+
jwtToken = data?.token;
|
|
199
|
+
dispatchJwtChangedEvent(data.metadata);
|
|
200
|
+
//data.metadata?.theme!== metadata?.theme setTheme(data.metadata.theme)
|
|
201
|
+
}
|
|
202
|
+
if (!data?.metadata && !data?.token) {
|
|
203
|
+
console.warn('no metadata or token present in the response', 'data: ', data);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function getJwtToken() {
|
|
207
|
+
return jwtToken;
|
|
208
|
+
}
|
|
209
|
+
function getOpenReplay() {
|
|
210
|
+
if (!metadata?.openreplay) {
|
|
211
|
+
console.warn('openreplay is not defined in metadata: ', metadata);
|
|
212
|
+
}
|
|
213
|
+
return metadata?.openreplay;
|
|
214
|
+
}
|
|
215
|
+
async function getCachedJwt() {
|
|
216
|
+
if (isJwtInvalid()) {
|
|
217
|
+
const new_jwt = await getNewJwtToken();
|
|
218
|
+
return new_jwt;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return jwtToken;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function isTeamLeader() {
|
|
225
|
+
if (!metadata?.isTeamLeader) {
|
|
226
|
+
console.warn('isTeamLeader is not defined in metadata: ', metadata);
|
|
227
|
+
}
|
|
228
|
+
return metadata?.isTeamLeader || false;
|
|
229
|
+
}
|
|
230
|
+
async function setReqConfig(data, responseType) {
|
|
231
|
+
const token = await getCachedJwt();
|
|
232
|
+
const res = {
|
|
233
|
+
data: data,
|
|
234
|
+
responseType: responseType,
|
|
235
|
+
headers: {},
|
|
236
|
+
};
|
|
237
|
+
if (token) {
|
|
238
|
+
res.headers['Authorization'] = `Bearer ${token}`;
|
|
239
|
+
}
|
|
240
|
+
return res;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
*
|
|
244
|
+
* @param cache_ttl time for cache to live in hours default 24 hours
|
|
245
|
+
* @returns ICheckForRegisteredSubdomainResponse primarily from cache if do_not_cache is false
|
|
246
|
+
* cache is saved in indexedDB
|
|
247
|
+
*/
|
|
248
|
+
async function checkForRegisteredSubdomain(_cache_ttl = 24, _do_not_cache = false) {
|
|
249
|
+
const url = buildURL(`/check?context=subdomain`);
|
|
250
|
+
if (metadata) {
|
|
251
|
+
return {
|
|
252
|
+
metadata: {
|
|
253
|
+
...metadata,
|
|
254
|
+
features: metadata?.features ? Array.from(metadata.features) : undefined,
|
|
255
|
+
},
|
|
256
|
+
message: 'Success',
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
const data = await srvAuthGet(url);
|
|
260
|
+
/* await set(url, {
|
|
261
|
+
timestamp: Date.now(),
|
|
262
|
+
data,
|
|
263
|
+
}) */
|
|
264
|
+
return data;
|
|
265
|
+
}
|
|
266
|
+
async function getNewJwtToken() {
|
|
267
|
+
try {
|
|
268
|
+
const url = buildURL(`/token` + realWindow.location.search);
|
|
269
|
+
const data = await srvAuthGet(url);
|
|
270
|
+
data.signout && logout?.();
|
|
271
|
+
if (!data || 'errors' in data || data.signout) {
|
|
272
|
+
dispatchLogoutEvent();
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
return jwtToken;
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
dispatchLogoutEvent();
|
|
279
|
+
console.warn(error);
|
|
280
|
+
return jwtToken;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
function getMetadata() {
|
|
284
|
+
return metadata;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
*
|
|
288
|
+
* @deprecated use getMetadata
|
|
289
|
+
* @var role = user_role
|
|
290
|
+
* @var connector=journal
|
|
291
|
+
* @var id = customer_id
|
|
292
|
+
*/
|
|
293
|
+
function getParsedJwt() {
|
|
294
|
+
if (metadata && metadata.user_role) {
|
|
295
|
+
return {
|
|
296
|
+
//...metadata,
|
|
297
|
+
customer_id: metadata.customer_id,
|
|
298
|
+
journal: metadata.journal,
|
|
299
|
+
journal_user_id: metadata.journal_user_id,
|
|
300
|
+
srv_urls: metadata.srv_urls,
|
|
301
|
+
exp: metadata.exp,
|
|
302
|
+
vt: metadata.vt,
|
|
303
|
+
role: metadata.user_role,
|
|
304
|
+
name: metadata.user_name || '',
|
|
305
|
+
region: metadata.region || '',
|
|
306
|
+
journal_role: metadata.journal_role || '',
|
|
307
|
+
user_id: metadata.user_id,
|
|
308
|
+
brukerBrukerNavn: metadata.brukerBrukerNavn || '',
|
|
309
|
+
access_level: metadata.access_level || 1,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
return undefined;
|
|
313
|
+
}
|
|
314
|
+
function getFeatures() {
|
|
315
|
+
if (!metadata?.features) {
|
|
316
|
+
console.warn('no features present in the metadata', 'metadata: ', metadata);
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
return Array.from(metadata.features);
|
|
320
|
+
}
|
|
321
|
+
function getSrvUrls() {
|
|
322
|
+
if (!metadata?.srv_urls) {
|
|
323
|
+
console.warn('no srv_urls present in the metadata', 'metadata: ', metadata);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
return metadata?.srv_urls;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
*
|
|
330
|
+
* @param featureName feature_name_enums add this: generateSrvAuthBindings<feature_name_enums.>(...)
|
|
331
|
+
* @returns boolean
|
|
332
|
+
*/
|
|
333
|
+
function hasFeature(featureName) {
|
|
334
|
+
//let hasFeature = false
|
|
335
|
+
//const asmaFeaturesIgnoreList: string | null = localStorage.getItem('asma-features-ignore-list')
|
|
336
|
+
const enableAllFeatures = localStorage.getItem('enable-all-features') === 'true';
|
|
337
|
+
//const hasFeatureCheck = !!features?.has(featureName)
|
|
338
|
+
//const DEVELOPMENT = EnvConfigsFnInternal().DEVELOPMENT
|
|
339
|
+
//if (EnvConfigsFnInternal().DEVELOPMENT /* && asmaDebug && asmaFeaturesIgnoreList */) {
|
|
340
|
+
// let asmaEnableAllFeatures: FeatureEnums[] | undefined
|
|
341
|
+
// try {
|
|
342
|
+
// asmaEnableAllFeatures = JSON.parse(asmaFeaturesIgnoreList)
|
|
343
|
+
// } catch (e) {
|
|
344
|
+
// console.error(e)
|
|
345
|
+
// }
|
|
346
|
+
// if (Array.isArray(asmaEnableAllFeatures) && !asmaEnableAllFeatures.includes(featureName)) {
|
|
347
|
+
// hasFeature = true
|
|
348
|
+
// } else {
|
|
349
|
+
//hasFeature = hasFeatureCheck
|
|
350
|
+
// }
|
|
351
|
+
// return true
|
|
352
|
+
//} else {
|
|
353
|
+
// hasFeature = hasFeatureCheck
|
|
354
|
+
// }
|
|
355
|
+
/**
|
|
356
|
+
* is used directory_hideParticipantGroups due to the fact that it is wrongly named and enable fretex specific functionality
|
|
357
|
+
* needs to be renamed to directory_enableParticipantGroups. Excluding from dev enabling for now
|
|
358
|
+
*/
|
|
359
|
+
if (featureName !== 'directory_hideParticipantGroups') {
|
|
360
|
+
return enableAllFeatures || !!metadata?.features?.has(featureName);
|
|
361
|
+
}
|
|
362
|
+
return !!metadata?.features?.has(featureName);
|
|
363
|
+
}
|
|
364
|
+
function getConnector() {
|
|
365
|
+
return metadata?.journal;
|
|
366
|
+
}
|
|
367
|
+
function getTheme() {
|
|
368
|
+
if (!metadata?.theme) {
|
|
369
|
+
console.warn('no theme present in the metadata', 'metadata: ', metadata);
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
return metadata.theme;
|
|
373
|
+
}
|
|
374
|
+
const CACHE_TTL = 1000 * 60 * 5;
|
|
375
|
+
const activityStatusesCached = new Map();
|
|
376
|
+
const pendingRequests = new Map();
|
|
377
|
+
function invalidateActivityStatuses(activityIds) {
|
|
378
|
+
if (!activityIds?.length) {
|
|
379
|
+
activityStatusesCached.clear();
|
|
380
|
+
pendingRequests.clear();
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
for (const id of activityIds) {
|
|
384
|
+
activityStatusesCached.delete(id);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
async function getActivityStatuses(activityIds) {
|
|
388
|
+
const result = new Map();
|
|
389
|
+
const missingIds = [];
|
|
390
|
+
const now = Date.now();
|
|
391
|
+
for (const id of activityIds) {
|
|
392
|
+
const cached = activityStatusesCached.get(id);
|
|
393
|
+
if (cached && cached.expiresAt > now) {
|
|
394
|
+
result.set(id, cached.value);
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
const numeric = Number(id);
|
|
398
|
+
if (!Number.isNaN(numeric))
|
|
399
|
+
missingIds.push(numeric);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (!missingIds.length)
|
|
403
|
+
return result;
|
|
404
|
+
const requestKey = missingIds.join(',');
|
|
405
|
+
if (pendingRequests.has(requestKey)) {
|
|
406
|
+
const ongoing = await pendingRequests.get(requestKey);
|
|
407
|
+
ongoing.forEach((v, k) => result.set(k, v));
|
|
408
|
+
return result;
|
|
409
|
+
}
|
|
410
|
+
const requestPromise = (async () => {
|
|
411
|
+
try {
|
|
412
|
+
const response = await connectorPost({
|
|
413
|
+
url: '/api/ReadOnlyAccessCheck',
|
|
414
|
+
body: { SoknadID: missingIds, AdVoca: domain === 'advoca' ? 1 : 0 },
|
|
415
|
+
});
|
|
416
|
+
const map = new Map();
|
|
417
|
+
const unresolved = new Set(missingIds.map((id) => id.toString()));
|
|
418
|
+
response?.forEach(({ soknadID, adgangkode }) => {
|
|
419
|
+
if (!soknadID || !adgangkode)
|
|
420
|
+
return;
|
|
421
|
+
const key = soknadID.toString();
|
|
422
|
+
const status = getActivityStatus(adgangkode);
|
|
423
|
+
map.set(key, status);
|
|
424
|
+
activityStatusesCached.set(key, { value: status, expiresAt: Date.now() + CACHE_TTL });
|
|
425
|
+
unresolved.delete(key);
|
|
426
|
+
});
|
|
427
|
+
unresolved.forEach((key) => {
|
|
428
|
+
map.set(key, ActivityStatuses.NO_ACCESS);
|
|
429
|
+
activityStatusesCached.set(key, {
|
|
430
|
+
value: ActivityStatuses.NO_ACCESS,
|
|
431
|
+
expiresAt: Date.now() + CACHE_TTL,
|
|
432
|
+
});
|
|
433
|
+
});
|
|
434
|
+
return map;
|
|
435
|
+
}
|
|
436
|
+
catch (error) {
|
|
437
|
+
console.error(error);
|
|
438
|
+
return new Map();
|
|
439
|
+
}
|
|
440
|
+
finally {
|
|
441
|
+
pendingRequests.delete(requestKey);
|
|
442
|
+
}
|
|
443
|
+
})();
|
|
444
|
+
pendingRequests.set(requestKey, requestPromise);
|
|
445
|
+
const fetched = await requestPromise;
|
|
446
|
+
fetched.forEach((v, k) => result.set(k, v));
|
|
447
|
+
return result;
|
|
448
|
+
}
|
|
449
|
+
const auth_bindings = {
|
|
450
|
+
hasFeature: (featureName) => hasFeature(featureName),
|
|
451
|
+
getConnector,
|
|
452
|
+
getTheme,
|
|
453
|
+
getFeatures,
|
|
454
|
+
isJwtValid,
|
|
455
|
+
signin,
|
|
456
|
+
srvAuthGet,
|
|
457
|
+
srvAuthPost,
|
|
458
|
+
getSrvUrls,
|
|
459
|
+
/**
|
|
460
|
+
* @deprecated use dispatchLogoutEvent directly
|
|
461
|
+
*/
|
|
462
|
+
signoutAuth: dispatchLogoutEvent,
|
|
463
|
+
dispatchLogoutEvent,
|
|
464
|
+
setReqConfig,
|
|
465
|
+
/**
|
|
466
|
+
* @deprecated use getCachedJwt
|
|
467
|
+
* */
|
|
468
|
+
getJwtTokenAsync: getCachedJwt,
|
|
469
|
+
getCachedJwt,
|
|
470
|
+
getOpenReplay,
|
|
471
|
+
getNewJwtToken,
|
|
472
|
+
/**
|
|
473
|
+
* @deprecated use registerCallbackOnSrvAuthEvents directly
|
|
474
|
+
*/
|
|
475
|
+
registerOnJwtChanges: registerCallbackOnSrvAuthEvents,
|
|
476
|
+
registerCallbackOnSrvAuthEvents,
|
|
477
|
+
getUserId,
|
|
478
|
+
/**
|
|
479
|
+
* @deprecated use getMetadata
|
|
480
|
+
*/
|
|
481
|
+
getParsedJwt,
|
|
482
|
+
getMetadata,
|
|
483
|
+
getJwtToken,
|
|
484
|
+
// cancelRequest,
|
|
485
|
+
accessTokenHasExpired,
|
|
486
|
+
checkForRegisteredSubdomain,
|
|
487
|
+
/**@deprecated - do not use it anymore is moved to features `TimeRegistration_TeamleaderOverview` */
|
|
488
|
+
isTeamLeader,
|
|
489
|
+
getActivityStatuses,
|
|
490
|
+
invalidateActivityStatuses,
|
|
491
|
+
};
|
|
492
|
+
realWindow.__ASMA__SHELL__ = realWindow.__ASMA__SHELL__ || {};
|
|
493
|
+
realWindow.__ASMA__SHELL__.auth_bindings = auth_bindings;
|
|
494
|
+
return auth_bindings;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* @deprecated use generateSrvAuthBindings
|
|
498
|
+
*
|
|
499
|
+
*/
|
|
500
|
+
export function generateSrvAuthBindingsMicroApp(
|
|
501
|
+
//SRV_AUTH: () => string,
|
|
502
|
+
//DEVELOPMENT: () => boolean,
|
|
503
|
+
//ENVIRONMENT_TO_OPERATE: () => EnvironmentEnums,
|
|
504
|
+
//EnvConfigsFn: EnvConfigsFn,
|
|
505
|
+
logout) {
|
|
506
|
+
return (realWindow.__ASMA__SHELL__?.auth_bindings ||
|
|
507
|
+
generateSrvAuthBindings(/* SRV_AUTH, DEVELOPMENT, ENVIRONMENT_TO_OPERATE, */ /* EnvConfigsFn, */ logout));
|
|
508
|
+
}
|
|
509
|
+
let current_app_version = undefined;
|
|
510
|
+
function dispatchCustomerUserRelatedAppVersions(new_app_version) {
|
|
511
|
+
if (!new_app_version || Object.keys(new_app_version).length === 0) {
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
514
|
+
if (!current_app_version || !deepEqual(current_app_version, new_app_version)) {
|
|
515
|
+
asmaOverridesEventBus.dispatch('default-map-changed', new_app_version);
|
|
516
|
+
}
|
|
517
|
+
current_app_version = new_app_version;
|
|
518
|
+
}
|
|
519
|
+
function deepEqual(x, y) {
|
|
520
|
+
return sortStringify(x) === sortStringify(y);
|
|
521
|
+
}
|
|
522
|
+
function sortStringify(x) {
|
|
523
|
+
Object.keys(x)
|
|
524
|
+
.sort()
|
|
525
|
+
.reduce((acc, key) => {
|
|
526
|
+
const x_key = x?.[key];
|
|
527
|
+
if (x_key) {
|
|
528
|
+
acc[key] = x_key;
|
|
529
|
+
}
|
|
530
|
+
return acc;
|
|
531
|
+
}, {});
|
|
532
|
+
return JSON.stringify(x);
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
*
|
|
536
|
+
* @param headers
|
|
537
|
+
* @returns
|
|
538
|
+
*/
|
|
539
|
+
function attachAdditionalHeaders(headers) {
|
|
540
|
+
const predefined_debug_user_secret = localStorage.getItem('predefined-debug-user-secret') || undefined;
|
|
541
|
+
if (predefined_debug_user_secret) {
|
|
542
|
+
headers = { ...headers, 'predefined-debug-user-secret': predefined_debug_user_secret };
|
|
543
|
+
}
|
|
544
|
+
const do_not_notify = localStorage.getItem('do-not-notify') || undefined;
|
|
545
|
+
if (do_not_notify) {
|
|
546
|
+
headers = { ...headers, 'do-not-notify': do_not_notify };
|
|
547
|
+
}
|
|
548
|
+
const genesis_user_secret_enabling_code = localStorage.getItem('genesis-secret-activation-code') || undefined;
|
|
549
|
+
if (genesis_user_secret_enabling_code) {
|
|
550
|
+
headers = { ...headers, 'genesis-secret-activation-code': genesis_user_secret_enabling_code };
|
|
551
|
+
}
|
|
552
|
+
const genesis_user_secret = localStorage.getItem('genesis-user-secret') || undefined;
|
|
553
|
+
if (domain === 'advoca' && genesis_user_secret) {
|
|
554
|
+
headers = { ...headers, 'genesis-user-secret': `genesis-user-secret.${genesis_user_secret}` };
|
|
555
|
+
}
|
|
556
|
+
return headers;
|
|
557
|
+
}
|
|
558
|
+
function buildURL(pathname = '') {
|
|
559
|
+
// If path is absolute, return it as-is
|
|
560
|
+
const srv_auth = EnvConfigsFnInternal().SRV_AUTH;
|
|
561
|
+
if (srv_auth.startsWith('http://') || srv_auth.startsWith('https://')) {
|
|
562
|
+
return new URL(srv_auth + pathname);
|
|
563
|
+
}
|
|
564
|
+
// Otherwise, resolve against the base URL
|
|
565
|
+
return new URL(srv_auth + pathname, window.location.origin);
|
|
566
|
+
}
|
|
567
|
+
//# sourceMappingURL=generateSrvAuthBindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSrvAuthBindings.js","sourceRoot":"","sources":["../../src/helpers/generateSrvAuthBindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { ITherapistOrSuperUserJwtClaims } from 'asma-types/lib';
|
|
2
|
+
type IOpenreplay = {
|
|
3
|
+
enable: boolean;
|
|
4
|
+
block: boolean;
|
|
5
|
+
live_assist: boolean;
|
|
6
|
+
graphql: boolean;
|
|
7
|
+
mobx: boolean;
|
|
8
|
+
profiler: boolean;
|
|
9
|
+
advoca: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type ISrvUrls = Record<'ao_wrapper' | 'connector' | 'onlyoffice', string>;
|
|
12
|
+
type IOverviews = {
|
|
13
|
+
name: string;
|
|
14
|
+
app_context: 'ADVOCA' | 'JOURNAL_ME' | 'JOURNAL_RECIPIENT';
|
|
15
|
+
overview_widgets: {
|
|
16
|
+
widget: string;
|
|
17
|
+
variation: string;
|
|
18
|
+
order: number;
|
|
19
|
+
settings: {
|
|
20
|
+
amount_of_rows: number;
|
|
21
|
+
status: string;
|
|
22
|
+
};
|
|
23
|
+
name: string | null;
|
|
24
|
+
description: string | null;
|
|
25
|
+
}[];
|
|
26
|
+
}[];
|
|
27
|
+
type IPrivacyPolicy = {
|
|
28
|
+
content_en: string | null;
|
|
29
|
+
content_no: string | null;
|
|
30
|
+
monitoring_content_en: string | null;
|
|
31
|
+
monitoring_content_no: string | null;
|
|
32
|
+
};
|
|
33
|
+
export type ICheckSigninTransformedOptions<IFeaturesArr extends string> = Omit<ICheckSigninOptions<IFeaturesArr>, 'features'> & {
|
|
34
|
+
features: Set<IFeaturesArr>;
|
|
35
|
+
};
|
|
36
|
+
export type ICheckSigninOptions<IFeaturesArr extends string> = Pick<ITherapistOrSuperUserJwtClaims<'admin' | 'super_user' | 'therapist' | 'recipient'>, 'journal_user_id' | 'customer_id' | 'journal' | 'srv_urls' | 'exp'> & {
|
|
37
|
+
srv_urls: ISrvUrls;
|
|
38
|
+
customer_name?: string;
|
|
39
|
+
user_name?: string;
|
|
40
|
+
openreplay?: IOpenreplay;
|
|
41
|
+
default_app_versions?: Record<string, string>;
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated shall be replaced by features
|
|
44
|
+
*/
|
|
45
|
+
isTeamLeader?: boolean;
|
|
46
|
+
overviews?: IOverviews;
|
|
47
|
+
device_authorized?: boolean;
|
|
48
|
+
theme?: string;
|
|
49
|
+
features?: IFeaturesArr[];
|
|
50
|
+
user_id?: string;
|
|
51
|
+
brukerBrukerNavn?: string;
|
|
52
|
+
user_role?: 'super_user' | 'therapist' | 'recipient';
|
|
53
|
+
journal_role?: string;
|
|
54
|
+
/** @info when expires epoch in secs ex: 1725898034*/
|
|
55
|
+
iat?: number;
|
|
56
|
+
/** @info when expires epoch in secs ex: 1725898034*/
|
|
57
|
+
exp?: number;
|
|
58
|
+
/** @info validity in minute eg: 30 (valid 30 minutes)*/
|
|
59
|
+
vt?: number;
|
|
60
|
+
region?: string;
|
|
61
|
+
identity?: string;
|
|
62
|
+
access_level?: 1 | 2 | 3 | 4;
|
|
63
|
+
advoca_info_link?: string;
|
|
64
|
+
/** @info only for anonymous */
|
|
65
|
+
privacy_policy?: IPrivacyPolicy;
|
|
66
|
+
device?: 'TRUSTED' | 'UNTRUSTED';
|
|
67
|
+
step2_active_options?: {
|
|
68
|
+
email?: true;
|
|
69
|
+
sms?: true;
|
|
70
|
+
webauthn?: true;
|
|
71
|
+
webauthn_register?: true;
|
|
72
|
+
};
|
|
73
|
+
has_wards?: true;
|
|
74
|
+
legal_guardian?: {
|
|
75
|
+
journal_user_id: string;
|
|
76
|
+
full_name: string;
|
|
77
|
+
phone_nr: string | null;
|
|
78
|
+
pnr: string;
|
|
79
|
+
};
|
|
80
|
+
of_max_connections?: number;
|
|
81
|
+
of_connections_per_user?: number;
|
|
82
|
+
};
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=generateSrvAuthBindings.types.d.ts.map
|