@medrunner/api-client 0.2.6 → 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/dist/index.d.mts +21 -11
- package/dist/index.d.ts +21 -11
- package/dist/index.js +77 -46
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +77 -46
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -40,6 +40,15 @@ interface ApiConfig {
|
|
|
40
40
|
baseUrl?: string;
|
|
41
41
|
accessToken?: string;
|
|
42
42
|
refreshToken?: string;
|
|
43
|
+
cookieAuth?: boolean;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare class DefaultApiConfig {
|
|
47
|
+
readonly baseUrl: string;
|
|
48
|
+
readonly accessToken?: string;
|
|
49
|
+
readonly refreshToken?: string;
|
|
50
|
+
readonly cookieAuth: boolean;
|
|
51
|
+
constructor(config: ApiConfig);
|
|
43
52
|
}
|
|
44
53
|
|
|
45
54
|
declare class TokenManager extends ApiEndpoint {
|
|
@@ -49,7 +58,7 @@ declare class TokenManager extends ApiEndpoint {
|
|
|
49
58
|
private accessTokenExpiration?;
|
|
50
59
|
private refreshTokenExpiration?;
|
|
51
60
|
private tokenFetchPromise?;
|
|
52
|
-
constructor(config:
|
|
61
|
+
constructor(config: DefaultApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
|
|
53
62
|
protected endpoint(): string;
|
|
54
63
|
getAccessToken(source?: string): Promise<string | undefined>;
|
|
55
64
|
private fetchToken;
|
|
@@ -59,8 +68,8 @@ declare abstract class ApiEndpoint {
|
|
|
59
68
|
readonly tokenManager: TokenManager;
|
|
60
69
|
protected readonly log?: Logger | undefined;
|
|
61
70
|
private readonly headerProvider?;
|
|
62
|
-
readonly
|
|
63
|
-
protected constructor(
|
|
71
|
+
readonly config: DefaultApiConfig;
|
|
72
|
+
protected constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
|
|
64
73
|
protected abstract endpoint(): string;
|
|
65
74
|
protected endpointUrl(): string;
|
|
66
75
|
private headersForRequest;
|
|
@@ -89,7 +98,7 @@ interface SignOutRequest {
|
|
|
89
98
|
}
|
|
90
99
|
|
|
91
100
|
declare class AuthEndpoint extends ApiEndpoint {
|
|
92
|
-
constructor(
|
|
101
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
93
102
|
protected endpoint(): string;
|
|
94
103
|
signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
|
|
95
104
|
getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
|
|
@@ -115,7 +124,7 @@ interface ChatMessageRequest {
|
|
|
115
124
|
}
|
|
116
125
|
|
|
117
126
|
declare class ChatMessageEndpoint extends ApiEndpoint {
|
|
118
|
-
constructor(
|
|
127
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
119
128
|
protected endpoint(): string;
|
|
120
129
|
getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
|
|
121
130
|
sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
|
|
@@ -188,7 +197,7 @@ declare enum CodeType {
|
|
|
188
197
|
}
|
|
189
198
|
|
|
190
199
|
declare class ClientEndpoint extends ApiEndpoint {
|
|
191
|
-
constructor(
|
|
200
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
192
201
|
protected endpoint(): string;
|
|
193
202
|
get(): Promise<ApiResponse<Person>>;
|
|
194
203
|
getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
|
|
@@ -200,7 +209,7 @@ declare class ClientEndpoint extends ApiEndpoint {
|
|
|
200
209
|
}
|
|
201
210
|
|
|
202
211
|
declare class CodeEndpoint extends ApiEndpoint {
|
|
203
|
-
constructor(
|
|
212
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
204
213
|
protected endpoint(): string;
|
|
205
214
|
redeem(code: string): Promise<ApiResponse>;
|
|
206
215
|
}
|
|
@@ -420,7 +429,7 @@ interface ResponderDetails {
|
|
|
420
429
|
}
|
|
421
430
|
|
|
422
431
|
declare class EmergencyEndpoint extends ApiEndpoint {
|
|
423
|
-
constructor(
|
|
432
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
424
433
|
protected endpoint(): string;
|
|
425
434
|
getEmergency(id: string): Promise<ApiResponse<Emergency>>;
|
|
426
435
|
getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
|
|
@@ -438,6 +447,7 @@ interface PublicOrgSettings {
|
|
|
438
447
|
status: ServiceStatus;
|
|
439
448
|
emergenciesEnabled: boolean;
|
|
440
449
|
anonymousAlertsEnabled: boolean;
|
|
450
|
+
registrationEnabled: boolean;
|
|
441
451
|
messageOfTheDay?: MessageOfTheDay;
|
|
442
452
|
locationSettings: LocationSettings;
|
|
443
453
|
}
|
|
@@ -473,7 +483,7 @@ declare enum ServiceStatus {
|
|
|
473
483
|
}
|
|
474
484
|
|
|
475
485
|
declare class OrgSettingsEndpoint extends ApiEndpoint {
|
|
476
|
-
constructor(
|
|
486
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
477
487
|
protected endpoint(): string;
|
|
478
488
|
getPublicSettings(): Promise<ApiResponse<PublicOrgSettings>>;
|
|
479
489
|
}
|
|
@@ -484,13 +494,13 @@ interface MedalInformation {
|
|
|
484
494
|
}
|
|
485
495
|
|
|
486
496
|
declare class StaffEndpoint extends ApiEndpoint {
|
|
487
|
-
constructor(
|
|
497
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
488
498
|
protected endpoint(): string;
|
|
489
499
|
medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
|
|
490
500
|
}
|
|
491
501
|
|
|
492
502
|
declare class WebsocketEndpoint extends ApiEndpoint {
|
|
493
|
-
constructor(
|
|
503
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
494
504
|
private websocketManager;
|
|
495
505
|
protected endpoint(): string;
|
|
496
506
|
initialize(): Promise<HubConnection>;
|
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,15 @@ interface ApiConfig {
|
|
|
40
40
|
baseUrl?: string;
|
|
41
41
|
accessToken?: string;
|
|
42
42
|
refreshToken?: string;
|
|
43
|
+
cookieAuth?: boolean;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare class DefaultApiConfig {
|
|
47
|
+
readonly baseUrl: string;
|
|
48
|
+
readonly accessToken?: string;
|
|
49
|
+
readonly refreshToken?: string;
|
|
50
|
+
readonly cookieAuth: boolean;
|
|
51
|
+
constructor(config: ApiConfig);
|
|
43
52
|
}
|
|
44
53
|
|
|
45
54
|
declare class TokenManager extends ApiEndpoint {
|
|
@@ -49,7 +58,7 @@ declare class TokenManager extends ApiEndpoint {
|
|
|
49
58
|
private accessTokenExpiration?;
|
|
50
59
|
private refreshTokenExpiration?;
|
|
51
60
|
private tokenFetchPromise?;
|
|
52
|
-
constructor(config:
|
|
61
|
+
constructor(config: DefaultApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
|
|
53
62
|
protected endpoint(): string;
|
|
54
63
|
getAccessToken(source?: string): Promise<string | undefined>;
|
|
55
64
|
private fetchToken;
|
|
@@ -59,8 +68,8 @@ declare abstract class ApiEndpoint {
|
|
|
59
68
|
readonly tokenManager: TokenManager;
|
|
60
69
|
protected readonly log?: Logger | undefined;
|
|
61
70
|
private readonly headerProvider?;
|
|
62
|
-
readonly
|
|
63
|
-
protected constructor(
|
|
71
|
+
readonly config: DefaultApiConfig;
|
|
72
|
+
protected constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
|
|
64
73
|
protected abstract endpoint(): string;
|
|
65
74
|
protected endpointUrl(): string;
|
|
66
75
|
private headersForRequest;
|
|
@@ -89,7 +98,7 @@ interface SignOutRequest {
|
|
|
89
98
|
}
|
|
90
99
|
|
|
91
100
|
declare class AuthEndpoint extends ApiEndpoint {
|
|
92
|
-
constructor(
|
|
101
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
93
102
|
protected endpoint(): string;
|
|
94
103
|
signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
|
|
95
104
|
getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
|
|
@@ -115,7 +124,7 @@ interface ChatMessageRequest {
|
|
|
115
124
|
}
|
|
116
125
|
|
|
117
126
|
declare class ChatMessageEndpoint extends ApiEndpoint {
|
|
118
|
-
constructor(
|
|
127
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
119
128
|
protected endpoint(): string;
|
|
120
129
|
getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
|
|
121
130
|
sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
|
|
@@ -188,7 +197,7 @@ declare enum CodeType {
|
|
|
188
197
|
}
|
|
189
198
|
|
|
190
199
|
declare class ClientEndpoint extends ApiEndpoint {
|
|
191
|
-
constructor(
|
|
200
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
192
201
|
protected endpoint(): string;
|
|
193
202
|
get(): Promise<ApiResponse<Person>>;
|
|
194
203
|
getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
|
|
@@ -200,7 +209,7 @@ declare class ClientEndpoint extends ApiEndpoint {
|
|
|
200
209
|
}
|
|
201
210
|
|
|
202
211
|
declare class CodeEndpoint extends ApiEndpoint {
|
|
203
|
-
constructor(
|
|
212
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
204
213
|
protected endpoint(): string;
|
|
205
214
|
redeem(code: string): Promise<ApiResponse>;
|
|
206
215
|
}
|
|
@@ -420,7 +429,7 @@ interface ResponderDetails {
|
|
|
420
429
|
}
|
|
421
430
|
|
|
422
431
|
declare class EmergencyEndpoint extends ApiEndpoint {
|
|
423
|
-
constructor(
|
|
432
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
424
433
|
protected endpoint(): string;
|
|
425
434
|
getEmergency(id: string): Promise<ApiResponse<Emergency>>;
|
|
426
435
|
getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
|
|
@@ -438,6 +447,7 @@ interface PublicOrgSettings {
|
|
|
438
447
|
status: ServiceStatus;
|
|
439
448
|
emergenciesEnabled: boolean;
|
|
440
449
|
anonymousAlertsEnabled: boolean;
|
|
450
|
+
registrationEnabled: boolean;
|
|
441
451
|
messageOfTheDay?: MessageOfTheDay;
|
|
442
452
|
locationSettings: LocationSettings;
|
|
443
453
|
}
|
|
@@ -473,7 +483,7 @@ declare enum ServiceStatus {
|
|
|
473
483
|
}
|
|
474
484
|
|
|
475
485
|
declare class OrgSettingsEndpoint extends ApiEndpoint {
|
|
476
|
-
constructor(
|
|
486
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
477
487
|
protected endpoint(): string;
|
|
478
488
|
getPublicSettings(): Promise<ApiResponse<PublicOrgSettings>>;
|
|
479
489
|
}
|
|
@@ -484,13 +494,13 @@ interface MedalInformation {
|
|
|
484
494
|
}
|
|
485
495
|
|
|
486
496
|
declare class StaffEndpoint extends ApiEndpoint {
|
|
487
|
-
constructor(
|
|
497
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
488
498
|
protected endpoint(): string;
|
|
489
499
|
medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
|
|
490
500
|
}
|
|
491
501
|
|
|
492
502
|
declare class WebsocketEndpoint extends ApiEndpoint {
|
|
493
|
-
constructor(
|
|
503
|
+
constructor(config: DefaultApiConfig, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
494
504
|
private websocketManager;
|
|
495
505
|
protected endpoint(): string;
|
|
496
506
|
initialize(): Promise<HubConnection>;
|
package/dist/index.js
CHANGED
|
@@ -65,23 +65,24 @@ module.exports = __toCommonJS(src_exports);
|
|
|
65
65
|
// src/api/endpoints/ApiEndpoint.ts
|
|
66
66
|
var import_axios = __toESM(require("axios"));
|
|
67
67
|
var ApiEndpoint = class {
|
|
68
|
-
constructor(
|
|
68
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
69
69
|
this.tokenManager = tokenManager;
|
|
70
70
|
this.log = log;
|
|
71
71
|
this.headerProvider = headerProvider;
|
|
72
|
-
this.
|
|
72
|
+
this.config = config;
|
|
73
73
|
}
|
|
74
74
|
static {
|
|
75
75
|
__name(this, "ApiEndpoint");
|
|
76
76
|
}
|
|
77
|
-
|
|
77
|
+
config;
|
|
78
78
|
endpointUrl() {
|
|
79
|
-
return `${this.baseUrl}/${this.endpoint()}`;
|
|
79
|
+
return `${this.config.baseUrl}/${this.endpoint()}`;
|
|
80
80
|
}
|
|
81
81
|
async headersForRequest(noAuthentication) {
|
|
82
82
|
const config = {
|
|
83
|
-
baseURL: this.baseUrl,
|
|
84
|
-
headers: {}
|
|
83
|
+
baseURL: this.config.baseUrl,
|
|
84
|
+
headers: {},
|
|
85
|
+
withCredentials: this.config.cookieAuth
|
|
85
86
|
};
|
|
86
87
|
if (config.headers !== void 0) {
|
|
87
88
|
if (!noAuthentication) {
|
|
@@ -163,8 +164,8 @@ var AuthEndpoint = class extends ApiEndpoint {
|
|
|
163
164
|
static {
|
|
164
165
|
__name(this, "AuthEndpoint");
|
|
165
166
|
}
|
|
166
|
-
constructor(
|
|
167
|
-
super(
|
|
167
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
168
|
+
super(config, tokenManager, log, headerProvider);
|
|
168
169
|
}
|
|
169
170
|
endpoint() {
|
|
170
171
|
return "auth";
|
|
@@ -214,7 +215,7 @@ var AuthEndpoint = class extends ApiEndpoint {
|
|
|
214
215
|
// src/api/endpoints/auth/TokenManager.ts
|
|
215
216
|
var TokenManager = class extends ApiEndpoint {
|
|
216
217
|
constructor(config, refreshCallback, log, headerProvider) {
|
|
217
|
-
super(config
|
|
218
|
+
super(config, null, log, headerProvider);
|
|
218
219
|
this.refreshCallback = refreshCallback;
|
|
219
220
|
this.accessToken = config.accessToken;
|
|
220
221
|
this.refreshToken = config.refreshToken;
|
|
@@ -232,15 +233,19 @@ var TokenManager = class extends ApiEndpoint {
|
|
|
232
233
|
}
|
|
233
234
|
async getAccessToken(source = "unknown") {
|
|
234
235
|
this.log?.debug(`getAccessToken: New token requested from ${source}`);
|
|
235
|
-
if (this.accessToken !== void 0 && this.accessTokenExpiration !== void 0) {
|
|
236
|
+
if ((this.accessToken !== void 0 || this.config.cookieAuth) && this.accessTokenExpiration !== void 0) {
|
|
236
237
|
const exp = Math.trunc(new Date(this.accessTokenExpiration).getTime() / 1e3);
|
|
237
238
|
const now = Math.trunc(Date.now() / 1e3);
|
|
238
239
|
if (exp - 300 > now) {
|
|
239
240
|
this.log?.debug(`getAccessToken: ${source} => Token valid and simply returned`);
|
|
240
|
-
|
|
241
|
+
if (!this.config.cookieAuth) {
|
|
242
|
+
return this.accessToken;
|
|
243
|
+
} else {
|
|
244
|
+
return void 0;
|
|
245
|
+
}
|
|
241
246
|
}
|
|
242
247
|
}
|
|
243
|
-
if (this.refreshToken === void 0) {
|
|
248
|
+
if (this.refreshToken === void 0 && !this.config.cookieAuth) {
|
|
244
249
|
this.log?.debug(`getAccessToken: ${source} => Missing refresh token, returning stored access token`);
|
|
245
250
|
return this.accessToken;
|
|
246
251
|
}
|
|
@@ -251,9 +256,11 @@ var TokenManager = class extends ApiEndpoint {
|
|
|
251
256
|
try {
|
|
252
257
|
this.log?.debug(`getAccessToken: ${source} => Waiting for token fetch to complete`);
|
|
253
258
|
const tokens = await this.tokenFetchPromise;
|
|
254
|
-
this.log?.debug(`getAccessToken: ${source} => Setting new tokens in memory`);
|
|
255
|
-
this.
|
|
256
|
-
|
|
259
|
+
this.log?.debug(`getAccessToken: ${source} => Setting new tokens in memory if no cookieAuth`);
|
|
260
|
+
if (!this.config.cookieAuth) {
|
|
261
|
+
this.accessToken = tokens.accessToken;
|
|
262
|
+
this.refreshToken = tokens.refreshToken;
|
|
263
|
+
}
|
|
257
264
|
this.accessTokenExpiration = tokens.accessTokenExpiration;
|
|
258
265
|
if (tokens.refreshTokenExpiration) this.refreshTokenExpiration = tokens.refreshTokenExpiration;
|
|
259
266
|
if (this.refreshCallback !== void 0) {
|
|
@@ -264,11 +271,16 @@ var TokenManager = class extends ApiEndpoint {
|
|
|
264
271
|
this.tokenFetchPromise = void 0;
|
|
265
272
|
}
|
|
266
273
|
this.log?.debug(`getAccessToken: ${source} => Returning new access token`);
|
|
267
|
-
|
|
274
|
+
if (!this.config.cookieAuth) {
|
|
275
|
+
return this.accessToken;
|
|
276
|
+
} else {
|
|
277
|
+
return void 0;
|
|
278
|
+
}
|
|
268
279
|
}
|
|
269
280
|
async fetchToken(refreshToken, source = "unknown") {
|
|
270
281
|
this.log?.debug(`getAccessToken: ${source} => Fetching new tokens`);
|
|
271
|
-
const
|
|
282
|
+
const body = this.config.cookieAuth ? void 0 : { refreshToken };
|
|
283
|
+
const result = await this.postRequest("/exchange", body, true);
|
|
272
284
|
if (!result.success || result.data === void 0) {
|
|
273
285
|
throw Error(result.statusCode?.toString());
|
|
274
286
|
}
|
|
@@ -282,8 +294,8 @@ var ChatMessageEndpoint = class extends ApiEndpoint {
|
|
|
282
294
|
static {
|
|
283
295
|
__name(this, "ChatMessageEndpoint");
|
|
284
296
|
}
|
|
285
|
-
constructor(
|
|
286
|
-
super(
|
|
297
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
298
|
+
super(config, tokenManager, log, headerProvider);
|
|
287
299
|
}
|
|
288
300
|
endpoint() {
|
|
289
301
|
return "chatMessage";
|
|
@@ -315,8 +327,8 @@ var ClientEndpoint = class extends ApiEndpoint {
|
|
|
315
327
|
static {
|
|
316
328
|
__name(this, "ClientEndpoint");
|
|
317
329
|
}
|
|
318
|
-
constructor(
|
|
319
|
-
super(
|
|
330
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
331
|
+
super(config, tokenManager, log, headerProvider);
|
|
320
332
|
}
|
|
321
333
|
endpoint() {
|
|
322
334
|
return "client";
|
|
@@ -383,8 +395,8 @@ var CodeEndpoint = class extends ApiEndpoint {
|
|
|
383
395
|
static {
|
|
384
396
|
__name(this, "CodeEndpoint");
|
|
385
397
|
}
|
|
386
|
-
constructor(
|
|
387
|
-
super(
|
|
398
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
399
|
+
super(config, tokenManager, log, headerProvider);
|
|
388
400
|
}
|
|
389
401
|
endpoint() {
|
|
390
402
|
return "code";
|
|
@@ -399,13 +411,30 @@ var CodeEndpoint = class extends ApiEndpoint {
|
|
|
399
411
|
}
|
|
400
412
|
};
|
|
401
413
|
|
|
414
|
+
// src/api/endpoints/DefaultApiConfig.ts
|
|
415
|
+
var DefaultApiConfig = class {
|
|
416
|
+
static {
|
|
417
|
+
__name(this, "DefaultApiConfig");
|
|
418
|
+
}
|
|
419
|
+
baseUrl;
|
|
420
|
+
accessToken;
|
|
421
|
+
refreshToken;
|
|
422
|
+
cookieAuth;
|
|
423
|
+
constructor(config) {
|
|
424
|
+
this.baseUrl = config.baseUrl ?? "https://api.medrunner.space";
|
|
425
|
+
this.accessToken = config.accessToken;
|
|
426
|
+
this.refreshToken = config.refreshToken;
|
|
427
|
+
this.cookieAuth = config.cookieAuth ?? false;
|
|
428
|
+
}
|
|
429
|
+
};
|
|
430
|
+
|
|
402
431
|
// src/api/endpoints/emergency/EmergencyEndpoint.ts
|
|
403
432
|
var EmergencyEndpoint = class extends ApiEndpoint {
|
|
404
433
|
static {
|
|
405
434
|
__name(this, "EmergencyEndpoint");
|
|
406
435
|
}
|
|
407
|
-
constructor(
|
|
408
|
-
super(
|
|
436
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
437
|
+
super(config, tokenManager, log, headerProvider);
|
|
409
438
|
}
|
|
410
439
|
endpoint() {
|
|
411
440
|
return "emergency";
|
|
@@ -489,11 +518,11 @@ var OrgSettingsEndpoint = class extends ApiEndpoint {
|
|
|
489
518
|
static {
|
|
490
519
|
__name(this, "OrgSettingsEndpoint");
|
|
491
520
|
}
|
|
492
|
-
constructor(
|
|
493
|
-
super(
|
|
521
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
522
|
+
super(config, tokenManager, log, headerProvider);
|
|
494
523
|
}
|
|
495
524
|
endpoint() {
|
|
496
|
-
return "
|
|
525
|
+
return "orgSettings";
|
|
497
526
|
}
|
|
498
527
|
/**
|
|
499
528
|
* Get the public org settings.
|
|
@@ -509,8 +538,8 @@ var StaffEndpoint = class extends ApiEndpoint {
|
|
|
509
538
|
static {
|
|
510
539
|
__name(this, "StaffEndpoint");
|
|
511
540
|
}
|
|
512
|
-
constructor(
|
|
513
|
-
super(
|
|
541
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
542
|
+
super(config, tokenManager, log, headerProvider);
|
|
514
543
|
}
|
|
515
544
|
endpoint() {
|
|
516
545
|
return "staff";
|
|
@@ -553,8 +582,8 @@ var WSLogger = class {
|
|
|
553
582
|
}
|
|
554
583
|
};
|
|
555
584
|
var WebsocketManager = class {
|
|
556
|
-
constructor(
|
|
557
|
-
this.
|
|
585
|
+
constructor(config, tokenManager, logger) {
|
|
586
|
+
this.config = config;
|
|
558
587
|
this.tokenManager = tokenManager;
|
|
559
588
|
this.logger = logger;
|
|
560
589
|
}
|
|
@@ -566,8 +595,9 @@ var WebsocketManager = class {
|
|
|
566
595
|
async establishConnection() {
|
|
567
596
|
return new import_signalr.HubConnectionBuilder().withAutomaticReconnect({
|
|
568
597
|
nextRetryDelayInMilliseconds: /* @__PURE__ */ __name((retryContext) => retryContext.previousRetryCount > 5 ? null : 2e3, "nextRetryDelayInMilliseconds")
|
|
569
|
-
}).withUrl(`${this.baseUrl}/hub/emergency`, {
|
|
570
|
-
|
|
598
|
+
}).withUrl(`${this.config.baseUrl}/hub/emergency`, {
|
|
599
|
+
withCredentials: this.config.cookieAuth,
|
|
600
|
+
accessTokenFactory: this.config.cookieAuth ? async () => await this.tokenManager.getAccessToken("WS accessTokenFactory") ?? "" : void 0
|
|
571
601
|
}).configureLogging(new WSLogger(this.logger)).build();
|
|
572
602
|
}
|
|
573
603
|
};
|
|
@@ -577,10 +607,10 @@ var WebsocketEndpoint = class extends ApiEndpoint {
|
|
|
577
607
|
static {
|
|
578
608
|
__name(this, "WebsocketEndpoint");
|
|
579
609
|
}
|
|
580
|
-
constructor(
|
|
581
|
-
super(
|
|
610
|
+
constructor(config, tokenManager, log, headerProvider) {
|
|
611
|
+
super(config, tokenManager, log, headerProvider);
|
|
582
612
|
}
|
|
583
|
-
websocketManager = new WebsocketManager(this.
|
|
613
|
+
websocketManager = new WebsocketManager(this.config, this.tokenManager, this.log);
|
|
584
614
|
endpoint() {
|
|
585
615
|
return "websocket";
|
|
586
616
|
}
|
|
@@ -619,16 +649,17 @@ var MedrunnerApiClient = class _MedrunnerApiClient {
|
|
|
619
649
|
* @param log - A logger which logs request details
|
|
620
650
|
* */
|
|
621
651
|
static buildClient(config, refreshCallback, log) {
|
|
622
|
-
const
|
|
652
|
+
const configWithDefaults = new DefaultApiConfig(config);
|
|
653
|
+
const tokenManager = new TokenManager(configWithDefaults, refreshCallback, log);
|
|
623
654
|
return new _MedrunnerApiClient(
|
|
624
|
-
new EmergencyEndpoint(
|
|
625
|
-
new ClientEndpoint(
|
|
626
|
-
new StaffEndpoint(
|
|
627
|
-
new OrgSettingsEndpoint(
|
|
628
|
-
new ChatMessageEndpoint(
|
|
629
|
-
new CodeEndpoint(
|
|
630
|
-
new AuthEndpoint(
|
|
631
|
-
new WebsocketEndpoint(
|
|
655
|
+
new EmergencyEndpoint(configWithDefaults, tokenManager, log),
|
|
656
|
+
new ClientEndpoint(configWithDefaults, tokenManager, log),
|
|
657
|
+
new StaffEndpoint(configWithDefaults, tokenManager, log),
|
|
658
|
+
new OrgSettingsEndpoint(configWithDefaults, tokenManager, log),
|
|
659
|
+
new ChatMessageEndpoint(configWithDefaults, tokenManager, log),
|
|
660
|
+
new CodeEndpoint(configWithDefaults, tokenManager, log),
|
|
661
|
+
new AuthEndpoint(configWithDefaults, tokenManager, log),
|
|
662
|
+
new WebsocketEndpoint(configWithDefaults, tokenManager, log)
|
|
632
663
|
);
|
|
633
664
|
}
|
|
634
665
|
};
|