@genesislcap/foundation-comms 14.306.1-alpha-d9f5c36.0 → 14.306.2-alpha-9324131.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/dist/dts/auth/auth.d.ts +19 -2
- package/dist/dts/auth/auth.d.ts.map +1 -1
- package/dist/dts/connect/connect.d.ts +14 -2
- package/dist/dts/connect/connect.d.ts.map +1 -1
- package/dist/dts/connect/message.d.ts +1 -0
- package/dist/dts/connect/message.d.ts.map +1 -1
- package/dist/dts/connect/socket.d.ts +6 -11
- package/dist/dts/connect/socket.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/connect.d.ts +1 -0
- package/dist/dts/testing/mocks/connect/connect.d.ts.map +1 -1
- package/dist/dts/testing/mocks/connect/socket.d.ts +5 -2
- package/dist/dts/testing/mocks/connect/socket.d.ts.map +1 -1
- package/dist/esm/auth/auth.js +91 -5
- package/dist/esm/connect/connect.js +21 -4
- package/dist/esm/connect/socket.js +15 -86
- package/dist/esm/testing/mocks/connect/connect.js +2 -1
- package/dist/esm/testing/mocks/connect/socket.js +8 -1
- package/dist/foundation-comms.api.json +256 -1
- package/dist/foundation-comms.d.ts +51 -23
- package/docs/api/foundation-comms.connect.md +21 -0
- package/docs/api/foundation-comms.connect.sessionexpired_.md +13 -0
- package/docs/api/foundation-comms.defaultauth._constructor_.md +15 -1
- package/docs/api/foundation-comms.defaultauth.md +20 -1
- package/docs/api/foundation-comms.defaultauth.reauth_action_lock_key.md +11 -0
- package/docs/api/foundation-comms.defaultconnect._constructor_.md +15 -1
- package/docs/api/foundation-comms.defaultconnect.md +41 -1
- package/docs/api/foundation-comms.defaultconnect.sessionexpired_.md +13 -0
- package/docs/api/foundation-comms.defaultconnect.user.md +11 -0
- package/docs/api/foundation-comms.defaultsocket.md +12 -0
- package/docs/api/foundation-comms.defaultsocket.updatesessionandsubscriptions.md +50 -0
- package/docs/api/foundation-comms.messagedetails.loggedinsysteminfo.md +1 -0
- package/docs/api/foundation-comms.socket.md +11 -0
- package/docs/api/foundation-comms.socket.updatesessionandsubscriptions.md +52 -0
- package/docs/api-report.md.api.md +31 -13
- package/package.json +13 -13
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
var DefaultSocket_1;
|
|
2
1
|
import { __awaiter, __decorate, __param } from "tslib";
|
|
3
2
|
import { User } from '@genesislcap/foundation-user';
|
|
4
|
-
import { LOGIN_DETAILS_URL, LOGIN_URL } from '@genesislcap/foundation-utils';
|
|
5
3
|
import { GENESIS_SOCKET_URL, JSONSerializer, UUID } from '@genesislcap/foundation-utils';
|
|
6
4
|
import { DOM, observable } from '@microsoft/fast-element';
|
|
7
5
|
import { DI } from '@microsoft/fast-foundation';
|
|
@@ -85,7 +83,7 @@ export class SocketMessageHandler {
|
|
|
85
83
|
* Default Socket implementation.
|
|
86
84
|
* @public
|
|
87
85
|
*/
|
|
88
|
-
let DefaultSocket =
|
|
86
|
+
let DefaultSocket = class DefaultSocket {
|
|
89
87
|
get isConfigured() {
|
|
90
88
|
return this.status.isConfigured;
|
|
91
89
|
}
|
|
@@ -203,6 +201,14 @@ let DefaultSocket = DefaultSocket_1 = class DefaultSocket {
|
|
|
203
201
|
switch (receivedMessage.MESSAGE_TYPE) {
|
|
204
202
|
case EventMessageType.EVENT_LOGIN_AUTH_ACK: {
|
|
205
203
|
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);
|
|
206
212
|
// Reconfigures the heartbeat with system details from the login response
|
|
207
213
|
if (systemDetails.HEARTBEAT_INTERVAL_SECS &&
|
|
208
214
|
((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.heartbeatInterval) === undefined) {
|
|
@@ -268,85 +274,14 @@ let DefaultSocket = DefaultSocket_1 = class DefaultSocket {
|
|
|
268
274
|
this.status.isConfigured = true;
|
|
269
275
|
});
|
|
270
276
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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));
|
|
277
|
+
updateSessionAndSubscriptions(refreshTokenResult) {
|
|
278
|
+
this.wsMessageHandlers.forEach((mh) => {
|
|
279
|
+
if (mh.isSubscription) {
|
|
280
|
+
mh.sentMessage.SESSION_AUTH_TOKEN = refreshTokenResult;
|
|
281
|
+
this.websocket.next(mh.sentMessage);
|
|
331
282
|
}
|
|
332
283
|
});
|
|
333
284
|
}
|
|
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
|
-
}
|
|
350
285
|
prepareHeartbeat() {
|
|
351
286
|
var _a, _b, _c, _d;
|
|
352
287
|
if (this.heartbeatTicker) {
|
|
@@ -361,11 +296,6 @@ let DefaultSocket = DefaultSocket_1 = class DefaultSocket {
|
|
|
361
296
|
this.connectOptions.heartbeatPingCallback(ping);
|
|
362
297
|
}
|
|
363
298
|
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
|
-
}
|
|
369
299
|
if ((_c = this.connectOptions) === null || _c === void 0 ? void 0 : _c.heartbeatPongCallback) {
|
|
370
300
|
this.connectOptions.heartbeatPongCallback(pong);
|
|
371
301
|
}
|
|
@@ -552,7 +482,6 @@ let DefaultSocket = DefaultSocket_1 = class DefaultSocket {
|
|
|
552
482
|
}
|
|
553
483
|
}
|
|
554
484
|
};
|
|
555
|
-
DefaultSocket.REAUTH_ACTION_LOCK_KEY = 'reauthActionLock';
|
|
556
485
|
__decorate([
|
|
557
486
|
observable
|
|
558
487
|
], DefaultSocket.prototype, "websocket", void 0);
|
|
@@ -568,7 +497,7 @@ __decorate([
|
|
|
568
497
|
__decorate([
|
|
569
498
|
observable
|
|
570
499
|
], DefaultSocket.prototype, "heartbeatIsEnabled", void 0);
|
|
571
|
-
DefaultSocket =
|
|
500
|
+
DefaultSocket = __decorate([
|
|
572
501
|
__param(0, MessageBuilder),
|
|
573
502
|
__param(1, Session),
|
|
574
503
|
__param(2, JSONSerializer),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { from } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, from } from 'rxjs';
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
@@ -7,6 +7,7 @@ export class ConnectMock {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.isConnected = true;
|
|
9
9
|
this.isWorking = false;
|
|
10
|
+
this.sessionExpired$ = new BehaviorSubject(false);
|
|
10
11
|
}
|
|
11
12
|
get host() {
|
|
12
13
|
return this.socket.host;
|
|
@@ -8,6 +8,7 @@ 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();
|
|
11
12
|
}
|
|
12
13
|
connect(host, options, reconnectOptions) {
|
|
13
14
|
this.host = host;
|
|
@@ -26,7 +27,13 @@ export class SocketMock {
|
|
|
26
27
|
socketMessages() {
|
|
27
28
|
return this.socketMessagesSubject;
|
|
28
29
|
}
|
|
30
|
+
sessionExpired() {
|
|
31
|
+
return this.sessionExpiredSubject;
|
|
32
|
+
}
|
|
33
|
+
updateSessionAndSubscriptions(refreshToken) {
|
|
34
|
+
// mock: do nothing
|
|
35
|
+
}
|
|
29
36
|
reset() {
|
|
30
|
-
|
|
37
|
+
// mock: do nothing
|
|
31
38
|
}
|
|
32
39
|
}
|
|
@@ -2108,6 +2108,38 @@
|
|
|
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
|
+
},
|
|
2111
2143
|
{
|
|
2112
2144
|
"kind": "MethodSignature",
|
|
2113
2145
|
"canonicalReference": "@genesislcap/foundation-comms!Connect#snapshot:member(1)",
|
|
@@ -10935,6 +10967,15 @@
|
|
|
10935
10967
|
"text": "User",
|
|
10936
10968
|
"canonicalReference": "@genesislcap/foundation-user!User:interface"
|
|
10937
10969
|
},
|
|
10970
|
+
{
|
|
10971
|
+
"kind": "Content",
|
|
10972
|
+
"text": ", socket: "
|
|
10973
|
+
},
|
|
10974
|
+
{
|
|
10975
|
+
"kind": "Reference",
|
|
10976
|
+
"text": "Socket",
|
|
10977
|
+
"canonicalReference": "@genesislcap/foundation-comms!Socket:interface"
|
|
10978
|
+
},
|
|
10938
10979
|
{
|
|
10939
10980
|
"kind": "Content",
|
|
10940
10981
|
"text": ");"
|
|
@@ -10983,6 +11024,14 @@
|
|
|
10983
11024
|
"endIndex": 10
|
|
10984
11025
|
},
|
|
10985
11026
|
"isOptional": false
|
|
11027
|
+
},
|
|
11028
|
+
{
|
|
11029
|
+
"parameterName": "socket",
|
|
11030
|
+
"parameterTypeTokenRange": {
|
|
11031
|
+
"startIndex": 11,
|
|
11032
|
+
"endIndex": 12
|
|
11033
|
+
},
|
|
11034
|
+
"isOptional": false
|
|
10986
11035
|
}
|
|
10987
11036
|
]
|
|
10988
11037
|
},
|
|
@@ -11251,6 +11300,36 @@
|
|
|
11251
11300
|
"isAbstract": false,
|
|
11252
11301
|
"name": "logout"
|
|
11253
11302
|
},
|
|
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
|
+
},
|
|
11254
11333
|
{
|
|
11255
11334
|
"kind": "Method",
|
|
11256
11335
|
"canonicalReference": "@genesislcap/foundation-comms!DefaultAuth#reAuthFromSession:member(1)",
|
|
@@ -11370,6 +11449,15 @@
|
|
|
11370
11449
|
"text": "ConnectConfig",
|
|
11371
11450
|
"canonicalReference": "@genesislcap/foundation-comms!ConnectConfig:interface"
|
|
11372
11451
|
},
|
|
11452
|
+
{
|
|
11453
|
+
"kind": "Content",
|
|
11454
|
+
"text": ", user: "
|
|
11455
|
+
},
|
|
11456
|
+
{
|
|
11457
|
+
"kind": "Reference",
|
|
11458
|
+
"text": "User",
|
|
11459
|
+
"canonicalReference": "@genesislcap/foundation-user!User:interface"
|
|
11460
|
+
},
|
|
11373
11461
|
{
|
|
11374
11462
|
"kind": "Content",
|
|
11375
11463
|
"text": ");"
|
|
@@ -11418,6 +11506,14 @@
|
|
|
11418
11506
|
"endIndex": 10
|
|
11419
11507
|
},
|
|
11420
11508
|
"isOptional": false
|
|
11509
|
+
},
|
|
11510
|
+
{
|
|
11511
|
+
"parameterName": "user",
|
|
11512
|
+
"parameterTypeTokenRange": {
|
|
11513
|
+
"startIndex": 11,
|
|
11514
|
+
"endIndex": 12
|
|
11515
|
+
},
|
|
11516
|
+
"isOptional": false
|
|
11421
11517
|
}
|
|
11422
11518
|
]
|
|
11423
11519
|
},
|
|
@@ -12362,6 +12458,41 @@
|
|
|
12362
12458
|
"isAbstract": false,
|
|
12363
12459
|
"name": "send"
|
|
12364
12460
|
},
|
|
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
|
+
},
|
|
12365
12496
|
{
|
|
12366
12497
|
"kind": "Method",
|
|
12367
12498
|
"canonicalReference": "@genesislcap/foundation-comms!DefaultConnect#setValidSession:member(1)",
|
|
@@ -12865,6 +12996,37 @@
|
|
|
12865
12996
|
"isOptional": false,
|
|
12866
12997
|
"isAbstract": false,
|
|
12867
12998
|
"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
|
|
12868
13030
|
}
|
|
12869
13031
|
],
|
|
12870
13032
|
"implementsTokenRanges": [
|
|
@@ -23080,6 +23242,54 @@
|
|
|
23080
23242
|
"isProtected": false,
|
|
23081
23243
|
"isAbstract": false
|
|
23082
23244
|
},
|
|
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
|
+
},
|
|
23083
23293
|
{
|
|
23084
23294
|
"kind": "Property",
|
|
23085
23295
|
"canonicalReference": "@genesislcap/foundation-comms!DefaultSocket#user:member",
|
|
@@ -29259,7 +29469,7 @@
|
|
|
29259
29469
|
},
|
|
29260
29470
|
{
|
|
29261
29471
|
"kind": "Content",
|
|
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 }"
|
|
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 SESSION_TIMEOUT_MINS?: number;\n }"
|
|
29263
29473
|
},
|
|
29264
29474
|
{
|
|
29265
29475
|
"kind": "Content",
|
|
@@ -34025,6 +34235,51 @@
|
|
|
34025
34235
|
"overloadIndex": 1,
|
|
34026
34236
|
"parameters": [],
|
|
34027
34237
|
"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"
|
|
34028
34283
|
}
|
|
34029
34284
|
],
|
|
34030
34285
|
"extendsTokenRanges": [
|