@genesislcap/foundation-comms 14.306.2-alpha-d90fa7e.0 → 14.307.1
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/dts/auth/auth.d.ts +2 -19
- package/dist/dts/auth/auth.d.ts.map +1 -1
- package/dist/dts/connect/connect.d.ts +2 -14
- package/dist/dts/connect/connect.d.ts.map +1 -1
- package/dist/dts/connect/message.d.ts +0 -1
- package/dist/dts/connect/message.d.ts.map +1 -1
- package/dist/dts/connect/socket.d.ts +11 -6
- package/dist/dts/connect/socket.d.ts.map +1 -1
- package/dist/dts/metadata/metadata.types.d.ts +0 -1
- package/dist/dts/metadata/metadata.types.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/connect.d.ts +0 -1
- package/dist/dts/testing/mocks/connect/connect.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/socket.d.ts +2 -5
- package/dist/dts/testing/mocks/connect/socket.d.ts.map +1 -1
- package/dist/esm/auth/auth.js +5 -91
- package/dist/esm/connect/connect.js +4 -24
- package/dist/esm/connect/socket.js +86 -15
- package/dist/esm/testing/mocks/connect/connect.js +1 -2
- package/dist/esm/testing/mocks/connect/socket.js +1 -8
- package/dist/foundation-comms.api.json +2 -257
- package/dist/foundation-comms.d.ts +23 -52
- package/docs/api/foundation-comms.connect.md +0 -21
- package/docs/api/foundation-comms.defaultauth._constructor_.md +1 -15
- package/docs/api/foundation-comms.defaultauth.md +1 -20
- package/docs/api/foundation-comms.defaultconnect._constructor_.md +1 -15
- package/docs/api/foundation-comms.defaultconnect.md +1 -41
- package/docs/api/foundation-comms.defaultsocket.md +0 -12
- package/docs/api/foundation-comms.messagedetails.loggedinsysteminfo.md +0 -1
- package/docs/api/foundation-comms.rawdataserverresult.md +0 -1
- package/docs/api/foundation-comms.socket.md +0 -11
- package/docs/api-report.md.api.md +13 -32
- package/package.json +13 -13
- package/docs/api/foundation-comms.connect.sessionexpired_.md +0 -13
- package/docs/api/foundation-comms.defaultauth.reauth_action_lock_key.md +0 -11
- package/docs/api/foundation-comms.defaultconnect.sessionexpired_.md +0 -13
- package/docs/api/foundation-comms.defaultconnect.user.md +0 -11
- package/docs/api/foundation-comms.defaultsocket.updatesessionandsubscriptions.md +0 -50
- package/docs/api/foundation-comms.socket.updatesessionandsubscriptions.md +0 -52
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
var DefaultSocket_1;
|
|
1
2
|
import { __awaiter, __decorate, __param } from "tslib";
|
|
2
3
|
import { User } from '@genesislcap/foundation-user';
|
|
4
|
+
import { LOGIN_DETAILS_URL, LOGIN_URL } from '@genesislcap/foundation-utils';
|
|
3
5
|
import { GENESIS_SOCKET_URL, JSONSerializer, UUID } from '@genesislcap/foundation-utils';
|
|
4
6
|
import { DOM, observable } from '@microsoft/fast-element';
|
|
5
7
|
import { DI } from '@microsoft/fast-foundation';
|
|
@@ -83,7 +85,7 @@ export class SocketMessageHandler {
|
|
|
83
85
|
* Default Socket implementation.
|
|
84
86
|
* @public
|
|
85
87
|
*/
|
|
86
|
-
let DefaultSocket = class DefaultSocket {
|
|
88
|
+
let DefaultSocket = DefaultSocket_1 = class DefaultSocket {
|
|
87
89
|
get isConfigured() {
|
|
88
90
|
return this.status.isConfigured;
|
|
89
91
|
}
|
|
@@ -201,14 +203,6 @@ let DefaultSocket = class DefaultSocket {
|
|
|
201
203
|
switch (receivedMessage.MESSAGE_TYPE) {
|
|
202
204
|
case EventMessageType.EVENT_LOGIN_AUTH_ACK: {
|
|
203
205
|
const systemDetails = receivedMessage.DETAILS;
|
|
204
|
-
const MINUTES_TO_MILLISECONDS = 60 * 1000;
|
|
205
|
-
const timeoutMs = systemDetails.SESSION_TIMEOUT_MINS * MINUTES_TO_MILLISECONDS;
|
|
206
|
-
setTimeout(() => {
|
|
207
|
-
var _a;
|
|
208
|
-
const heartbeatPing = this.messageBuilder.createHeartbeatPingMessage((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.verboseHeartbeat);
|
|
209
|
-
this.websocket.next(heartbeatPing);
|
|
210
|
-
logger.info(`Heartbeat ping sent after session timeout (${systemDetails.SESSION_TIMEOUT_MINS} mins)`);
|
|
211
|
-
}, timeoutMs);
|
|
212
206
|
// Reconfigures the heartbeat with system details from the login response
|
|
213
207
|
if (systemDetails.HEARTBEAT_INTERVAL_SECS &&
|
|
214
208
|
((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.heartbeatInterval) === undefined) {
|
|
@@ -274,14 +268,85 @@ let DefaultSocket = class DefaultSocket {
|
|
|
274
268
|
this.status.isConfigured = true;
|
|
275
269
|
});
|
|
276
270
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
271
|
+
/**
|
|
272
|
+
*
|
|
273
|
+
* @remarks
|
|
274
|
+
* This is triggered after `sessionTimeoutMins` elapses and heartbeat would tell us that user is no longer authenticated
|
|
275
|
+
* more info here https://docs.genesis.global/docs/develop/server-capabilities/access-control/authentication/#sessiontimeoutmins
|
|
276
|
+
*/
|
|
277
|
+
handleExpiredSession() {
|
|
278
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
279
|
+
// to detect which auth method is used we check if refreshToken is present in session storage
|
|
280
|
+
// it would not be available in cookies method as it's securely stored within cookie
|
|
281
|
+
// and not accessible from the client
|
|
282
|
+
if (this.session.getSessionStorageItem('refreshToken')) {
|
|
283
|
+
const refreshTokenMessage = this.messageBuilder.createRefreshTokenMessage();
|
|
284
|
+
const refreshTokenResult = yield this.send(refreshTokenMessage);
|
|
285
|
+
this.session.setAuthResult(refreshTokenResult);
|
|
286
|
+
this.updateSessionAndSubscriptions(refreshTokenResult);
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
yield this.handleCookieBasedReauth();
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
handleCookieBasedReauth() {
|
|
294
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
295
|
+
// checking for stale locks, so we don't block reauth forever
|
|
296
|
+
const lockTimestamp = parseInt(localStorage.getItem(DefaultSocket_1.REAUTH_ACTION_LOCK_KEY) || '0');
|
|
297
|
+
const LOCK_TIMEOUT_MS = 30000;
|
|
298
|
+
if (Date.now() - lockTimestamp > LOCK_TIMEOUT_MS) {
|
|
299
|
+
localStorage.removeItem(DefaultSocket_1.REAUTH_ACTION_LOCK_KEY);
|
|
300
|
+
}
|
|
301
|
+
// this is to prevent multiple tabs from trying to reauthenticate at the same time
|
|
302
|
+
if (!localStorage.getItem(DefaultSocket_1.REAUTH_ACTION_LOCK_KEY)) {
|
|
303
|
+
localStorage.setItem(DefaultSocket_1.REAUTH_ACTION_LOCK_KEY, Date.now().toString());
|
|
304
|
+
// session might already be extended on another tab, so we first check if user is
|
|
305
|
+
// authenticated and if it is we just reconnect as cookies are shared between tabs and
|
|
306
|
+
// the browser uses latest one when establishing connection with ws
|
|
307
|
+
const loginDetailsFetch = yield fetch(LOGIN_DETAILS_URL, { credentials: 'include' });
|
|
308
|
+
const loginDetails = yield loginDetailsFetch.json();
|
|
309
|
+
if (loginDetails.MESSAGE_TYPE !== 'EVENT_LOGIN_DETAILS_ACK') {
|
|
310
|
+
const refreshLoginResponse = yield fetch(LOGIN_URL, {
|
|
311
|
+
credentials: 'include',
|
|
312
|
+
headers: { 'Content-type': 'application/json; charset=UTF-8' },
|
|
313
|
+
method: 'POST',
|
|
314
|
+
body: JSON.stringify({
|
|
315
|
+
DETAILS: {},
|
|
316
|
+
MESSAGE_TYPE: 'EVENT_LOGIN_AUTH',
|
|
317
|
+
}),
|
|
318
|
+
});
|
|
319
|
+
// if the refresh login is not successful we need to reload the page to get back to the login page
|
|
320
|
+
if (!refreshLoginResponse.ok) {
|
|
321
|
+
window.location.reload();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
localStorage.removeItem(DefaultSocket_1.REAUTH_ACTION_LOCK_KEY);
|
|
325
|
+
// connect again to a new stream to use new session token from obtained cookie
|
|
326
|
+
yield this.connect();
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
// session is already being reauthenticated on another tab so we just wait when it finishes and reconnect
|
|
330
|
+
window.addEventListener('storage', this.onStorageEvent.bind(this));
|
|
282
331
|
}
|
|
283
332
|
});
|
|
284
333
|
}
|
|
334
|
+
onStorageEvent(event) {
|
|
335
|
+
if (event.key === DefaultSocket_1.REAUTH_ACTION_LOCK_KEY && event.newValue === null) {
|
|
336
|
+
this.connect();
|
|
337
|
+
window.removeEventListener('storage', this.onStorageEvent);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
updateSessionAndSubscriptions(refreshTokenResult) {
|
|
341
|
+
if ((refreshTokenResult === null || refreshTokenResult === void 0 ? void 0 : refreshTokenResult.MESSAGE_TYPE) === EventMessageType.EVENT_LOGIN_AUTH_ACK) {
|
|
342
|
+
this.wsMessageHandlers.forEach((mh) => {
|
|
343
|
+
if (mh.isSubscription) {
|
|
344
|
+
mh.sentMessage.SESSION_AUTH_TOKEN = refreshTokenResult.SESSION_AUTH_TOKEN;
|
|
345
|
+
this.websocket.next(mh.sentMessage);
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
}
|
|
285
350
|
prepareHeartbeat() {
|
|
286
351
|
var _a, _b, _c, _d;
|
|
287
352
|
if (this.heartbeatTicker) {
|
|
@@ -296,6 +361,11 @@ let DefaultSocket = class DefaultSocket {
|
|
|
296
361
|
this.connectOptions.heartbeatPingCallback(ping);
|
|
297
362
|
}
|
|
298
363
|
const pong = yield this.send(ping);
|
|
364
|
+
// when heartbeat runs before user logs in (connected to websocket but
|
|
365
|
+
// not authenticated) we don't extend session as it doesn't exist yet
|
|
366
|
+
if (this.user.isAuthenticated && !pong.IS_AUTHENTICATED) {
|
|
367
|
+
this.handleExpiredSession();
|
|
368
|
+
}
|
|
299
369
|
if ((_c = this.connectOptions) === null || _c === void 0 ? void 0 : _c.heartbeatPongCallback) {
|
|
300
370
|
this.connectOptions.heartbeatPongCallback(pong);
|
|
301
371
|
}
|
|
@@ -482,6 +552,7 @@ let DefaultSocket = class DefaultSocket {
|
|
|
482
552
|
}
|
|
483
553
|
}
|
|
484
554
|
};
|
|
555
|
+
DefaultSocket.REAUTH_ACTION_LOCK_KEY = 'reauthActionLock';
|
|
485
556
|
__decorate([
|
|
486
557
|
observable
|
|
487
558
|
], DefaultSocket.prototype, "websocket", void 0);
|
|
@@ -497,7 +568,7 @@ __decorate([
|
|
|
497
568
|
__decorate([
|
|
498
569
|
observable
|
|
499
570
|
], DefaultSocket.prototype, "heartbeatIsEnabled", void 0);
|
|
500
|
-
DefaultSocket = __decorate([
|
|
571
|
+
DefaultSocket = DefaultSocket_1 = __decorate([
|
|
501
572
|
__param(0, MessageBuilder),
|
|
502
573
|
__param(1, Session),
|
|
503
574
|
__param(2, JSONSerializer),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import {
|
|
2
|
+
import { from } from 'rxjs';
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
@@ -7,7 +7,6 @@ export class ConnectMock {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.isConnected = true;
|
|
9
9
|
this.isWorking = false;
|
|
10
|
-
this.sessionExpired$ = new BehaviorSubject(false);
|
|
11
10
|
}
|
|
12
11
|
get host() {
|
|
13
12
|
return this.socket.host;
|
|
@@ -8,7 +8,6 @@ export class SocketMock {
|
|
|
8
8
|
this.isConnectedSubject = new BehaviorSubject(true);
|
|
9
9
|
this.host = 'mock-host';
|
|
10
10
|
this.socketMessagesSubject = new SocketSubject();
|
|
11
|
-
this.sessionExpiredSubject = new SocketSubject();
|
|
12
11
|
}
|
|
13
12
|
connect(host, options, reconnectOptions) {
|
|
14
13
|
this.host = host;
|
|
@@ -27,13 +26,7 @@ export class SocketMock {
|
|
|
27
26
|
socketMessages() {
|
|
28
27
|
return this.socketMessagesSubject;
|
|
29
28
|
}
|
|
30
|
-
sessionExpired() {
|
|
31
|
-
return this.sessionExpiredSubject;
|
|
32
|
-
}
|
|
33
|
-
updateSessionAndSubscriptions(refreshToken) {
|
|
34
|
-
// mock: do nothing
|
|
35
|
-
}
|
|
36
29
|
reset() {
|
|
37
|
-
|
|
30
|
+
throw new Error('Method not implemented.');
|
|
38
31
|
}
|
|
39
32
|
}
|
|
@@ -2108,38 +2108,6 @@
|
|
|
2108
2108
|
],
|
|
2109
2109
|
"name": "request"
|
|
2110
2110
|
},
|
|
2111
|
-
{
|
|
2112
|
-
"kind": "PropertySignature",
|
|
2113
|
-
"canonicalReference": "@genesislcap/foundation-comms!Connect#sessionExpired$:member",
|
|
2114
|
-
"docComment": "/**\n * Emits true when the session is detected as expired (e.g., IS_AUTHENTICATED is false in heartbeat pong). Consumers can subscribe to this to react to session expiration events.\n */\n",
|
|
2115
|
-
"excerptTokens": [
|
|
2116
|
-
{
|
|
2117
|
-
"kind": "Content",
|
|
2118
|
-
"text": "readonly sessionExpired$?: "
|
|
2119
|
-
},
|
|
2120
|
-
{
|
|
2121
|
-
"kind": "Reference",
|
|
2122
|
-
"text": "Subject",
|
|
2123
|
-
"canonicalReference": "rxjs!Subject:class"
|
|
2124
|
-
},
|
|
2125
|
-
{
|
|
2126
|
-
"kind": "Content",
|
|
2127
|
-
"text": "<boolean>"
|
|
2128
|
-
},
|
|
2129
|
-
{
|
|
2130
|
-
"kind": "Content",
|
|
2131
|
-
"text": ";"
|
|
2132
|
-
}
|
|
2133
|
-
],
|
|
2134
|
-
"isReadonly": true,
|
|
2135
|
-
"isOptional": true,
|
|
2136
|
-
"releaseTag": "Public",
|
|
2137
|
-
"name": "sessionExpired$",
|
|
2138
|
-
"propertyTypeTokenRange": {
|
|
2139
|
-
"startIndex": 1,
|
|
2140
|
-
"endIndex": 3
|
|
2141
|
-
}
|
|
2142
|
-
},
|
|
2143
2111
|
{
|
|
2144
2112
|
"kind": "MethodSignature",
|
|
2145
2113
|
"canonicalReference": "@genesislcap/foundation-comms!Connect#snapshot:member(1)",
|
|
@@ -10967,15 +10935,6 @@
|
|
|
10967
10935
|
"text": "User",
|
|
10968
10936
|
"canonicalReference": "@genesislcap/foundation-user!User:interface"
|
|
10969
10937
|
},
|
|
10970
|
-
{
|
|
10971
|
-
"kind": "Content",
|
|
10972
|
-
"text": ", socket: "
|
|
10973
|
-
},
|
|
10974
|
-
{
|
|
10975
|
-
"kind": "Reference",
|
|
10976
|
-
"text": "Socket",
|
|
10977
|
-
"canonicalReference": "@genesislcap/foundation-comms!Socket:interface"
|
|
10978
|
-
},
|
|
10979
10938
|
{
|
|
10980
10939
|
"kind": "Content",
|
|
10981
10940
|
"text": ");"
|
|
@@ -11024,14 +10983,6 @@
|
|
|
11024
10983
|
"endIndex": 10
|
|
11025
10984
|
},
|
|
11026
10985
|
"isOptional": false
|
|
11027
|
-
},
|
|
11028
|
-
{
|
|
11029
|
-
"parameterName": "socket",
|
|
11030
|
-
"parameterTypeTokenRange": {
|
|
11031
|
-
"startIndex": 11,
|
|
11032
|
-
"endIndex": 12
|
|
11033
|
-
},
|
|
11034
|
-
"isOptional": false
|
|
11035
10986
|
}
|
|
11036
10987
|
]
|
|
11037
10988
|
},
|
|
@@ -11300,36 +11251,6 @@
|
|
|
11300
11251
|
"isAbstract": false,
|
|
11301
11252
|
"name": "logout"
|
|
11302
11253
|
},
|
|
11303
|
-
{
|
|
11304
|
-
"kind": "Property",
|
|
11305
|
-
"canonicalReference": "@genesislcap/foundation-comms!DefaultAuth.REAUTH_ACTION_LOCK_KEY:member",
|
|
11306
|
-
"docComment": "",
|
|
11307
|
-
"excerptTokens": [
|
|
11308
|
-
{
|
|
11309
|
-
"kind": "Content",
|
|
11310
|
-
"text": "static REAUTH_ACTION_LOCK_KEY: "
|
|
11311
|
-
},
|
|
11312
|
-
{
|
|
11313
|
-
"kind": "Content",
|
|
11314
|
-
"text": "string"
|
|
11315
|
-
},
|
|
11316
|
-
{
|
|
11317
|
-
"kind": "Content",
|
|
11318
|
-
"text": ";"
|
|
11319
|
-
}
|
|
11320
|
-
],
|
|
11321
|
-
"isReadonly": false,
|
|
11322
|
-
"isOptional": false,
|
|
11323
|
-
"releaseTag": "Public",
|
|
11324
|
-
"name": "REAUTH_ACTION_LOCK_KEY",
|
|
11325
|
-
"propertyTypeTokenRange": {
|
|
11326
|
-
"startIndex": 1,
|
|
11327
|
-
"endIndex": 2
|
|
11328
|
-
},
|
|
11329
|
-
"isStatic": true,
|
|
11330
|
-
"isProtected": false,
|
|
11331
|
-
"isAbstract": false
|
|
11332
|
-
},
|
|
11333
11254
|
{
|
|
11334
11255
|
"kind": "Method",
|
|
11335
11256
|
"canonicalReference": "@genesislcap/foundation-comms!DefaultAuth#reAuthFromSession:member(1)",
|
|
@@ -11449,15 +11370,6 @@
|
|
|
11449
11370
|
"text": "ConnectConfig",
|
|
11450
11371
|
"canonicalReference": "@genesislcap/foundation-comms!ConnectConfig:interface"
|
|
11451
11372
|
},
|
|
11452
|
-
{
|
|
11453
|
-
"kind": "Content",
|
|
11454
|
-
"text": ", user: "
|
|
11455
|
-
},
|
|
11456
|
-
{
|
|
11457
|
-
"kind": "Reference",
|
|
11458
|
-
"text": "User",
|
|
11459
|
-
"canonicalReference": "@genesislcap/foundation-user!User:interface"
|
|
11460
|
-
},
|
|
11461
11373
|
{
|
|
11462
11374
|
"kind": "Content",
|
|
11463
11375
|
"text": ");"
|
|
@@ -11506,14 +11418,6 @@
|
|
|
11506
11418
|
"endIndex": 10
|
|
11507
11419
|
},
|
|
11508
11420
|
"isOptional": false
|
|
11509
|
-
},
|
|
11510
|
-
{
|
|
11511
|
-
"parameterName": "user",
|
|
11512
|
-
"parameterTypeTokenRange": {
|
|
11513
|
-
"startIndex": 11,
|
|
11514
|
-
"endIndex": 12
|
|
11515
|
-
},
|
|
11516
|
-
"isOptional": false
|
|
11517
11421
|
}
|
|
11518
11422
|
]
|
|
11519
11423
|
},
|
|
@@ -12458,41 +12362,6 @@
|
|
|
12458
12362
|
"isAbstract": false,
|
|
12459
12363
|
"name": "send"
|
|
12460
12364
|
},
|
|
12461
|
-
{
|
|
12462
|
-
"kind": "Property",
|
|
12463
|
-
"canonicalReference": "@genesislcap/foundation-comms!DefaultConnect#sessionExpired$:member",
|
|
12464
|
-
"docComment": "/**\n * Emits true when the session is detected as expired (e.g., IS_AUTHENTICATED is false in heartbeat pong). Consumers can subscribe to this to react to session expiration events.\n */\n",
|
|
12465
|
-
"excerptTokens": [
|
|
12466
|
-
{
|
|
12467
|
-
"kind": "Content",
|
|
12468
|
-
"text": "readonly sessionExpired$: "
|
|
12469
|
-
},
|
|
12470
|
-
{
|
|
12471
|
-
"kind": "Reference",
|
|
12472
|
-
"text": "BehaviorSubject",
|
|
12473
|
-
"canonicalReference": "rxjs!BehaviorSubject:class"
|
|
12474
|
-
},
|
|
12475
|
-
{
|
|
12476
|
-
"kind": "Content",
|
|
12477
|
-
"text": "<boolean>"
|
|
12478
|
-
},
|
|
12479
|
-
{
|
|
12480
|
-
"kind": "Content",
|
|
12481
|
-
"text": ";"
|
|
12482
|
-
}
|
|
12483
|
-
],
|
|
12484
|
-
"isReadonly": true,
|
|
12485
|
-
"isOptional": false,
|
|
12486
|
-
"releaseTag": "Public",
|
|
12487
|
-
"name": "sessionExpired$",
|
|
12488
|
-
"propertyTypeTokenRange": {
|
|
12489
|
-
"startIndex": 1,
|
|
12490
|
-
"endIndex": 3
|
|
12491
|
-
},
|
|
12492
|
-
"isStatic": false,
|
|
12493
|
-
"isProtected": false,
|
|
12494
|
-
"isAbstract": false
|
|
12495
|
-
},
|
|
12496
12365
|
{
|
|
12497
12366
|
"kind": "Method",
|
|
12498
12367
|
"canonicalReference": "@genesislcap/foundation-comms!DefaultConnect#setValidSession:member(1)",
|
|
@@ -12996,37 +12865,6 @@
|
|
|
12996
12865
|
"isOptional": false,
|
|
12997
12866
|
"isAbstract": false,
|
|
12998
12867
|
"name": "streamWithoutAutoTeardown"
|
|
12999
|
-
},
|
|
13000
|
-
{
|
|
13001
|
-
"kind": "Property",
|
|
13002
|
-
"canonicalReference": "@genesislcap/foundation-comms!DefaultConnect#user:member",
|
|
13003
|
-
"docComment": "",
|
|
13004
|
-
"excerptTokens": [
|
|
13005
|
-
{
|
|
13006
|
-
"kind": "Content",
|
|
13007
|
-
"text": "protected user: "
|
|
13008
|
-
},
|
|
13009
|
-
{
|
|
13010
|
-
"kind": "Reference",
|
|
13011
|
-
"text": "User",
|
|
13012
|
-
"canonicalReference": "@genesislcap/foundation-user!User:interface"
|
|
13013
|
-
},
|
|
13014
|
-
{
|
|
13015
|
-
"kind": "Content",
|
|
13016
|
-
"text": ";"
|
|
13017
|
-
}
|
|
13018
|
-
],
|
|
13019
|
-
"isReadonly": false,
|
|
13020
|
-
"isOptional": false,
|
|
13021
|
-
"releaseTag": "Public",
|
|
13022
|
-
"name": "user",
|
|
13023
|
-
"propertyTypeTokenRange": {
|
|
13024
|
-
"startIndex": 1,
|
|
13025
|
-
"endIndex": 2
|
|
13026
|
-
},
|
|
13027
|
-
"isStatic": false,
|
|
13028
|
-
"isProtected": true,
|
|
13029
|
-
"isAbstract": false
|
|
13030
12868
|
}
|
|
13031
12869
|
],
|
|
13032
12870
|
"implementsTokenRanges": [
|
|
@@ -23242,54 +23080,6 @@
|
|
|
23242
23080
|
"isProtected": false,
|
|
23243
23081
|
"isAbstract": false
|
|
23244
23082
|
},
|
|
23245
|
-
{
|
|
23246
|
-
"kind": "Method",
|
|
23247
|
-
"canonicalReference": "@genesislcap/foundation-comms!DefaultSocket#updateSessionAndSubscriptions:member(1)",
|
|
23248
|
-
"docComment": "",
|
|
23249
|
-
"excerptTokens": [
|
|
23250
|
-
{
|
|
23251
|
-
"kind": "Content",
|
|
23252
|
-
"text": "updateSessionAndSubscriptions(refreshTokenResult: "
|
|
23253
|
-
},
|
|
23254
|
-
{
|
|
23255
|
-
"kind": "Content",
|
|
23256
|
-
"text": "string"
|
|
23257
|
-
},
|
|
23258
|
-
{
|
|
23259
|
-
"kind": "Content",
|
|
23260
|
-
"text": "): "
|
|
23261
|
-
},
|
|
23262
|
-
{
|
|
23263
|
-
"kind": "Content",
|
|
23264
|
-
"text": "void"
|
|
23265
|
-
},
|
|
23266
|
-
{
|
|
23267
|
-
"kind": "Content",
|
|
23268
|
-
"text": ";"
|
|
23269
|
-
}
|
|
23270
|
-
],
|
|
23271
|
-
"isStatic": false,
|
|
23272
|
-
"returnTypeTokenRange": {
|
|
23273
|
-
"startIndex": 3,
|
|
23274
|
-
"endIndex": 4
|
|
23275
|
-
},
|
|
23276
|
-
"releaseTag": "Public",
|
|
23277
|
-
"isProtected": false,
|
|
23278
|
-
"overloadIndex": 1,
|
|
23279
|
-
"parameters": [
|
|
23280
|
-
{
|
|
23281
|
-
"parameterName": "refreshTokenResult",
|
|
23282
|
-
"parameterTypeTokenRange": {
|
|
23283
|
-
"startIndex": 1,
|
|
23284
|
-
"endIndex": 2
|
|
23285
|
-
},
|
|
23286
|
-
"isOptional": false
|
|
23287
|
-
}
|
|
23288
|
-
],
|
|
23289
|
-
"isOptional": false,
|
|
23290
|
-
"isAbstract": false,
|
|
23291
|
-
"name": "updateSessionAndSubscriptions"
|
|
23292
|
-
},
|
|
23293
23083
|
{
|
|
23294
23084
|
"kind": "Property",
|
|
23295
23085
|
"canonicalReference": "@genesislcap/foundation-comms!DefaultSocket#user:member",
|
|
@@ -29469,7 +29259,7 @@
|
|
|
29469
29259
|
},
|
|
29470
29260
|
{
|
|
29471
29261
|
"kind": "Content",
|
|
29472
|
-
"text": "{\n DAYS_TO_PASSWORD_EXPIRY: number;\n FAILED_LOGIN_ATTEMPTS: number;\n HEARTBEAT_INTERVAL_SECS: number;\n LAST_LOGIN_DATETIME: number;\n NOTIFY_EXPIRY?: boolean;\n PRODUCT?: any[];\n SYSTEM?: any;\n
|
|
29262
|
+
"text": "{\n DAYS_TO_PASSWORD_EXPIRY: number;\n FAILED_LOGIN_ATTEMPTS: number;\n HEARTBEAT_INTERVAL_SECS: number;\n LAST_LOGIN_DATETIME: number;\n NOTIFY_EXPIRY?: boolean;\n PRODUCT?: any[];\n SYSTEM?: any;\n }"
|
|
29473
29263
|
},
|
|
29474
29264
|
{
|
|
29475
29265
|
"kind": "Content",
|
|
@@ -31787,7 +31577,7 @@
|
|
|
31787
31577
|
},
|
|
31788
31578
|
{
|
|
31789
31579
|
"kind": "Content",
|
|
31790
|
-
"text": "[];\n SOURCE_REF: string;\n MORE_ROWS: boolean;\n ROWS_COUNT: number;\n SEQUENCE_ID: number;\n
|
|
31580
|
+
"text": "[];\n SOURCE_REF: string;\n MORE_ROWS: boolean;\n ROWS_COUNT: number;\n SEQUENCE_ID: number;\n}"
|
|
31791
31581
|
},
|
|
31792
31582
|
{
|
|
31793
31583
|
"kind": "Content",
|
|
@@ -34235,51 +34025,6 @@
|
|
|
34235
34025
|
"overloadIndex": 1,
|
|
34236
34026
|
"parameters": [],
|
|
34237
34027
|
"name": "socketMessages"
|
|
34238
|
-
},
|
|
34239
|
-
{
|
|
34240
|
-
"kind": "MethodSignature",
|
|
34241
|
-
"canonicalReference": "@genesislcap/foundation-comms!Socket#updateSessionAndSubscriptions:member(1)",
|
|
34242
|
-
"docComment": "/**\n * Updates the session and subscriptions with the new session token.\n *\n * @param refreshTokenResult - The refresh token result.\n */\n",
|
|
34243
|
-
"excerptTokens": [
|
|
34244
|
-
{
|
|
34245
|
-
"kind": "Content",
|
|
34246
|
-
"text": "updateSessionAndSubscriptions(refreshToken: "
|
|
34247
|
-
},
|
|
34248
|
-
{
|
|
34249
|
-
"kind": "Content",
|
|
34250
|
-
"text": "string"
|
|
34251
|
-
},
|
|
34252
|
-
{
|
|
34253
|
-
"kind": "Content",
|
|
34254
|
-
"text": "): "
|
|
34255
|
-
},
|
|
34256
|
-
{
|
|
34257
|
-
"kind": "Content",
|
|
34258
|
-
"text": "void"
|
|
34259
|
-
},
|
|
34260
|
-
{
|
|
34261
|
-
"kind": "Content",
|
|
34262
|
-
"text": ";"
|
|
34263
|
-
}
|
|
34264
|
-
],
|
|
34265
|
-
"isOptional": false,
|
|
34266
|
-
"returnTypeTokenRange": {
|
|
34267
|
-
"startIndex": 3,
|
|
34268
|
-
"endIndex": 4
|
|
34269
|
-
},
|
|
34270
|
-
"releaseTag": "Public",
|
|
34271
|
-
"overloadIndex": 1,
|
|
34272
|
-
"parameters": [
|
|
34273
|
-
{
|
|
34274
|
-
"parameterName": "refreshToken",
|
|
34275
|
-
"parameterTypeTokenRange": {
|
|
34276
|
-
"startIndex": 1,
|
|
34277
|
-
"endIndex": 2
|
|
34278
|
-
},
|
|
34279
|
-
"isOptional": false
|
|
34280
|
-
}
|
|
34281
|
-
],
|
|
34282
|
-
"name": "updateSessionAndSubscriptions"
|
|
34283
34028
|
}
|
|
34284
34029
|
],
|
|
34285
34030
|
"extendsTokenRanges": [
|