@medrunner/api-client 0.0.1-rc.2 → 0.1.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/index.d.mts +449 -0
- package/dist/index.d.ts +15 -10
- package/dist/index.js +80 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +80 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -14
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import { Logger } from 'ts-log';
|
|
2
|
+
import { HubConnection } from '@microsoft/signalr';
|
|
3
|
+
|
|
4
|
+
type Func<T> = () => T;
|
|
5
|
+
type AsyncProvider<T> = Func<Promise<T>>;
|
|
6
|
+
type AsyncAction<T> = (arg: T) => Promise<void>;
|
|
7
|
+
type HeaderProvider<T extends Headers = Headers> = AsyncProvider<T>;
|
|
8
|
+
type Headers = {
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
interface DbItem {
|
|
13
|
+
id: string;
|
|
14
|
+
created: string;
|
|
15
|
+
updated: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface ApiToken extends DbItem {
|
|
19
|
+
userId: string;
|
|
20
|
+
name: string;
|
|
21
|
+
expirationDate?: number;
|
|
22
|
+
lastUsed?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface ApiResponse<T = unknown> {
|
|
26
|
+
success: boolean;
|
|
27
|
+
data?: T;
|
|
28
|
+
errorMessage?: string;
|
|
29
|
+
statusCode?: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface TokenGrant {
|
|
33
|
+
accessToken: string;
|
|
34
|
+
refreshToken: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
interface ApiConfig {
|
|
38
|
+
baseUrl?: string;
|
|
39
|
+
accessToken?: string;
|
|
40
|
+
refreshToken?: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
declare class TokenManager extends ApiEndpoint {
|
|
44
|
+
private readonly refreshCallback?;
|
|
45
|
+
private accessToken?;
|
|
46
|
+
private refreshToken?;
|
|
47
|
+
constructor(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
|
|
48
|
+
protected endpoint(): string;
|
|
49
|
+
getAccessToken(): Promise<string | undefined>;
|
|
50
|
+
private fetchToken;
|
|
51
|
+
private static getJwtFromAccessToken;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare abstract class ApiEndpoint {
|
|
55
|
+
readonly tokenManager: TokenManager;
|
|
56
|
+
protected readonly log?: Logger | undefined;
|
|
57
|
+
private readonly headerProvider?;
|
|
58
|
+
readonly baseUrl: string;
|
|
59
|
+
protected constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
|
|
60
|
+
protected abstract endpoint(): string;
|
|
61
|
+
protected endpointUrl(): string;
|
|
62
|
+
private headersForRequest;
|
|
63
|
+
protected getRequest<T = unknown>(endpoint: string, queryParams?: {
|
|
64
|
+
[key: string]: unknown;
|
|
65
|
+
}, noAuthentication?: boolean): Promise<ApiResponse<T>>;
|
|
66
|
+
protected postRequest<T = unknown>(endpoint: string, data?: unknown, noAuthentication?: boolean): Promise<ApiResponse<T>>;
|
|
67
|
+
protected putRequest<T = unknown>(endpoint: string, data?: unknown, noAuthentication?: boolean): Promise<ApiResponse<T>>;
|
|
68
|
+
protected patchRequest<T = unknown>(endpoint: string, data?: unknown, noAuthentication?: boolean): Promise<ApiResponse<T>>;
|
|
69
|
+
protected deleteRequest(endpoint: string, queryParams?: {
|
|
70
|
+
[key: string]: unknown;
|
|
71
|
+
}, noAuthentication?: boolean): Promise<ApiResponse>;
|
|
72
|
+
private makeRequestWithBody;
|
|
73
|
+
private makeRequestWithoutBody;
|
|
74
|
+
private buildUrl;
|
|
75
|
+
private makeRequest;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
interface CreateApiTokenRequest {
|
|
79
|
+
name: string;
|
|
80
|
+
expirationDate?: Date;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
interface SignOutRequest {
|
|
84
|
+
refreshToken: string;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
declare class AuthEndpoint extends ApiEndpoint {
|
|
88
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
89
|
+
protected endpoint(): string;
|
|
90
|
+
signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
|
|
91
|
+
getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
|
|
92
|
+
createApiToken(newToken: CreateApiTokenRequest): Promise<ApiResponse<string>>;
|
|
93
|
+
deleteApiToken(id: string): Promise<ApiResponse>;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
interface ChatMessage extends DbItem {
|
|
97
|
+
emergencyId: string;
|
|
98
|
+
senderId: string;
|
|
99
|
+
messageSentTimestamp: number;
|
|
100
|
+
contents: string;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
interface PaginatedResponse<T = unknown> {
|
|
104
|
+
data: T[];
|
|
105
|
+
paginationToken?: string;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
interface ChatMessageRequest {
|
|
109
|
+
emergencyId: string;
|
|
110
|
+
contents: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
declare class ChatMessageEndpoint extends ApiEndpoint {
|
|
114
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
115
|
+
protected endpoint(): string;
|
|
116
|
+
getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
|
|
117
|
+
sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
interface ClientHistory extends DbItem {
|
|
121
|
+
emergencyId: string;
|
|
122
|
+
clientId: string;
|
|
123
|
+
emergencyCreationTimestamp: string;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
interface EmergencyStats {
|
|
127
|
+
success: number;
|
|
128
|
+
failed: number;
|
|
129
|
+
noContact: number;
|
|
130
|
+
refused: number;
|
|
131
|
+
aborted: number;
|
|
132
|
+
serverError: number;
|
|
133
|
+
canceled: number;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
interface WritableDbItem extends DbItem {
|
|
137
|
+
updated: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
interface Person extends WritableDbItem {
|
|
141
|
+
discordId: string;
|
|
142
|
+
rsiHandle?: string;
|
|
143
|
+
roles: UserRoles;
|
|
144
|
+
personType: PersonType;
|
|
145
|
+
active: boolean;
|
|
146
|
+
deactivationReason: AccountDeactivationReason;
|
|
147
|
+
clientStats: ClientStats;
|
|
148
|
+
activeEmergency?: string;
|
|
149
|
+
clientPortalPreferences: Record<string, unknown>;
|
|
150
|
+
}
|
|
151
|
+
declare enum UserRoles {
|
|
152
|
+
CLIENT = 1,
|
|
153
|
+
STAFF = 2,
|
|
154
|
+
DEVELOPER = 524288,
|
|
155
|
+
BOT = 1048576
|
|
156
|
+
}
|
|
157
|
+
declare enum PersonType {
|
|
158
|
+
CLIENT = 0,
|
|
159
|
+
STAFF = 1,
|
|
160
|
+
BOT = 2
|
|
161
|
+
}
|
|
162
|
+
declare enum AccountDeactivationReason {
|
|
163
|
+
NONE = 0,
|
|
164
|
+
CLIENT_DRIVEN_DELETION = 1,
|
|
165
|
+
TERMINATED = 2,
|
|
166
|
+
BLOCKED = 3
|
|
167
|
+
}
|
|
168
|
+
interface ClientStats {
|
|
169
|
+
missions: EmergencyStats;
|
|
170
|
+
}
|
|
171
|
+
interface BlockedStatus {
|
|
172
|
+
blocked: boolean;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
declare class ClientEndpoint extends ApiEndpoint {
|
|
176
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
177
|
+
protected endpoint(): string;
|
|
178
|
+
get(): Promise<ApiResponse<Person>>;
|
|
179
|
+
getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
|
|
180
|
+
getBlockedStatus(): Promise<ApiResponse<BlockedStatus>>;
|
|
181
|
+
linkClient(rsiHandle: string): Promise<ApiResponse>;
|
|
182
|
+
setSettings(settings: Record<string, unknown>): Promise<ApiResponse<Record<string, unknown>>>;
|
|
183
|
+
deactivate(): Promise<ApiResponse>;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
declare enum CancellationReason {
|
|
187
|
+
NONE = 0,
|
|
188
|
+
OTHER = 1,
|
|
189
|
+
SUCCUMBED_TO_WOUNDS = 2,
|
|
190
|
+
SERVER_ERROR = 3,
|
|
191
|
+
RESPAWNED = 4,
|
|
192
|
+
RESCUED = 5
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
declare enum MissionStatus {
|
|
196
|
+
CREATED = 0,
|
|
197
|
+
RECEIVED = 1,
|
|
198
|
+
IN_PROGRESS = 2,
|
|
199
|
+
SUCCESS = 3,
|
|
200
|
+
FAILED = 4,
|
|
201
|
+
NO_CONTACT = 5,
|
|
202
|
+
CANCELED = 6,
|
|
203
|
+
REFUSED = 7,
|
|
204
|
+
ABORTED = 8,
|
|
205
|
+
SERVER_ERROR = 9
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
declare enum ResponseRating {
|
|
209
|
+
NONE = 0,
|
|
210
|
+
GOOD = 1,
|
|
211
|
+
BAD = 2
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
declare enum Class {
|
|
215
|
+
NONE = 0,
|
|
216
|
+
MEDIC = 1,
|
|
217
|
+
SECURITY = 2,
|
|
218
|
+
PILOT = 3,
|
|
219
|
+
LEAD = 4,
|
|
220
|
+
DISPATCH = 5,
|
|
221
|
+
DISPATCH_LEAD = 6,
|
|
222
|
+
DISPATCH_TRAINEE = 7,
|
|
223
|
+
DISPATCH_OBSERVER = 8,
|
|
224
|
+
QRF = 9,
|
|
225
|
+
LOGISTICS = 10
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
interface TeamMember {
|
|
229
|
+
discordId: string;
|
|
230
|
+
id: string;
|
|
231
|
+
rsiHandle?: string;
|
|
232
|
+
class: Class;
|
|
233
|
+
teamId?: string;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
interface Team {
|
|
237
|
+
staff: TeamMember[];
|
|
238
|
+
dispatchers: TeamMember[];
|
|
239
|
+
allMembers: TeamMember[];
|
|
240
|
+
maxMembers: number;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
declare enum ThreatLevel {
|
|
244
|
+
UNKNOWN = 0,
|
|
245
|
+
LOW = 1,
|
|
246
|
+
MEDIUM = 2,
|
|
247
|
+
HIGH = 3
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
interface Emergency extends WritableDbItem {
|
|
251
|
+
system: string;
|
|
252
|
+
subsystem: string;
|
|
253
|
+
tertiaryLocation?: string;
|
|
254
|
+
threatLevel: ThreatLevel;
|
|
255
|
+
remarks?: string;
|
|
256
|
+
clientRsiHandle: string;
|
|
257
|
+
clientDiscordId?: string;
|
|
258
|
+
clientId?: string;
|
|
259
|
+
subscriptionTier: string;
|
|
260
|
+
status: MissionStatus;
|
|
261
|
+
alertMessage?: MessageCache;
|
|
262
|
+
clientMessage?: MessageCache;
|
|
263
|
+
coordinationThread?: MessageCache;
|
|
264
|
+
afterActionReportMessage?: MessageCache;
|
|
265
|
+
interactionMessageId?: string;
|
|
266
|
+
respondingTeam: Team;
|
|
267
|
+
respondingTeams: RespondingTeam[];
|
|
268
|
+
creationTimestamp: number;
|
|
269
|
+
acceptedTimestamp?: number;
|
|
270
|
+
completionTimestamp?: number;
|
|
271
|
+
rating: ResponseRating;
|
|
272
|
+
ratingRemarks?: string;
|
|
273
|
+
test: boolean;
|
|
274
|
+
cancellationReason: CancellationReason;
|
|
275
|
+
refusalReason?: string;
|
|
276
|
+
origin: Origin;
|
|
277
|
+
clientData?: ClientData;
|
|
278
|
+
isComplete: boolean;
|
|
279
|
+
missionName?: string;
|
|
280
|
+
afterActionReport?: AfterActionReport;
|
|
281
|
+
submissionSource: SubmissionSource;
|
|
282
|
+
}
|
|
283
|
+
interface MessageCache {
|
|
284
|
+
id: string;
|
|
285
|
+
channelId: string;
|
|
286
|
+
}
|
|
287
|
+
interface ClientData {
|
|
288
|
+
rsiHandle: string;
|
|
289
|
+
rsiProfileLink: string;
|
|
290
|
+
gotClientData: boolean;
|
|
291
|
+
redactedOrgOnProfile: boolean;
|
|
292
|
+
reported: boolean;
|
|
293
|
+
}
|
|
294
|
+
interface AfterActionReport {
|
|
295
|
+
remarks?: string;
|
|
296
|
+
submitterStaffId: string;
|
|
297
|
+
servicesProvided: MissionServices;
|
|
298
|
+
suspectedTrap: boolean;
|
|
299
|
+
hasBeenEdited: boolean;
|
|
300
|
+
submittedOn: number;
|
|
301
|
+
editHistory: AfterActionReportEdit[];
|
|
302
|
+
}
|
|
303
|
+
interface AfterActionReportEdit {
|
|
304
|
+
editorStaffId: string;
|
|
305
|
+
editTime: number;
|
|
306
|
+
}
|
|
307
|
+
declare enum MissionServices {
|
|
308
|
+
NONE = 0,
|
|
309
|
+
PVE = 1,
|
|
310
|
+
PVP = 2,
|
|
311
|
+
REVIVED_HEALED = 4,
|
|
312
|
+
HEALED_IN_SHIP = 8,
|
|
313
|
+
EXTRACT_SAFE_ZONE = 16
|
|
314
|
+
}
|
|
315
|
+
declare enum Origin {
|
|
316
|
+
UNKNOWN = 0,
|
|
317
|
+
REPORT = 1,
|
|
318
|
+
BEACON = 2,
|
|
319
|
+
EVALUATION = 3
|
|
320
|
+
}
|
|
321
|
+
declare enum SubmissionSource {
|
|
322
|
+
UNKNOWN = 0,
|
|
323
|
+
API = 1,
|
|
324
|
+
BOT = 2
|
|
325
|
+
}
|
|
326
|
+
interface RespondingTeam {
|
|
327
|
+
id: string;
|
|
328
|
+
teamName: string;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
interface CreateEmergencyRequest {
|
|
332
|
+
remarks?: string;
|
|
333
|
+
location: Location;
|
|
334
|
+
threatLevel: ThreatLevel;
|
|
335
|
+
}
|
|
336
|
+
interface Location {
|
|
337
|
+
system: string;
|
|
338
|
+
subsystem: string;
|
|
339
|
+
tertiaryLocation?: string;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
interface LocationDetail {
|
|
343
|
+
name: string;
|
|
344
|
+
type: LocationType;
|
|
345
|
+
children: LocationDetail[];
|
|
346
|
+
}
|
|
347
|
+
declare enum LocationType {
|
|
348
|
+
UNKNOWN = 0,
|
|
349
|
+
SYSTEM = 1,
|
|
350
|
+
PLANET = 2,
|
|
351
|
+
MOON = 3
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
declare enum Level {
|
|
355
|
+
None = 0,
|
|
356
|
+
Tier1Section1 = 101,
|
|
357
|
+
Tier1Section2 = 102,
|
|
358
|
+
Tier1Section3 = 103,
|
|
359
|
+
Tier2Section1 = 201,
|
|
360
|
+
Tier2Section2 = 202,
|
|
361
|
+
Tier2Section3 = 203,
|
|
362
|
+
Tier3Section1 = 301,
|
|
363
|
+
Tier3Section2 = 302,
|
|
364
|
+
Tier3Section3 = 303,
|
|
365
|
+
Tier4Section1 = 401,
|
|
366
|
+
Tier4Section2 = 402,
|
|
367
|
+
Tier4Section3 = 403,
|
|
368
|
+
Tier5Section1 = 501,
|
|
369
|
+
Tier5Section2 = 502,
|
|
370
|
+
Tier5Section3 = 503,
|
|
371
|
+
Tier6Section1 = 601,
|
|
372
|
+
Tier6Section2 = 602,
|
|
373
|
+
Tier6Section3 = 603,
|
|
374
|
+
Tier7Section1 = 701,
|
|
375
|
+
Tier7Section2 = 702,
|
|
376
|
+
Tier7Section3 = 703,
|
|
377
|
+
Tier8Section1 = 801,
|
|
378
|
+
Tier8Section2 = 802,
|
|
379
|
+
Tier8Section3 = 803,
|
|
380
|
+
Tier9Section1 = 901,
|
|
381
|
+
Tier9Section2 = 902,
|
|
382
|
+
Tier9Section3 = 903,
|
|
383
|
+
Tier10Section1 = 1001,
|
|
384
|
+
Tier10Section2 = 1002,
|
|
385
|
+
Tier10Section3 = 1003
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
interface TeamDetailsResponse {
|
|
389
|
+
stats: ResponderDetails[];
|
|
390
|
+
aggregatedSuccessRate: number;
|
|
391
|
+
}
|
|
392
|
+
interface ResponderDetails {
|
|
393
|
+
id: string;
|
|
394
|
+
level: Level;
|
|
395
|
+
missionSuccessRate: number;
|
|
396
|
+
dispatchSuccessRate: number;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
declare class EmergencyEndpoint extends ApiEndpoint {
|
|
400
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
401
|
+
protected endpoint(): string;
|
|
402
|
+
getEmergency(id: string): Promise<ApiResponse<Emergency>>;
|
|
403
|
+
getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
|
|
404
|
+
createEmergency(newEmergency: CreateEmergencyRequest): Promise<ApiResponse<Emergency>>;
|
|
405
|
+
cancelEmergencyWithReason(id: string, reason: CancellationReason): Promise<ApiResponse>;
|
|
406
|
+
rateServices(id: string, rating: ResponseRating, remarks?: string): Promise<ApiResponse>;
|
|
407
|
+
teamDetails(id: string): Promise<ApiResponse<TeamDetailsResponse>>;
|
|
408
|
+
emergencyLocations(): Promise<ApiResponse<LocationDetail[]>>;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
interface MedalInformation {
|
|
412
|
+
level: Level;
|
|
413
|
+
successfulMissions: number;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
declare class StaffEndpoint extends ApiEndpoint {
|
|
417
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
418
|
+
protected endpoint(): string;
|
|
419
|
+
medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
declare class WebsocketEndpoint extends ApiEndpoint {
|
|
423
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
424
|
+
private websocketManager;
|
|
425
|
+
protected endpoint(): string;
|
|
426
|
+
initialize(): Promise<HubConnection>;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
interface ApiClient<TEmergency extends EmergencyEndpoint = EmergencyEndpoint, TClient extends ClientEndpoint = ClientEndpoint, TStaff extends StaffEndpoint = StaffEndpoint, TChatMessage extends ChatMessageEndpoint = ChatMessageEndpoint, TAuth extends AuthEndpoint = AuthEndpoint, TWebsocket extends WebsocketEndpoint = WebsocketEndpoint> {
|
|
430
|
+
emergency: TEmergency;
|
|
431
|
+
client: TClient;
|
|
432
|
+
staff: TStaff;
|
|
433
|
+
chatMessage: TChatMessage;
|
|
434
|
+
auth: TAuth;
|
|
435
|
+
websocket: TWebsocket;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
declare class MedrunnerApiClient<TEmergency extends EmergencyEndpoint = EmergencyEndpoint, TClient extends ClientEndpoint = ClientEndpoint, TStaff extends StaffEndpoint = StaffEndpoint, TChatMessage extends ChatMessageEndpoint = ChatMessageEndpoint, TAuth extends AuthEndpoint = AuthEndpoint, TWebsocket extends WebsocketEndpoint = WebsocketEndpoint> implements ApiClient<TEmergency, TClient, TStaff, TChatMessage, TAuth, TWebsocket> {
|
|
439
|
+
readonly emergency: TEmergency;
|
|
440
|
+
readonly client: TClient;
|
|
441
|
+
readonly staff: TStaff;
|
|
442
|
+
readonly chatMessage: TChatMessage;
|
|
443
|
+
readonly auth: TAuth;
|
|
444
|
+
readonly websocket: TWebsocket;
|
|
445
|
+
protected constructor(emergency: TEmergency, client: TClient, staff: TStaff, chatMessage: TChatMessage, auth: TAuth, websocket: TWebsocket);
|
|
446
|
+
static buildClient(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant>, log?: Logger): MedrunnerApiClient;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export { AccountDeactivationReason, type AfterActionReport, type AfterActionReportEdit, type ApiClient, type ApiConfig, ApiEndpoint, type ApiResponse, type ApiToken, type AsyncAction, type AsyncProvider, AuthEndpoint, type BlockedStatus, CancellationReason, type ChatMessage, ChatMessageEndpoint, type ChatMessageRequest, Class, type ClientData, ClientEndpoint, type ClientHistory, type ClientStats, type CreateEmergencyRequest, type DbItem, type Emergency, EmergencyEndpoint, type EmergencyStats, type Func, type HeaderProvider, type Headers, Level, type Location, type LocationDetail, LocationType, type MedalInformation, MedrunnerApiClient, type MessageCache, MissionServices, MissionStatus, Origin, type PaginatedResponse, type Person, PersonType, type ResponderDetails, type RespondingTeam, ResponseRating, StaffEndpoint, SubmissionSource, type Team, type TeamDetailsResponse, type TeamMember, ThreatLevel, type TokenGrant, TokenManager, UserRoles, WebsocketEndpoint, type WritableDbItem };
|
package/dist/index.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ interface TokenGrant {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
interface ApiConfig {
|
|
38
|
-
baseUrl
|
|
38
|
+
baseUrl?: string;
|
|
39
39
|
accessToken?: string;
|
|
40
40
|
refreshToken?: string;
|
|
41
41
|
}
|
|
@@ -52,11 +52,11 @@ declare class TokenManager extends ApiEndpoint {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
declare abstract class ApiEndpoint {
|
|
55
|
-
readonly baseUrl: string;
|
|
56
55
|
readonly tokenManager: TokenManager;
|
|
57
56
|
protected readonly log?: Logger | undefined;
|
|
58
57
|
private readonly headerProvider?;
|
|
59
|
-
|
|
58
|
+
readonly baseUrl: string;
|
|
59
|
+
protected constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
|
|
60
60
|
protected abstract endpoint(): string;
|
|
61
61
|
protected endpointUrl(): string;
|
|
62
62
|
private headersForRequest;
|
|
@@ -85,7 +85,7 @@ interface SignOutRequest {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
declare class AuthEndpoint extends ApiEndpoint {
|
|
88
|
-
constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
88
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
89
89
|
protected endpoint(): string;
|
|
90
90
|
signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
|
|
91
91
|
getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
|
|
@@ -111,7 +111,7 @@ interface ChatMessageRequest {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
declare class ChatMessageEndpoint extends ApiEndpoint {
|
|
114
|
-
constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
114
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
115
115
|
protected endpoint(): string;
|
|
116
116
|
getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
|
|
117
117
|
sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
|
|
@@ -168,14 +168,19 @@ declare enum AccountDeactivationReason {
|
|
|
168
168
|
interface ClientStats {
|
|
169
169
|
missions: EmergencyStats;
|
|
170
170
|
}
|
|
171
|
+
interface BlockedStatus {
|
|
172
|
+
blocked: boolean;
|
|
173
|
+
}
|
|
171
174
|
|
|
172
175
|
declare class ClientEndpoint extends ApiEndpoint {
|
|
173
|
-
constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
176
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
174
177
|
protected endpoint(): string;
|
|
175
178
|
get(): Promise<ApiResponse<Person>>;
|
|
176
179
|
getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
|
|
180
|
+
getBlockedStatus(): Promise<ApiResponse<BlockedStatus>>;
|
|
177
181
|
linkClient(rsiHandle: string): Promise<ApiResponse>;
|
|
178
182
|
setSettings(settings: Record<string, unknown>): Promise<ApiResponse<Record<string, unknown>>>;
|
|
183
|
+
deactivate(): Promise<ApiResponse>;
|
|
179
184
|
}
|
|
180
185
|
|
|
181
186
|
declare enum CancellationReason {
|
|
@@ -392,7 +397,7 @@ interface ResponderDetails {
|
|
|
392
397
|
}
|
|
393
398
|
|
|
394
399
|
declare class EmergencyEndpoint extends ApiEndpoint {
|
|
395
|
-
constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger
|
|
400
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
396
401
|
protected endpoint(): string;
|
|
397
402
|
getEmergency(id: string): Promise<ApiResponse<Emergency>>;
|
|
398
403
|
getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
|
|
@@ -409,13 +414,13 @@ interface MedalInformation {
|
|
|
409
414
|
}
|
|
410
415
|
|
|
411
416
|
declare class StaffEndpoint extends ApiEndpoint {
|
|
412
|
-
constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
417
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
413
418
|
protected endpoint(): string;
|
|
414
419
|
medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
|
|
415
420
|
}
|
|
416
421
|
|
|
417
422
|
declare class WebsocketEndpoint extends ApiEndpoint {
|
|
418
|
-
constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger
|
|
423
|
+
constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
|
|
419
424
|
private websocketManager;
|
|
420
425
|
protected endpoint(): string;
|
|
421
426
|
initialize(): Promise<HubConnection>;
|
|
@@ -441,4 +446,4 @@ declare class MedrunnerApiClient<TEmergency extends EmergencyEndpoint = Emergenc
|
|
|
441
446
|
static buildClient(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant>, log?: Logger): MedrunnerApiClient;
|
|
442
447
|
}
|
|
443
448
|
|
|
444
|
-
export { AccountDeactivationReason, AfterActionReport, AfterActionReportEdit, ApiClient, ApiConfig, ApiEndpoint, ApiResponse, ApiToken, AsyncAction, AsyncProvider, AuthEndpoint, CancellationReason, ChatMessage, ChatMessageEndpoint, ChatMessageRequest, Class, ClientData, ClientEndpoint, ClientHistory, ClientStats, CreateEmergencyRequest, DbItem, Emergency, EmergencyEndpoint, EmergencyStats, Func, HeaderProvider, Headers, Level, Location, LocationDetail, LocationType, MedalInformation, MedrunnerApiClient, MessageCache, MissionServices, MissionStatus, Origin, PaginatedResponse, Person, PersonType, ResponderDetails, RespondingTeam, ResponseRating, StaffEndpoint, SubmissionSource, Team, TeamDetailsResponse, TeamMember, ThreatLevel, TokenGrant, TokenManager, UserRoles, WebsocketEndpoint, WritableDbItem };
|
|
449
|
+
export { AccountDeactivationReason, type AfterActionReport, type AfterActionReportEdit, type ApiClient, type ApiConfig, ApiEndpoint, type ApiResponse, type ApiToken, type AsyncAction, type AsyncProvider, AuthEndpoint, type BlockedStatus, CancellationReason, type ChatMessage, ChatMessageEndpoint, type ChatMessageRequest, Class, type ClientData, ClientEndpoint, type ClientHistory, type ClientStats, type CreateEmergencyRequest, type DbItem, type Emergency, EmergencyEndpoint, type EmergencyStats, type Func, type HeaderProvider, type Headers, Level, type Location, type LocationDetail, LocationType, type MedalInformation, MedrunnerApiClient, type MessageCache, MissionServices, MissionStatus, Origin, type PaginatedResponse, type Person, PersonType, type ResponderDetails, type RespondingTeam, ResponseRating, StaffEndpoint, SubmissionSource, type Team, type TeamDetailsResponse, type TeamMember, ThreatLevel, type TokenGrant, TokenManager, UserRoles, WebsocketEndpoint, type WritableDbItem };
|