@easyedu/js-lsm-api 1.48.0 → 1.50.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.
Files changed (85) hide show
  1. package/.openapi-generator/FILES +22 -0
  2. package/README.md +31 -8
  3. package/dist/apis/CertificateApi.d.ts +237 -0
  4. package/dist/apis/CertificateApi.js +587 -0
  5. package/dist/apis/index.d.ts +1 -0
  6. package/dist/apis/index.js +1 -0
  7. package/dist/esm/apis/CertificateApi.d.ts +237 -0
  8. package/dist/esm/apis/CertificateApi.js +583 -0
  9. package/dist/esm/apis/index.d.ts +1 -0
  10. package/dist/esm/apis/index.js +1 -0
  11. package/dist/esm/models/Certificate.d.ts +151 -0
  12. package/dist/esm/models/Certificate.js +114 -0
  13. package/dist/esm/models/CertificateConfig.d.ts +86 -0
  14. package/dist/esm/models/CertificateConfig.js +69 -0
  15. package/dist/esm/models/CertificatePublic.d.ts +98 -0
  16. package/dist/esm/models/CertificatePublic.js +87 -0
  17. package/dist/esm/models/EffectiveCertificateConfig.d.ts +62 -0
  18. package/dist/esm/models/EffectiveCertificateConfig.js +55 -0
  19. package/dist/esm/models/GetCertificateConfigList.d.ts +33 -0
  20. package/dist/esm/models/GetCertificateConfigList.js +44 -0
  21. package/dist/esm/models/GetCertificateList.d.ts +33 -0
  22. package/dist/esm/models/GetCertificateList.js +44 -0
  23. package/dist/esm/models/GetModuleInstructorBasicReportingEngagement.d.ts +24 -0
  24. package/dist/esm/models/GetModuleInstructorBasicReportingEngagement.js +16 -0
  25. package/dist/esm/models/PostCertificate.d.ts +50 -0
  26. package/dist/esm/models/PostCertificate.js +49 -0
  27. package/dist/esm/models/PostCertificateConfig.d.ts +62 -0
  28. package/dist/esm/models/PostCertificateConfig.js +53 -0
  29. package/dist/esm/models/PostRevokeCertificate.d.ts +32 -0
  30. package/dist/esm/models/PostRevokeCertificate.js +41 -0
  31. package/dist/esm/models/PutCertificateConfig.d.ts +56 -0
  32. package/dist/esm/models/PutCertificateConfig.js +49 -0
  33. package/dist/esm/models/index.d.ts +10 -0
  34. package/dist/esm/models/index.js +10 -0
  35. package/dist/models/Certificate.d.ts +151 -0
  36. package/dist/models/Certificate.js +122 -0
  37. package/dist/models/CertificateConfig.d.ts +86 -0
  38. package/dist/models/CertificateConfig.js +76 -0
  39. package/dist/models/CertificatePublic.d.ts +98 -0
  40. package/dist/models/CertificatePublic.js +95 -0
  41. package/dist/models/EffectiveCertificateConfig.d.ts +62 -0
  42. package/dist/models/EffectiveCertificateConfig.js +62 -0
  43. package/dist/models/GetCertificateConfigList.d.ts +33 -0
  44. package/dist/models/GetCertificateConfigList.js +51 -0
  45. package/dist/models/GetCertificateList.d.ts +33 -0
  46. package/dist/models/GetCertificateList.js +51 -0
  47. package/dist/models/GetModuleInstructorBasicReportingEngagement.d.ts +24 -0
  48. package/dist/models/GetModuleInstructorBasicReportingEngagement.js +16 -0
  49. package/dist/models/PostCertificate.d.ts +50 -0
  50. package/dist/models/PostCertificate.js +56 -0
  51. package/dist/models/PostCertificateConfig.d.ts +62 -0
  52. package/dist/models/PostCertificateConfig.js +60 -0
  53. package/dist/models/PostRevokeCertificate.d.ts +32 -0
  54. package/dist/models/PostRevokeCertificate.js +48 -0
  55. package/dist/models/PutCertificateConfig.d.ts +56 -0
  56. package/dist/models/PutCertificateConfig.js +56 -0
  57. package/dist/models/index.d.ts +10 -0
  58. package/dist/models/index.js +10 -0
  59. package/docs/Certificate.md +68 -0
  60. package/docs/CertificateApi.md +903 -0
  61. package/docs/CertificateConfig.md +52 -0
  62. package/docs/CertificatePublic.md +51 -0
  63. package/docs/EffectiveCertificateConfig.md +45 -0
  64. package/docs/GetCertificateConfigList.md +34 -0
  65. package/docs/GetCertificateList.md +34 -0
  66. package/docs/GetModuleInstructorBasicReportingEngagement.md +8 -0
  67. package/docs/PostCertificate.md +41 -0
  68. package/docs/PostCertificateConfig.md +44 -0
  69. package/docs/PostRevokeCertificate.md +34 -0
  70. package/docs/PutCertificateConfig.md +42 -0
  71. package/package.json +1 -1
  72. package/src/apis/CertificateApi.ts +765 -0
  73. package/src/apis/index.ts +1 -0
  74. package/src/models/Certificate.ts +234 -0
  75. package/src/models/CertificateConfig.ts +142 -0
  76. package/src/models/CertificatePublic.ts +158 -0
  77. package/src/models/EffectiveCertificateConfig.ts +107 -0
  78. package/src/models/GetCertificateConfigList.ts +74 -0
  79. package/src/models/GetCertificateList.ts +74 -0
  80. package/src/models/GetModuleInstructorBasicReportingEngagement.ts +36 -0
  81. package/src/models/PostCertificate.ts +90 -0
  82. package/src/models/PostCertificateConfig.ts +106 -0
  83. package/src/models/PostRevokeCertificate.ts +65 -0
  84. package/src/models/PutCertificateConfig.ts +97 -0
  85. package/src/models/index.ts +10 -0
@@ -0,0 +1,765 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * LMS API
5
+ * LMS API
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ Certificate,
19
+ CertificateConfig,
20
+ CertificatePublic,
21
+ EffectiveCertificateConfig,
22
+ GetCertificateConfigList,
23
+ GetCertificateList,
24
+ PostCertificate,
25
+ PostCertificateConfig,
26
+ PostRevokeCertificate,
27
+ PutCertificateConfig,
28
+ } from '../models/index';
29
+ import {
30
+ CertificateFromJSON,
31
+ CertificateToJSON,
32
+ CertificateConfigFromJSON,
33
+ CertificateConfigToJSON,
34
+ CertificatePublicFromJSON,
35
+ CertificatePublicToJSON,
36
+ EffectiveCertificateConfigFromJSON,
37
+ EffectiveCertificateConfigToJSON,
38
+ GetCertificateConfigListFromJSON,
39
+ GetCertificateConfigListToJSON,
40
+ GetCertificateListFromJSON,
41
+ GetCertificateListToJSON,
42
+ PostCertificateFromJSON,
43
+ PostCertificateToJSON,
44
+ PostCertificateConfigFromJSON,
45
+ PostCertificateConfigToJSON,
46
+ PostRevokeCertificateFromJSON,
47
+ PostRevokeCertificateToJSON,
48
+ PutCertificateConfigFromJSON,
49
+ PutCertificateConfigToJSON,
50
+ } from '../models/index';
51
+
52
+ export interface DeleteCertificateConfigRequest {
53
+ configId: string;
54
+ }
55
+
56
+ export interface GetCertificateRequest {
57
+ certificateId: string;
58
+ }
59
+
60
+ export interface GetCertificateConfigRequest {
61
+ configId: string;
62
+ }
63
+
64
+ export interface GetCertificateConfigsRequest {
65
+ courseId?: string;
66
+ scope?: GetCertificateConfigsScopeEnum;
67
+ }
68
+
69
+ export interface GetCertificatePdfRequest {
70
+ certificateId: string;
71
+ }
72
+
73
+ export interface GetCertificatesRequest {
74
+ userId?: string;
75
+ courseId?: string;
76
+ status?: GetCertificatesStatusEnum;
77
+ issuedAfter?: number;
78
+ issuedBefore?: number;
79
+ expiresAfter?: number;
80
+ expiresBefore?: number;
81
+ expiringWithinDays?: number;
82
+ }
83
+
84
+ export interface GetEffectiveCertificateConfigRequest {
85
+ courseId: string;
86
+ }
87
+
88
+ export interface PostCertificateConfigRequest {
89
+ postCertificateConfig: PostCertificateConfig;
90
+ }
91
+
92
+ export interface PostCourseCertificateRequest {
93
+ courseId: string;
94
+ postCertificate: PostCertificate;
95
+ }
96
+
97
+ export interface PostRevokeCertificateRequest {
98
+ certificateId: string;
99
+ postRevokeCertificate: PostRevokeCertificate;
100
+ }
101
+
102
+ export interface PutCertificateConfigRequest {
103
+ configId: string;
104
+ putCertificateConfig: PutCertificateConfig;
105
+ }
106
+
107
+ export interface VerifyCertificateRequest {
108
+ certificateId: string;
109
+ }
110
+
111
+ /**
112
+ *
113
+ */
114
+ export class CertificateApi extends runtime.BaseAPI {
115
+
116
+ /**
117
+ * Creates request options for deleteCertificateConfig without sending the request
118
+ */
119
+ async deleteCertificateConfigRequestOpts(requestParameters: DeleteCertificateConfigRequest): Promise<runtime.RequestOpts> {
120
+ if (requestParameters['configId'] == null) {
121
+ throw new runtime.RequiredError(
122
+ 'configId',
123
+ 'Required parameter "configId" was null or undefined when calling deleteCertificateConfig().'
124
+ );
125
+ }
126
+
127
+ const queryParameters: any = {};
128
+
129
+ const headerParameters: runtime.HTTPHeaders = {};
130
+
131
+
132
+ let urlPath = `/certificate-configs/{configId}`;
133
+ urlPath = urlPath.replace(`{${"configId"}}`, encodeURIComponent(String(requestParameters['configId'])));
134
+
135
+ return {
136
+ path: urlPath,
137
+ method: 'DELETE',
138
+ headers: headerParameters,
139
+ query: queryParameters,
140
+ };
141
+ }
142
+
143
+ /**
144
+ * Delete a certificate config
145
+ */
146
+ async deleteCertificateConfigRaw(requestParameters: DeleteCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
147
+ const requestOptions = await this.deleteCertificateConfigRequestOpts(requestParameters);
148
+ const response = await this.request(requestOptions, initOverrides);
149
+
150
+ return new runtime.VoidApiResponse(response);
151
+ }
152
+
153
+ /**
154
+ * Delete a certificate config
155
+ */
156
+ async deleteCertificateConfig(requestParameters: DeleteCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
157
+ await this.deleteCertificateConfigRaw(requestParameters, initOverrides);
158
+ }
159
+
160
+ /**
161
+ * Creates request options for getCertificate without sending the request
162
+ */
163
+ async getCertificateRequestOpts(requestParameters: GetCertificateRequest): Promise<runtime.RequestOpts> {
164
+ if (requestParameters['certificateId'] == null) {
165
+ throw new runtime.RequiredError(
166
+ 'certificateId',
167
+ 'Required parameter "certificateId" was null or undefined when calling getCertificate().'
168
+ );
169
+ }
170
+
171
+ const queryParameters: any = {};
172
+
173
+ const headerParameters: runtime.HTTPHeaders = {};
174
+
175
+
176
+ let urlPath = `/certificates/{certificateId}`;
177
+ urlPath = urlPath.replace(`{${"certificateId"}}`, encodeURIComponent(String(requestParameters['certificateId'])));
178
+
179
+ return {
180
+ path: urlPath,
181
+ method: 'GET',
182
+ headers: headerParameters,
183
+ query: queryParameters,
184
+ };
185
+ }
186
+
187
+ /**
188
+ * Get a single certificate
189
+ */
190
+ async getCertificateRaw(requestParameters: GetCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Certificate>> {
191
+ const requestOptions = await this.getCertificateRequestOpts(requestParameters);
192
+ const response = await this.request(requestOptions, initOverrides);
193
+
194
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificateFromJSON(jsonValue));
195
+ }
196
+
197
+ /**
198
+ * Get a single certificate
199
+ */
200
+ async getCertificate(requestParameters: GetCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Certificate> {
201
+ const response = await this.getCertificateRaw(requestParameters, initOverrides);
202
+ return await response.value();
203
+ }
204
+
205
+ /**
206
+ * Creates request options for getCertificateConfig without sending the request
207
+ */
208
+ async getCertificateConfigRequestOpts(requestParameters: GetCertificateConfigRequest): Promise<runtime.RequestOpts> {
209
+ if (requestParameters['configId'] == null) {
210
+ throw new runtime.RequiredError(
211
+ 'configId',
212
+ 'Required parameter "configId" was null or undefined when calling getCertificateConfig().'
213
+ );
214
+ }
215
+
216
+ const queryParameters: any = {};
217
+
218
+ const headerParameters: runtime.HTTPHeaders = {};
219
+
220
+
221
+ let urlPath = `/certificate-configs/{configId}`;
222
+ urlPath = urlPath.replace(`{${"configId"}}`, encodeURIComponent(String(requestParameters['configId'])));
223
+
224
+ return {
225
+ path: urlPath,
226
+ method: 'GET',
227
+ headers: headerParameters,
228
+ query: queryParameters,
229
+ };
230
+ }
231
+
232
+ /**
233
+ * Get a certificate config
234
+ */
235
+ async getCertificateConfigRaw(requestParameters: GetCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CertificateConfig>> {
236
+ const requestOptions = await this.getCertificateConfigRequestOpts(requestParameters);
237
+ const response = await this.request(requestOptions, initOverrides);
238
+
239
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificateConfigFromJSON(jsonValue));
240
+ }
241
+
242
+ /**
243
+ * Get a certificate config
244
+ */
245
+ async getCertificateConfig(requestParameters: GetCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CertificateConfig> {
246
+ const response = await this.getCertificateConfigRaw(requestParameters, initOverrides);
247
+ return await response.value();
248
+ }
249
+
250
+ /**
251
+ * Creates request options for getCertificateConfigs without sending the request
252
+ */
253
+ async getCertificateConfigsRequestOpts(requestParameters: GetCertificateConfigsRequest): Promise<runtime.RequestOpts> {
254
+ const queryParameters: any = {};
255
+
256
+ if (requestParameters['courseId'] != null) {
257
+ queryParameters['course_id'] = requestParameters['courseId'];
258
+ }
259
+
260
+ if (requestParameters['scope'] != null) {
261
+ queryParameters['scope'] = requestParameters['scope'];
262
+ }
263
+
264
+ const headerParameters: runtime.HTTPHeaders = {};
265
+
266
+
267
+ let urlPath = `/certificate-configs`;
268
+
269
+ return {
270
+ path: urlPath,
271
+ method: 'GET',
272
+ headers: headerParameters,
273
+ query: queryParameters,
274
+ };
275
+ }
276
+
277
+ /**
278
+ * List certificate configs in the current portal
279
+ */
280
+ async getCertificateConfigsRaw(requestParameters: GetCertificateConfigsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCertificateConfigList>> {
281
+ const requestOptions = await this.getCertificateConfigsRequestOpts(requestParameters);
282
+ const response = await this.request(requestOptions, initOverrides);
283
+
284
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetCertificateConfigListFromJSON(jsonValue));
285
+ }
286
+
287
+ /**
288
+ * List certificate configs in the current portal
289
+ */
290
+ async getCertificateConfigs(requestParameters: GetCertificateConfigsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCertificateConfigList> {
291
+ const response = await this.getCertificateConfigsRaw(requestParameters, initOverrides);
292
+ return await response.value();
293
+ }
294
+
295
+ /**
296
+ * Creates request options for getCertificatePdf without sending the request
297
+ */
298
+ async getCertificatePdfRequestOpts(requestParameters: GetCertificatePdfRequest): Promise<runtime.RequestOpts> {
299
+ if (requestParameters['certificateId'] == null) {
300
+ throw new runtime.RequiredError(
301
+ 'certificateId',
302
+ 'Required parameter "certificateId" was null or undefined when calling getCertificatePdf().'
303
+ );
304
+ }
305
+
306
+ const queryParameters: any = {};
307
+
308
+ const headerParameters: runtime.HTTPHeaders = {};
309
+
310
+
311
+ let urlPath = `/certificates/{certificateId}/pdf`;
312
+ urlPath = urlPath.replace(`{${"certificateId"}}`, encodeURIComponent(String(requestParameters['certificateId'])));
313
+
314
+ return {
315
+ path: urlPath,
316
+ method: 'GET',
317
+ headers: headerParameters,
318
+ query: queryParameters,
319
+ };
320
+ }
321
+
322
+ /**
323
+ * Download certificate as PDF
324
+ */
325
+ async getCertificatePdfRaw(requestParameters: GetCertificatePdfRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
326
+ const requestOptions = await this.getCertificatePdfRequestOpts(requestParameters);
327
+ const response = await this.request(requestOptions, initOverrides);
328
+
329
+ return new runtime.BlobApiResponse(response);
330
+ }
331
+
332
+ /**
333
+ * Download certificate as PDF
334
+ */
335
+ async getCertificatePdf(requestParameters: GetCertificatePdfRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Blob> {
336
+ const response = await this.getCertificatePdfRaw(requestParameters, initOverrides);
337
+ return await response.value();
338
+ }
339
+
340
+ /**
341
+ * Creates request options for getCertificates without sending the request
342
+ */
343
+ async getCertificatesRequestOpts(requestParameters: GetCertificatesRequest): Promise<runtime.RequestOpts> {
344
+ const queryParameters: any = {};
345
+
346
+ if (requestParameters['userId'] != null) {
347
+ queryParameters['user_id'] = requestParameters['userId'];
348
+ }
349
+
350
+ if (requestParameters['courseId'] != null) {
351
+ queryParameters['course_id'] = requestParameters['courseId'];
352
+ }
353
+
354
+ if (requestParameters['status'] != null) {
355
+ queryParameters['status'] = requestParameters['status'];
356
+ }
357
+
358
+ if (requestParameters['issuedAfter'] != null) {
359
+ queryParameters['issued_after'] = requestParameters['issuedAfter'];
360
+ }
361
+
362
+ if (requestParameters['issuedBefore'] != null) {
363
+ queryParameters['issued_before'] = requestParameters['issuedBefore'];
364
+ }
365
+
366
+ if (requestParameters['expiresAfter'] != null) {
367
+ queryParameters['expires_after'] = requestParameters['expiresAfter'];
368
+ }
369
+
370
+ if (requestParameters['expiresBefore'] != null) {
371
+ queryParameters['expires_before'] = requestParameters['expiresBefore'];
372
+ }
373
+
374
+ if (requestParameters['expiringWithinDays'] != null) {
375
+ queryParameters['expiring_within_days'] = requestParameters['expiringWithinDays'];
376
+ }
377
+
378
+ const headerParameters: runtime.HTTPHeaders = {};
379
+
380
+
381
+ let urlPath = `/certificates`;
382
+
383
+ return {
384
+ path: urlPath,
385
+ method: 'GET',
386
+ headers: headerParameters,
387
+ query: queryParameters,
388
+ };
389
+ }
390
+
391
+ /**
392
+ * List certificates in the current portal
393
+ */
394
+ async getCertificatesRaw(requestParameters: GetCertificatesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCertificateList>> {
395
+ const requestOptions = await this.getCertificatesRequestOpts(requestParameters);
396
+ const response = await this.request(requestOptions, initOverrides);
397
+
398
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetCertificateListFromJSON(jsonValue));
399
+ }
400
+
401
+ /**
402
+ * List certificates in the current portal
403
+ */
404
+ async getCertificates(requestParameters: GetCertificatesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCertificateList> {
405
+ const response = await this.getCertificatesRaw(requestParameters, initOverrides);
406
+ return await response.value();
407
+ }
408
+
409
+ /**
410
+ * Creates request options for getCurrentUserCertificates without sending the request
411
+ */
412
+ async getCurrentUserCertificatesRequestOpts(): Promise<runtime.RequestOpts> {
413
+ const queryParameters: any = {};
414
+
415
+ const headerParameters: runtime.HTTPHeaders = {};
416
+
417
+
418
+ let urlPath = `/certificates/current`;
419
+
420
+ return {
421
+ path: urlPath,
422
+ method: 'GET',
423
+ headers: headerParameters,
424
+ query: queryParameters,
425
+ };
426
+ }
427
+
428
+ /**
429
+ * List the authenticated user\'s own certificates
430
+ */
431
+ async getCurrentUserCertificatesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCertificateList>> {
432
+ const requestOptions = await this.getCurrentUserCertificatesRequestOpts();
433
+ const response = await this.request(requestOptions, initOverrides);
434
+
435
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetCertificateListFromJSON(jsonValue));
436
+ }
437
+
438
+ /**
439
+ * List the authenticated user\'s own certificates
440
+ */
441
+ async getCurrentUserCertificates(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCertificateList> {
442
+ const response = await this.getCurrentUserCertificatesRaw(initOverrides);
443
+ return await response.value();
444
+ }
445
+
446
+ /**
447
+ * Creates request options for getEffectiveCertificateConfig without sending the request
448
+ */
449
+ async getEffectiveCertificateConfigRequestOpts(requestParameters: GetEffectiveCertificateConfigRequest): Promise<runtime.RequestOpts> {
450
+ if (requestParameters['courseId'] == null) {
451
+ throw new runtime.RequiredError(
452
+ 'courseId',
453
+ 'Required parameter "courseId" was null or undefined when calling getEffectiveCertificateConfig().'
454
+ );
455
+ }
456
+
457
+ const queryParameters: any = {};
458
+
459
+ const headerParameters: runtime.HTTPHeaders = {};
460
+
461
+
462
+ let urlPath = `/courses/{courseId}/certificate-config/effective`;
463
+ urlPath = urlPath.replace(`{${"courseId"}}`, encodeURIComponent(String(requestParameters['courseId'])));
464
+
465
+ return {
466
+ path: urlPath,
467
+ method: 'GET',
468
+ headers: headerParameters,
469
+ query: queryParameters,
470
+ };
471
+ }
472
+
473
+ /**
474
+ * Resolve effective certificate config for a course
475
+ */
476
+ async getEffectiveCertificateConfigRaw(requestParameters: GetEffectiveCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EffectiveCertificateConfig>> {
477
+ const requestOptions = await this.getEffectiveCertificateConfigRequestOpts(requestParameters);
478
+ const response = await this.request(requestOptions, initOverrides);
479
+
480
+ return new runtime.JSONApiResponse(response, (jsonValue) => EffectiveCertificateConfigFromJSON(jsonValue));
481
+ }
482
+
483
+ /**
484
+ * Resolve effective certificate config for a course
485
+ */
486
+ async getEffectiveCertificateConfig(requestParameters: GetEffectiveCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EffectiveCertificateConfig> {
487
+ const response = await this.getEffectiveCertificateConfigRaw(requestParameters, initOverrides);
488
+ return await response.value();
489
+ }
490
+
491
+ /**
492
+ * Creates request options for postCertificateConfig without sending the request
493
+ */
494
+ async postCertificateConfigRequestOpts(requestParameters: PostCertificateConfigRequest): Promise<runtime.RequestOpts> {
495
+ if (requestParameters['postCertificateConfig'] == null) {
496
+ throw new runtime.RequiredError(
497
+ 'postCertificateConfig',
498
+ 'Required parameter "postCertificateConfig" was null or undefined when calling postCertificateConfig().'
499
+ );
500
+ }
501
+
502
+ const queryParameters: any = {};
503
+
504
+ const headerParameters: runtime.HTTPHeaders = {};
505
+
506
+ headerParameters['Content-Type'] = 'application/json';
507
+
508
+
509
+ let urlPath = `/certificate-configs`;
510
+
511
+ return {
512
+ path: urlPath,
513
+ method: 'POST',
514
+ headers: headerParameters,
515
+ query: queryParameters,
516
+ body: PostCertificateConfigToJSON(requestParameters['postCertificateConfig']),
517
+ };
518
+ }
519
+
520
+ /**
521
+ * Create a certificate config
522
+ */
523
+ async postCertificateConfigRaw(requestParameters: PostCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CertificateConfig>> {
524
+ const requestOptions = await this.postCertificateConfigRequestOpts(requestParameters);
525
+ const response = await this.request(requestOptions, initOverrides);
526
+
527
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificateConfigFromJSON(jsonValue));
528
+ }
529
+
530
+ /**
531
+ * Create a certificate config
532
+ */
533
+ async postCertificateConfig(requestParameters: PostCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CertificateConfig> {
534
+ const response = await this.postCertificateConfigRaw(requestParameters, initOverrides);
535
+ return await response.value();
536
+ }
537
+
538
+ /**
539
+ * Creates request options for postCourseCertificate without sending the request
540
+ */
541
+ async postCourseCertificateRequestOpts(requestParameters: PostCourseCertificateRequest): Promise<runtime.RequestOpts> {
542
+ if (requestParameters['courseId'] == null) {
543
+ throw new runtime.RequiredError(
544
+ 'courseId',
545
+ 'Required parameter "courseId" was null or undefined when calling postCourseCertificate().'
546
+ );
547
+ }
548
+
549
+ if (requestParameters['postCertificate'] == null) {
550
+ throw new runtime.RequiredError(
551
+ 'postCertificate',
552
+ 'Required parameter "postCertificate" was null or undefined when calling postCourseCertificate().'
553
+ );
554
+ }
555
+
556
+ const queryParameters: any = {};
557
+
558
+ const headerParameters: runtime.HTTPHeaders = {};
559
+
560
+ headerParameters['Content-Type'] = 'application/json';
561
+
562
+
563
+ let urlPath = `/courses/{courseId}/certificates`;
564
+ urlPath = urlPath.replace(`{${"courseId"}}`, encodeURIComponent(String(requestParameters['courseId'])));
565
+
566
+ return {
567
+ path: urlPath,
568
+ method: 'POST',
569
+ headers: headerParameters,
570
+ query: queryParameters,
571
+ body: PostCertificateToJSON(requestParameters['postCertificate']),
572
+ };
573
+ }
574
+
575
+ /**
576
+ * Manually issue a certificate for a course
577
+ */
578
+ async postCourseCertificateRaw(requestParameters: PostCourseCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Certificate>> {
579
+ const requestOptions = await this.postCourseCertificateRequestOpts(requestParameters);
580
+ const response = await this.request(requestOptions, initOverrides);
581
+
582
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificateFromJSON(jsonValue));
583
+ }
584
+
585
+ /**
586
+ * Manually issue a certificate for a course
587
+ */
588
+ async postCourseCertificate(requestParameters: PostCourseCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Certificate> {
589
+ const response = await this.postCourseCertificateRaw(requestParameters, initOverrides);
590
+ return await response.value();
591
+ }
592
+
593
+ /**
594
+ * Creates request options for postRevokeCertificate without sending the request
595
+ */
596
+ async postRevokeCertificateRequestOpts(requestParameters: PostRevokeCertificateRequest): Promise<runtime.RequestOpts> {
597
+ if (requestParameters['certificateId'] == null) {
598
+ throw new runtime.RequiredError(
599
+ 'certificateId',
600
+ 'Required parameter "certificateId" was null or undefined when calling postRevokeCertificate().'
601
+ );
602
+ }
603
+
604
+ if (requestParameters['postRevokeCertificate'] == null) {
605
+ throw new runtime.RequiredError(
606
+ 'postRevokeCertificate',
607
+ 'Required parameter "postRevokeCertificate" was null or undefined when calling postRevokeCertificate().'
608
+ );
609
+ }
610
+
611
+ const queryParameters: any = {};
612
+
613
+ const headerParameters: runtime.HTTPHeaders = {};
614
+
615
+ headerParameters['Content-Type'] = 'application/json';
616
+
617
+
618
+ let urlPath = `/certificates/{certificateId}/revoke`;
619
+ urlPath = urlPath.replace(`{${"certificateId"}}`, encodeURIComponent(String(requestParameters['certificateId'])));
620
+
621
+ return {
622
+ path: urlPath,
623
+ method: 'POST',
624
+ headers: headerParameters,
625
+ query: queryParameters,
626
+ body: PostRevokeCertificateToJSON(requestParameters['postRevokeCertificate']),
627
+ };
628
+ }
629
+
630
+ /**
631
+ * Revoke a certificate
632
+ */
633
+ async postRevokeCertificateRaw(requestParameters: PostRevokeCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Certificate>> {
634
+ const requestOptions = await this.postRevokeCertificateRequestOpts(requestParameters);
635
+ const response = await this.request(requestOptions, initOverrides);
636
+
637
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificateFromJSON(jsonValue));
638
+ }
639
+
640
+ /**
641
+ * Revoke a certificate
642
+ */
643
+ async postRevokeCertificate(requestParameters: PostRevokeCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Certificate> {
644
+ const response = await this.postRevokeCertificateRaw(requestParameters, initOverrides);
645
+ return await response.value();
646
+ }
647
+
648
+ /**
649
+ * Creates request options for putCertificateConfig without sending the request
650
+ */
651
+ async putCertificateConfigRequestOpts(requestParameters: PutCertificateConfigRequest): Promise<runtime.RequestOpts> {
652
+ if (requestParameters['configId'] == null) {
653
+ throw new runtime.RequiredError(
654
+ 'configId',
655
+ 'Required parameter "configId" was null or undefined when calling putCertificateConfig().'
656
+ );
657
+ }
658
+
659
+ if (requestParameters['putCertificateConfig'] == null) {
660
+ throw new runtime.RequiredError(
661
+ 'putCertificateConfig',
662
+ 'Required parameter "putCertificateConfig" was null or undefined when calling putCertificateConfig().'
663
+ );
664
+ }
665
+
666
+ const queryParameters: any = {};
667
+
668
+ const headerParameters: runtime.HTTPHeaders = {};
669
+
670
+ headerParameters['Content-Type'] = 'application/json';
671
+
672
+
673
+ let urlPath = `/certificate-configs/{configId}`;
674
+ urlPath = urlPath.replace(`{${"configId"}}`, encodeURIComponent(String(requestParameters['configId'])));
675
+
676
+ return {
677
+ path: urlPath,
678
+ method: 'PUT',
679
+ headers: headerParameters,
680
+ query: queryParameters,
681
+ body: PutCertificateConfigToJSON(requestParameters['putCertificateConfig']),
682
+ };
683
+ }
684
+
685
+ /**
686
+ * Update a certificate config
687
+ */
688
+ async putCertificateConfigRaw(requestParameters: PutCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CertificateConfig>> {
689
+ const requestOptions = await this.putCertificateConfigRequestOpts(requestParameters);
690
+ const response = await this.request(requestOptions, initOverrides);
691
+
692
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificateConfigFromJSON(jsonValue));
693
+ }
694
+
695
+ /**
696
+ * Update a certificate config
697
+ */
698
+ async putCertificateConfig(requestParameters: PutCertificateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CertificateConfig> {
699
+ const response = await this.putCertificateConfigRaw(requestParameters, initOverrides);
700
+ return await response.value();
701
+ }
702
+
703
+ /**
704
+ * Creates request options for verifyCertificate without sending the request
705
+ */
706
+ async verifyCertificateRequestOpts(requestParameters: VerifyCertificateRequest): Promise<runtime.RequestOpts> {
707
+ if (requestParameters['certificateId'] == null) {
708
+ throw new runtime.RequiredError(
709
+ 'certificateId',
710
+ 'Required parameter "certificateId" was null or undefined when calling verifyCertificate().'
711
+ );
712
+ }
713
+
714
+ const queryParameters: any = {};
715
+
716
+ const headerParameters: runtime.HTTPHeaders = {};
717
+
718
+
719
+ let urlPath = `/public/certificates/{certificateId}/verify`;
720
+ urlPath = urlPath.replace(`{${"certificateId"}}`, encodeURIComponent(String(requestParameters['certificateId'])));
721
+
722
+ return {
723
+ path: urlPath,
724
+ method: 'GET',
725
+ headers: headerParameters,
726
+ query: queryParameters,
727
+ };
728
+ }
729
+
730
+ /**
731
+ * Public certificate verification (no auth)
732
+ */
733
+ async verifyCertificateRaw(requestParameters: VerifyCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CertificatePublic>> {
734
+ const requestOptions = await this.verifyCertificateRequestOpts(requestParameters);
735
+ const response = await this.request(requestOptions, initOverrides);
736
+
737
+ return new runtime.JSONApiResponse(response, (jsonValue) => CertificatePublicFromJSON(jsonValue));
738
+ }
739
+
740
+ /**
741
+ * Public certificate verification (no auth)
742
+ */
743
+ async verifyCertificate(requestParameters: VerifyCertificateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CertificatePublic> {
744
+ const response = await this.verifyCertificateRaw(requestParameters, initOverrides);
745
+ return await response.value();
746
+ }
747
+
748
+ }
749
+
750
+ /**
751
+ * @export
752
+ */
753
+ export const GetCertificateConfigsScopeEnum = {
754
+ Portal: 'portal',
755
+ Course: 'course'
756
+ } as const;
757
+ export type GetCertificateConfigsScopeEnum = typeof GetCertificateConfigsScopeEnum[keyof typeof GetCertificateConfigsScopeEnum];
758
+ /**
759
+ * @export
760
+ */
761
+ export const GetCertificatesStatusEnum = {
762
+ Active: 'active',
763
+ Revoked: 'revoked'
764
+ } as const;
765
+ export type GetCertificatesStatusEnum = typeof GetCertificatesStatusEnum[keyof typeof GetCertificatesStatusEnum];