whio-api-sdk 1.1.21 → 1.1.23

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.
Files changed (54) hide show
  1. package/dist/src/sdk/exampleuse.js +0 -5
  2. package/dist/src/sdk/index.d.ts +9 -2
  3. package/dist/src/sdk/index.js +13 -2
  4. package/dist/src/sdk/modules/session/index.d.ts +3 -0
  5. package/dist/src/sdk/modules/session/index.js +3 -0
  6. package/dist/src/sdk/modules/session/orgadmin-session.module.d.ts +15 -0
  7. package/dist/src/sdk/modules/session/orgadmin-session.module.js +83 -0
  8. package/dist/src/sdk/modules/session/session.module.d.ts +21 -0
  9. package/dist/src/sdk/modules/session/session.module.js +95 -0
  10. package/dist/src/sdk/modules/session/superuser-session.module.d.ts +15 -0
  11. package/dist/src/sdk/modules/session/superuser-session.module.js +83 -0
  12. package/dist/src/sdk/modules/session.module.d.ts +13 -2
  13. package/dist/src/sdk/modules/session.module.js +111 -36
  14. package/dist/src/sdk/modules/template.module.d.ts +1 -8
  15. package/dist/src/sdk/modules/template.module.js +0 -53
  16. package/dist/src/sdk/modules/transcription-summary.module.d.ts +0 -1
  17. package/dist/src/sdk/modules/transcription-summary.module.js +0 -14
  18. package/dist/src/sdk/modules/websocket.module.d.ts +5 -2
  19. package/dist/src/sdk/modules/websocket.module.js +6 -5
  20. package/dist/src/sdk/sdk.d.ts +12 -10
  21. package/dist/src/sdk/sdk.js +63 -51
  22. package/dist/src/sdk/types/team.types.d.ts +0 -2
  23. package/dist/src/sdk/types/template.types.d.ts +0 -36
  24. package/dist/src/sdk/types/websocket.types.d.ts +7 -0
  25. package/dist/src/sdk/urls.d.ts +0 -2
  26. package/dist/src/sdk/urls.js +0 -2
  27. package/dist/src/sdk/whio-orgadmin-sdk.d.ts +104 -0
  28. package/dist/src/sdk/whio-orgadmin-sdk.js +437 -0
  29. package/dist/src/sdk/whio-sdk.d.ts +102 -0
  30. package/dist/src/sdk/whio-sdk.js +389 -0
  31. package/dist/src/sdk/whio-superuser-sdk.d.ts +135 -0
  32. package/dist/src/sdk/whio-superuser-sdk.js +576 -0
  33. package/dist/src/sdk/whio-teamadmin-sdk.d.ts +104 -0
  34. package/dist/src/sdk/whio-teamadmin-sdk.js +388 -0
  35. package/package.json +1 -1
  36. package/src/sdk/exampleuse.ts +0 -16
  37. package/src/sdk/index.ts +17 -3
  38. package/src/sdk/modules/session/index.ts +3 -0
  39. package/src/sdk/modules/session/orgadmin-session.module.ts +64 -0
  40. package/src/sdk/modules/session/session.module.ts +75 -0
  41. package/src/sdk/modules/session/superuser-session.module.ts +64 -0
  42. package/src/sdk/modules/session.module.ts +84 -15
  43. package/src/sdk/modules/template.module.ts +0 -54
  44. package/src/sdk/modules/transcription-summary.module.ts +0 -17
  45. package/src/sdk/modules/websocket.module.ts +15 -8
  46. package/src/sdk/sdk.ts +51 -41
  47. package/src/sdk/types/team.types.ts +0 -2
  48. package/src/sdk/types/template.types.ts +0 -45
  49. package/src/sdk/types/websocket.types.ts +12 -4
  50. package/src/sdk/urls.ts +1 -3
  51. package/src/sdk/whio-orgadmin-sdk.ts +408 -0
  52. package/src/sdk/whio-sdk.ts +374 -0
  53. package/src/sdk/whio-superuser-sdk.ts +530 -0
  54. package/src/sdk/whio-teamadmin-sdk.ts +372 -0
@@ -0,0 +1,530 @@
1
+ // WhioSuperuserSDK - SDK for superusers with system-wide access
2
+ import { SDKConfig, User } from './types';
3
+ import { BaseClient } from './modules/base-client';
4
+ import { AuthModule } from './modules/auth.module';
5
+ import { UserModule } from './modules/user.module';
6
+ import { OrganizationModule } from './modules/organization.module';
7
+ import { TeamModule } from './modules/team.module';
8
+ import { TemplateModule } from './modules/template.module';
9
+ import { TranscriptionSummaryModule } from './modules/transcription-summary.module';
10
+ import { SuperuserSessionModule } from './modules/session/superuser-session.module';
11
+ import { AgentModule } from './modules/agent.module';
12
+ import { AudioModule } from './modules/audio.module';
13
+ import { WorkflowModule } from './modules/workflow.module';
14
+ import { IntegrationActionModule } from './modules/integration-action.module';
15
+ import { LogModule } from './modules/log.module';
16
+ import { DebugModule } from './modules/debug.module';
17
+ import { ExternalIntegrationModule } from './modules/external-integration.module';
18
+ import { WebSocketModule } from './modules/websocket.module';
19
+ import { ReportsModule } from './modules/reports.module';
20
+ import { PatientModule } from './modules/patient.module';
21
+ import { DataStrategyModule } from './modules/data-strategy.module';
22
+ import { SystemSnapshotModule } from './modules/system-snapshot.module';
23
+ import { RatingModule } from './modules/rating.module';
24
+ import { TiakiModule } from './modules/tiaki.module';
25
+
26
+ /**
27
+ * WhioSuperuserSDK - SDK for superusers
28
+ * Provides access to system-wide operations across all organizations
29
+ */
30
+ export class WhioSuperuserSDK extends BaseClient {
31
+ private readonly authModule: AuthModule;
32
+ private readonly usersModule: UserModule;
33
+ private readonly organizationsModule: OrganizationModule;
34
+ private readonly teamsModule: TeamModule;
35
+ private readonly templatesModule: TemplateModule;
36
+ private readonly transcriptionSummariesModule: TranscriptionSummaryModule;
37
+ private readonly sessionsModule: SuperuserSessionModule;
38
+ private readonly agentsModule: AgentModule;
39
+ private readonly audioModule: AudioModule;
40
+ private readonly workflowsModule: WorkflowModule;
41
+ private readonly integrationActionsModule: IntegrationActionModule;
42
+ private readonly logsModule: LogModule;
43
+ private readonly debugModule: DebugModule;
44
+ private readonly externalIntegrationsModule: ExternalIntegrationModule;
45
+ private readonly websocketModule: WebSocketModule | null;
46
+ private readonly reportsModule: ReportsModule;
47
+ private readonly patientsModule: PatientModule;
48
+ private readonly dataStrategiesModule: DataStrategyModule;
49
+ private readonly systemSnapshotsModule: SystemSnapshotModule;
50
+ private readonly ratingsModule: RatingModule;
51
+ private readonly tiakiModule: TiakiModule;
52
+
53
+ private modules: BaseClient[];
54
+ private sdkInitialized: boolean = false;
55
+
56
+ constructor(config: SDKConfig = {}) {
57
+ super(config);
58
+
59
+ this.authModule = new AuthModule(config);
60
+ this.usersModule = new UserModule(config);
61
+ this.organizationsModule = new OrganizationModule(config);
62
+ this.teamsModule = new TeamModule(config);
63
+ this.templatesModule = new TemplateModule(config);
64
+ this.transcriptionSummariesModule = new TranscriptionSummaryModule(config);
65
+ this.sessionsModule = new SuperuserSessionModule(config);
66
+ this.agentsModule = new AgentModule(config);
67
+ this.audioModule = new AudioModule(config);
68
+ this.workflowsModule = new WorkflowModule(config);
69
+ this.integrationActionsModule = new IntegrationActionModule(config);
70
+ this.logsModule = new LogModule(config);
71
+ this.debugModule = new DebugModule(config);
72
+ this.externalIntegrationsModule = new ExternalIntegrationModule(config);
73
+ this.websocketModule = config.skipWebsocket ? null : new WebSocketModule(config);
74
+ this.reportsModule = new ReportsModule(config);
75
+ this.patientsModule = new PatientModule(config);
76
+ this.dataStrategiesModule = new DataStrategyModule(config);
77
+ this.systemSnapshotsModule = new SystemSnapshotModule(config);
78
+ this.ratingsModule = new RatingModule(config);
79
+ this.tiakiModule = new TiakiModule(config);
80
+
81
+ this.modules = [
82
+ this.authModule, this.usersModule, this.organizationsModule, this.teamsModule, this.templatesModule,
83
+ this.transcriptionSummariesModule, this.sessionsModule, this.agentsModule, this.audioModule,
84
+ this.workflowsModule, this.integrationActionsModule, this.logsModule, this.debugModule, this.externalIntegrationsModule,
85
+ this.reportsModule, this.patientsModule, this.dataStrategiesModule, this.systemSnapshotsModule, this.ratingsModule,
86
+ this.tiakiModule,
87
+ ...(this.websocketModule ? [this.websocketModule] : [])
88
+ ];
89
+
90
+ this.initialize().catch(error => {
91
+ console.error('Failed to initialize SDK:', error);
92
+ });
93
+ }
94
+
95
+ public async initialize(): Promise<void> {
96
+ if (this.sdkInitialized) {
97
+ return;
98
+ }
99
+ await super.initialize();
100
+ await Promise.all(this.modules.map(module => module.initialize()));
101
+ await this.syncUserStateAcrossModules();
102
+ this.sdkInitialized = true;
103
+ }
104
+
105
+ public isReady(): boolean {
106
+ return this.sdkInitialized;
107
+ }
108
+
109
+ private async syncUserStateAcrossModules(): Promise<void> {
110
+ const currentUser = this.getCurrentUser();
111
+ const accessToken = this.getAccessToken();
112
+ const refreshToken = this.getRefreshToken();
113
+ await Promise.all(
114
+ this.modules.map(module =>
115
+ module.syncUserState(currentUser, accessToken, refreshToken)
116
+ )
117
+ );
118
+ }
119
+
120
+ public async syncUserState(user: User | null, accessToken: string | null, refreshToken: string | null): Promise<void> {
121
+ await super.syncUserState(user, accessToken, refreshToken);
122
+ await Promise.all(
123
+ this.modules.map(module =>
124
+ module.syncUserState(user, accessToken, refreshToken)
125
+ )
126
+ );
127
+ }
128
+
129
+ // ======================
130
+ // AUTH METHODS
131
+ // ======================
132
+
133
+ public async login(...args: Parameters<AuthModule['login']>) {
134
+ const result = await this.authModule.login(...args);
135
+ await this.syncUserState(result.user, result.access_token, result.refresh_token);
136
+ return result;
137
+ }
138
+
139
+ public async logout(...args: Parameters<AuthModule['logout']>) {
140
+ const result = await this.authModule.logout(...args);
141
+ await this.syncUserState(null, null, null);
142
+ return result;
143
+ }
144
+
145
+ public async loginWithCode(...args: Parameters<AuthModule['loginWithCode']>) {
146
+ const result = await this.authModule.loginWithCode(...args);
147
+ await this.syncUserState(result.user, result.access_token, result.refresh_token);
148
+ return result;
149
+ }
150
+
151
+ public async getProfile(...args: Parameters<AuthModule['getProfile']>) {
152
+ return this.authModule.getProfile(...args);
153
+ }
154
+
155
+ public async changePassword(...args: Parameters<AuthModule['changePassword']>) {
156
+ return this.authModule.changePassword(...args);
157
+ }
158
+
159
+ public async adminChangePassword(...args: Parameters<AuthModule['adminChangePassword']>) {
160
+ return this.authModule.adminChangePassword(...args);
161
+ }
162
+
163
+ // ======================
164
+ // SESSION METHODS (Superuser - all sessions)
165
+ // ======================
166
+
167
+ public async getSessionsByUser(...args: Parameters<SuperuserSessionModule['getSessionsByUser']>) {
168
+ return this.sessionsModule.getSessionsByUser(...args);
169
+ }
170
+
171
+ public async getSessionsByOrganization(...args: Parameters<SuperuserSessionModule['getSessionsByOrganization']>) {
172
+ return this.sessionsModule.getSessionsByOrganization(...args);
173
+ }
174
+
175
+ public async searchSessions(...args: Parameters<SuperuserSessionModule['searchSessions']>) {
176
+ return this.sessionsModule.searchSessions(...args);
177
+ }
178
+
179
+ public async updateSession(...args: Parameters<SuperuserSessionModule['updateSession']>) {
180
+ return this.sessionsModule.updateSession(...args);
181
+ }
182
+
183
+ public async deleteSession(...args: Parameters<SuperuserSessionModule['deleteSession']>) {
184
+ return this.sessionsModule.deleteSession(...args);
185
+ }
186
+
187
+ public async setPrimaryTranscriptionSummary(...args: Parameters<SuperuserSessionModule['setPrimaryTranscriptionSummary']>) {
188
+ return this.sessionsModule.setPrimaryTranscriptionSummary(...args);
189
+ }
190
+
191
+ public async getSession(...args: Parameters<SuperuserSessionModule['getSession']>) {
192
+ return this.sessionsModule.getSession(...args);
193
+ }
194
+
195
+ // ======================
196
+ // USER METHODS (Superuser - all users)
197
+ // ======================
198
+
199
+ public async createUser(...args: Parameters<UserModule['createUser']>) {
200
+ return this.usersModule.createUser(...args);
201
+ }
202
+
203
+ public async getUsers(...args: Parameters<UserModule['getUsers']>) {
204
+ return this.usersModule.getUsers(...args);
205
+ }
206
+
207
+ public async getUser(...args: Parameters<UserModule['getUser']>) {
208
+ return this.usersModule.getUser(...args);
209
+ }
210
+
211
+ public async getUsersByOrganization(...args: Parameters<UserModule['getUsersByOrganization']>) {
212
+ return this.usersModule.getUsersByOrganization(...args);
213
+ }
214
+
215
+ public async updateUser(...args: Parameters<UserModule['updateUser']>) {
216
+ return this.usersModule.updateUser(...args);
217
+ }
218
+
219
+ public async deleteUser(...args: Parameters<UserModule['deleteUser']>) {
220
+ return this.usersModule.deleteUser(...args);
221
+ }
222
+
223
+ public async createEditorUser(...args: Parameters<UserModule['createEditorUser']>) {
224
+ return this.usersModule.createEditorUser(...args);
225
+ }
226
+
227
+ public async createAdminUser(...args: Parameters<UserModule['createAdminUser']>) {
228
+ return this.usersModule.createAdminUser(...args);
229
+ }
230
+
231
+ public async assignEditorToRoleToUser(...args: Parameters<UserModule['assignEditorToRoleToUser']>) {
232
+ return this.usersModule.assignEditorToRoleToUser(...args);
233
+ }
234
+
235
+ public async assignAdminToRoleToUser(...args: Parameters<UserModule['assignAdminToRoleToUser']>) {
236
+ return this.usersModule.assignAdminToRoleToUser(...args);
237
+ }
238
+
239
+ public async removeRoleFromUser(...args: Parameters<UserModule['removeRoleFromUser']>) {
240
+ return this.usersModule.removeRoleFromUser(...args);
241
+ }
242
+
243
+ // ======================
244
+ // ORGANIZATION METHODS
245
+ // ======================
246
+
247
+ public async createOrganization(...args: Parameters<OrganizationModule['createOrganization']>) {
248
+ return this.organizationsModule.createOrganization(...args);
249
+ }
250
+
251
+ public async getOrganizations(...args: Parameters<OrganizationModule['getOrganizations']>) {
252
+ return this.organizationsModule.getOrganizations(...args);
253
+ }
254
+
255
+ public async getOrganization(...args: Parameters<OrganizationModule['getOrganization']>) {
256
+ return this.organizationsModule.getOrganization(...args);
257
+ }
258
+
259
+ public async updateOrganization(...args: Parameters<OrganizationModule['updateOrganization']>) {
260
+ return this.organizationsModule.updateOrganization(...args);
261
+ }
262
+
263
+ public async deleteOrganization(...args: Parameters<OrganizationModule['deleteOrganization']>) {
264
+ return this.organizationsModule.deleteOrganization(...args);
265
+ }
266
+
267
+ public async addUserToOrganization(...args: Parameters<OrganizationModule['addUserToOrganization']>) {
268
+ return this.organizationsModule.addUserToOrganization(...args);
269
+ }
270
+
271
+ public async removeUserFromOrganization(...args: Parameters<OrganizationModule['removeUserFromOrganization']>) {
272
+ return this.organizationsModule.removeUserFromOrganization(...args);
273
+ }
274
+
275
+ // ======================
276
+ // TEAM METHODS
277
+ // ======================
278
+
279
+ public async createTeam(...args: Parameters<TeamModule['createTeam']>) {
280
+ return this.teamsModule.createTeam(...args);
281
+ }
282
+
283
+ public async getTeams(...args: Parameters<TeamModule['getTeams']>) {
284
+ return this.teamsModule.getTeams(...args);
285
+ }
286
+
287
+ public async getTeam(...args: Parameters<TeamModule['getTeam']>) {
288
+ return this.teamsModule.getTeam(...args);
289
+ }
290
+
291
+ public async getTeamsByOrganization(...args: Parameters<TeamModule['getTeamsByOrganization']>) {
292
+ return this.teamsModule.getTeamsByOrganization(...args);
293
+ }
294
+
295
+ public async updateTeam(...args: Parameters<TeamModule['updateTeam']>) {
296
+ return this.teamsModule.updateTeam(...args);
297
+ }
298
+
299
+ public async deleteTeam(...args: Parameters<TeamModule['deleteTeam']>) {
300
+ return this.teamsModule.deleteTeam(...args);
301
+ }
302
+
303
+ public async addUserToTeam(...args: Parameters<TeamModule['addUserToTeam']>) {
304
+ return this.teamsModule.addUserToTeam(...args);
305
+ }
306
+
307
+ public async removeUserFromTeam(...args: Parameters<TeamModule['removeUserFromTeam']>) {
308
+ return this.teamsModule.removeUserFromTeam(...args);
309
+ }
310
+
311
+ // ======================
312
+ // TEMPLATE METHODS
313
+ // ======================
314
+
315
+ public async createTemplate(...args: Parameters<TemplateModule['createTemplate']>) {
316
+ return this.templatesModule.createTemplate(...args);
317
+ }
318
+
319
+ public async getTemplates(...args: Parameters<TemplateModule['getTemplates']>) {
320
+ return this.templatesModule.getTemplates(...args);
321
+ }
322
+
323
+ public async getTemplate(...args: Parameters<TemplateModule['getTemplate']>) {
324
+ return this.templatesModule.getTemplate(...args);
325
+ }
326
+
327
+ public async updateTemplate(...args: Parameters<TemplateModule['updateTemplate']>) {
328
+ return this.templatesModule.updateTemplate(...args);
329
+ }
330
+
331
+ public async deleteTemplate(...args: Parameters<TemplateModule['deleteTemplate']>) {
332
+ return this.templatesModule.deleteTemplate(...args);
333
+ }
334
+
335
+ public async getTemplateCategories(...args: Parameters<TemplateModule['getTemplateCategories']>) {
336
+ return this.templatesModule.getTemplateCategories(...args);
337
+ }
338
+
339
+ public async createTemplateCategory(...args: Parameters<TemplateModule['createTemplateCategory']>) {
340
+ return this.templatesModule.createTemplateCategory(...args);
341
+ }
342
+
343
+ public async updateTemplateCategory(...args: Parameters<TemplateModule['updateTemplateCategory']>) {
344
+ return this.templatesModule.updateTemplateCategory(...args);
345
+ }
346
+
347
+ public async deleteTemplateCategory(...args: Parameters<TemplateModule['deleteTemplateCategory']>) {
348
+ return this.templatesModule.deleteTemplateCategory(...args);
349
+ }
350
+
351
+ // ======================
352
+ // TRANSCRIPTION SUMMARY METHODS
353
+ // ======================
354
+
355
+ public async getTranscriptionSummaries(...args: Parameters<TranscriptionSummaryModule['getTranscriptionSummaries']>) {
356
+ return this.transcriptionSummariesModule.getTranscriptionSummaries(...args);
357
+ }
358
+
359
+ public async getTranscriptionSummary(...args: Parameters<TranscriptionSummaryModule['getTranscriptionSummary']>) {
360
+ return this.transcriptionSummariesModule.getTranscriptionSummary(...args);
361
+ }
362
+
363
+ public async getTranscriptionSummariesByUser(...args: Parameters<TranscriptionSummaryModule['getTranscriptionSummariesByUser']>) {
364
+ return this.transcriptionSummariesModule.getTranscriptionSummariesByUser(...args);
365
+ }
366
+
367
+ public async getByOrganizationTranscriptionSummaries(...args: Parameters<TranscriptionSummaryModule['getByOrganizationTranscriptionSummaries']>) {
368
+ return this.transcriptionSummariesModule.getByOrganizationTranscriptionSummaries(...args);
369
+ }
370
+
371
+ // ======================
372
+ // AGENT METHODS
373
+ // ======================
374
+
375
+ public async createAgent(...args: Parameters<AgentModule['createAgent']>) {
376
+ return this.agentsModule.createAgent(...args);
377
+ }
378
+
379
+ public async getAgents(...args: Parameters<AgentModule['getAgents']>) {
380
+ return this.agentsModule.getAgents(...args);
381
+ }
382
+
383
+ public async getAgent(...args: Parameters<AgentModule['getAgent']>) {
384
+ return this.agentsModule.getAgent(...args);
385
+ }
386
+
387
+ public async updateAgent(...args: Parameters<AgentModule['updateAgent']>) {
388
+ return this.agentsModule.updateAgent(...args);
389
+ }
390
+
391
+ public async deleteAgent(...args: Parameters<AgentModule['deleteAgent']>) {
392
+ return this.agentsModule.deleteAgent(...args);
393
+ }
394
+
395
+ // ======================
396
+ // WORKFLOW METHODS
397
+ // ======================
398
+
399
+ public async createWorkflow(...args: Parameters<WorkflowModule['createWorkflow']>) {
400
+ return this.workflowsModule.createWorkflow(...args);
401
+ }
402
+
403
+ public async getWorkflows(...args: Parameters<WorkflowModule['getWorkflows']>) {
404
+ return this.workflowsModule.getWorkflows(...args);
405
+ }
406
+
407
+ public async getWorkflow(...args: Parameters<WorkflowModule['getWorkflow']>) {
408
+ return this.workflowsModule.getWorkflow(...args);
409
+ }
410
+
411
+ public async updateWorkflow(...args: Parameters<WorkflowModule['updateWorkflow']>) {
412
+ return this.workflowsModule.updateWorkflow(...args);
413
+ }
414
+
415
+ public async deleteWorkflow(...args: Parameters<WorkflowModule['deleteWorkflow']>) {
416
+ return this.workflowsModule.deleteWorkflow(...args);
417
+ }
418
+
419
+ // ======================
420
+ // AUDIO METHODS
421
+ // ======================
422
+
423
+ public async getAllAudioFiles(...args: Parameters<AudioModule['getAllAudioFiles']>) {
424
+ return this.audioModule.getAllAudioFiles(...args);
425
+ }
426
+
427
+ public async getOrganizationAudioFiles(...args: Parameters<AudioModule['getOrganizationAudioFiles']>) {
428
+ return this.audioModule.getOrganizationAudioFiles(...args);
429
+ }
430
+
431
+ // ======================
432
+ // LOG METHODS
433
+ // ======================
434
+
435
+ public async getLogs(...args: Parameters<LogModule['getLogs']>) {
436
+ return this.logsModule.getLogs(...args);
437
+ }
438
+
439
+ public async getLogsByUser(...args: Parameters<LogModule['getLogsByUser']>) {
440
+ return this.logsModule.getLogsByUser(...args);
441
+ }
442
+
443
+ public async getLogStats(...args: Parameters<LogModule['getLogStats']>) {
444
+ return this.logsModule.getLogStats(...args);
445
+ }
446
+
447
+ // ======================
448
+ // DEBUG METHODS
449
+ // ======================
450
+
451
+ public async getSessionsWithoutMedicalTranscriptions(...args: Parameters<DebugModule['getSessionsWithoutMedicalTranscriptions']>) {
452
+ return this.debugModule.getSessionsWithoutMedicalTranscriptions(...args);
453
+ }
454
+
455
+ public async downloadSessionAsZip(...args: Parameters<DebugModule['downloadSessionAsZip']>) {
456
+ return this.debugModule.downloadSessionAsZip(...args);
457
+ }
458
+
459
+ // ======================
460
+ // SYSTEM SNAPSHOT METHODS
461
+ // ======================
462
+
463
+ public async getSystemSnapshots(...args: Parameters<SystemSnapshotModule['getSnapshots']>) {
464
+ return this.systemSnapshotsModule.getSnapshots(...args);
465
+ }
466
+
467
+ public async getLatestSystemSnapshot(...args: Parameters<SystemSnapshotModule['getLatestSnapshot']>) {
468
+ return this.systemSnapshotsModule.getLatestSnapshot(...args);
469
+ }
470
+
471
+ public async getCurrentSystemMetrics(...args: Parameters<SystemSnapshotModule['getCurrentMetrics']>) {
472
+ return this.systemSnapshotsModule.getCurrentMetrics(...args);
473
+ }
474
+
475
+ // ======================
476
+ // EXTERNAL INTEGRATION METHODS
477
+ // ======================
478
+
479
+ public async createExternalIntegration(...args: Parameters<ExternalIntegrationModule['createExternalIntegration']>) {
480
+ return this.externalIntegrationsModule.createExternalIntegration(...args);
481
+ }
482
+
483
+ public async getExternalIntegrations(...args: Parameters<ExternalIntegrationModule['getExternalIntegrations']>) {
484
+ return this.externalIntegrationsModule.getExternalIntegrations(...args);
485
+ }
486
+
487
+ public async updateExternalIntegration(...args: Parameters<ExternalIntegrationModule['updateExternalIntegration']>) {
488
+ return this.externalIntegrationsModule.updateExternalIntegration(...args);
489
+ }
490
+
491
+ public async deleteExternalIntegration(...args: Parameters<ExternalIntegrationModule['deleteExternalIntegration']>) {
492
+ return this.externalIntegrationsModule.deleteExternalIntegration(...args);
493
+ }
494
+
495
+ // ======================
496
+ // DATA STRATEGY METHODS
497
+ // ======================
498
+
499
+ public async createDataStrategy(...args: Parameters<DataStrategyModule['createDataStrategy']>) {
500
+ return this.dataStrategiesModule.createDataStrategy(...args);
501
+ }
502
+
503
+ public async getDataStrategies(...args: Parameters<DataStrategyModule['getDataStrategies']>) {
504
+ return this.dataStrategiesModule.getDataStrategies(...args);
505
+ }
506
+
507
+ public async getDataStrategy(...args: Parameters<DataStrategyModule['getDataStrategy']>) {
508
+ return this.dataStrategiesModule.getDataStrategy(...args);
509
+ }
510
+
511
+ public async updateDataStrategy(...args: Parameters<DataStrategyModule['updateDataStrategy']>) {
512
+ return this.dataStrategiesModule.updateDataStrategy(...args);
513
+ }
514
+
515
+ public async deleteDataStrategy(...args: Parameters<DataStrategyModule['deleteDataStrategy']>) {
516
+ return this.dataStrategiesModule.deleteDataStrategy(...args);
517
+ }
518
+
519
+ // ======================
520
+ // REPORTS METHODS
521
+ // ======================
522
+
523
+ public async getCompanyDailyReportCsv(...args: Parameters<ReportsModule['getCompanyDailyReportCsv']>) {
524
+ return this.reportsModule.getCompanyDailyReportCsv(...args);
525
+ }
526
+
527
+ public async downloadCompanyDailyReport(...args: Parameters<ReportsModule['downloadCompanyDailyReport']>) {
528
+ return this.reportsModule.downloadCompanyDailyReport(...args);
529
+ }
530
+ }