@faiber/faiber-lms 0.6.2 → 0.8.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.
@@ -11,7 +11,7 @@ export type AcademySubmitExamPostResponse = import("./types.js").AcademyExamResu
11
11
  export type AcademyCategoriesGetResponse = import("./types.js").AcademyCategoriesResponse;
12
12
  /** Backend query type: CatalogQuery. */
13
13
  export interface AcademyCoursesGetQuery extends QueryParams {
14
- "category_id"?: number | null;
14
+ "category_id"?: string | null;
15
15
  }
16
16
  /** Backend response type: Value. */
17
17
  export type AcademyCoursesGetResponse = import("./types.js").AcademyCoursesResponse;
@@ -43,15 +43,15 @@ export interface CertificateIndexCertificateGetQuery extends QueryParams {
43
43
  }
44
44
  /** Backend response type: crate::models::PagedResult<models::CertificateResponse>. */
45
45
  export interface CertificateIndexCertificateGetResponseItem extends JsonObject {
46
- "id": number;
46
+ "id": string;
47
47
  "public_id": string;
48
48
  "user_id": string;
49
49
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
50
- "course_id"?: number | null;
51
- "classroom_id"?: number | null;
50
+ "course_id"?: string | null;
51
+ "classroom_id"?: string | null;
52
52
  "title": string;
53
- "certificate_template_id"?: number | null;
54
- "grade_id"?: number | null;
53
+ "certificate_template_id"?: string | null;
54
+ "grade_id"?: string | null;
55
55
  "status": string;
56
56
  "verification_code"?: string | null;
57
57
  "legacy_code"?: string | null;
@@ -79,11 +79,11 @@ export interface CertificateIndexCertificateGetResponse extends ApiEnvelope<Cert
79
79
  /** Backend request type: models::CreateCertificateRequest. */
80
80
  export interface CertificateStoreCertificatePostInput extends JsonObject {
81
81
  "user_id": string;
82
- "course_id"?: number | null;
83
- "classroom_id"?: number | null;
82
+ "course_id"?: string | null;
83
+ "classroom_id"?: string | null;
84
84
  "title": string;
85
- "certificate_template_id"?: number | null;
86
- "grade_id"?: number | null;
85
+ "certificate_template_id"?: string | null;
86
+ "grade_id"?: string | null;
87
87
  "status"?: string | null;
88
88
  "verification_code"?: string | null;
89
89
  "issued_by"?: string | null;
@@ -93,15 +93,15 @@ export interface CertificateStoreCertificatePostInput extends JsonObject {
93
93
  }
94
94
  /** Backend response type: models::CertificateResponse. */
95
95
  export interface CertificateStoreCertificatePostResponseData extends JsonObject {
96
- "id": number;
96
+ "id": string;
97
97
  "public_id": string;
98
98
  "user_id": string;
99
99
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
100
- "course_id"?: number | null;
101
- "classroom_id"?: number | null;
100
+ "course_id"?: string | null;
101
+ "classroom_id"?: string | null;
102
102
  "title": string;
103
- "certificate_template_id"?: number | null;
104
- "grade_id"?: number | null;
103
+ "certificate_template_id"?: string | null;
104
+ "grade_id"?: string | null;
105
105
  "status": string;
106
106
  "verification_code"?: string | null;
107
107
  "legacy_code"?: string | null;
@@ -116,17 +116,20 @@ export interface CertificateStoreCertificatePostResponseData extends JsonObject
116
116
  }
117
117
  export interface CertificateStoreCertificatePostResponse extends ApiEnvelope<CertificateStoreCertificatePostResponseData> {
118
118
  }
119
+ /** Backend response type: raw-response. */
120
+ export interface CertificateRenderCertificateImageGetResponse extends ApiEnvelope<JsonValue> {
121
+ }
119
122
  /** Backend response type: models::CertificateResponse. */
120
123
  export interface CertificateShowCertificateGetResponseData extends JsonObject {
121
- "id": number;
124
+ "id": string;
122
125
  "public_id": string;
123
126
  "user_id": string;
124
127
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
125
- "course_id"?: number | null;
126
- "classroom_id"?: number | null;
128
+ "course_id"?: string | null;
129
+ "classroom_id"?: string | null;
127
130
  "title": string;
128
- "certificate_template_id"?: number | null;
129
- "grade_id"?: number | null;
131
+ "certificate_template_id"?: string | null;
132
+ "grade_id"?: string | null;
130
133
  "status": string;
131
134
  "verification_code"?: string | null;
132
135
  "legacy_code"?: string | null;
@@ -144,8 +147,8 @@ export interface CertificateShowCertificateGetResponse extends ApiEnvelope<Certi
144
147
  /** Backend request type: models::UpdateCertificateRequest. */
145
148
  export interface CertificateUpdateCertificatePatchInput extends JsonObject {
146
149
  "user_id"?: string | null;
147
- "course_id"?: number | null;
148
- "classroom_id"?: number | null;
150
+ "course_id"?: string | null;
151
+ "classroom_id"?: string | null;
149
152
  "title"?: string | null;
150
153
  "status"?: string | null;
151
154
  "issued_at"?: string | null;
@@ -154,15 +157,15 @@ export interface CertificateUpdateCertificatePatchInput extends JsonObject {
154
157
  }
155
158
  /** Backend response type: models::CertificateResponse. */
156
159
  export interface CertificateUpdateCertificatePatchResponseData extends JsonObject {
157
- "id": number;
160
+ "id": string;
158
161
  "public_id": string;
159
162
  "user_id": string;
160
163
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
161
- "course_id"?: number | null;
162
- "classroom_id"?: number | null;
164
+ "course_id"?: string | null;
165
+ "classroom_id"?: string | null;
163
166
  "title": string;
164
- "certificate_template_id"?: number | null;
165
- "grade_id"?: number | null;
167
+ "certificate_template_id"?: string | null;
168
+ "grade_id"?: string | null;
166
169
  "status": string;
167
170
  "verification_code"?: string | null;
168
171
  "legacy_code"?: string | null;
@@ -177,32 +180,130 @@ export interface CertificateUpdateCertificatePatchResponseData extends JsonObjec
177
180
  }
178
181
  export interface CertificateUpdateCertificatePatchResponse extends ApiEnvelope<CertificateUpdateCertificatePatchResponseData> {
179
182
  }
183
+ /** Backend query type: PaginationQuery. */
184
+ export interface CertificateIndexTemplateGetQuery extends QueryParams {
185
+ "page_number"?: number | null;
186
+ "page_size"?: number | null;
187
+ }
188
+ /** Backend response type: crate::models::PagedResult<models::CertificateTemplateResponse>. */
189
+ export interface CertificateIndexTemplateGetResponseItem extends JsonObject {
190
+ "id": string;
191
+ "name": string;
192
+ "name_en"?: string | null;
193
+ "background_url": string;
194
+ "canvas_width": number;
195
+ "canvas_height": number;
196
+ "layout": JsonValue;
197
+ "status": string;
198
+ "created_at": string;
199
+ "updated_at": string;
200
+ }
201
+ export interface CertificateIndexTemplateGetResponsePageMeta extends JsonObject {
202
+ "page": number;
203
+ "page_size": number;
204
+ "total_items": number;
205
+ "total_pages": number;
206
+ }
207
+ export interface CertificateIndexTemplateGetResponseData extends JsonObject {
208
+ "data": CertificateIndexTemplateGetResponseItem[];
209
+ "meta": CertificateIndexTemplateGetResponsePageMeta;
210
+ }
211
+ export interface CertificateIndexTemplateGetResponse extends ApiEnvelope<CertificateIndexTemplateGetResponseData> {
212
+ }
213
+ /** Backend request type: models::CreateCertificateTemplateRequest. */
214
+ export interface CertificateStoreTemplatePostInput extends JsonObject {
215
+ "name": string;
216
+ "name_en"?: string | null;
217
+ "background_url": string;
218
+ "canvas_width": number;
219
+ "canvas_height": number;
220
+ "layout"?: JsonValue | null;
221
+ "status"?: string | null;
222
+ }
223
+ /** Backend response type: models::CertificateTemplateResponse. */
224
+ export interface CertificateStoreTemplatePostResponseData extends JsonObject {
225
+ "id": string;
226
+ "name": string;
227
+ "name_en"?: string | null;
228
+ "background_url": string;
229
+ "canvas_width": number;
230
+ "canvas_height": number;
231
+ "layout": JsonValue;
232
+ "status": string;
233
+ "created_at": string;
234
+ "updated_at": string;
235
+ }
236
+ export interface CertificateStoreTemplatePostResponse extends ApiEnvelope<CertificateStoreTemplatePostResponseData> {
237
+ }
238
+ /** Backend response type: models::CertificateTemplateResponse. */
239
+ export interface CertificateShowTemplateGetResponseData extends JsonObject {
240
+ "id": string;
241
+ "name": string;
242
+ "name_en"?: string | null;
243
+ "background_url": string;
244
+ "canvas_width": number;
245
+ "canvas_height": number;
246
+ "layout": JsonValue;
247
+ "status": string;
248
+ "created_at": string;
249
+ "updated_at": string;
250
+ }
251
+ export interface CertificateShowTemplateGetResponse extends ApiEnvelope<CertificateShowTemplateGetResponseData> {
252
+ }
253
+ /** Backend request type: models::UpdateCertificateTemplateRequest. */
254
+ export interface CertificateUpdateTemplatePatchInput extends JsonObject {
255
+ "name"?: string | null;
256
+ "name_en"?: string | null;
257
+ "background_url"?: string | null;
258
+ "canvas_width"?: number | null;
259
+ "canvas_height"?: number | null;
260
+ "layout"?: JsonValue | null;
261
+ "status"?: string | null;
262
+ }
263
+ /** Backend response type: models::CertificateTemplateResponse. */
264
+ export interface CertificateUpdateTemplatePatchResponseData extends JsonObject {
265
+ "id": string;
266
+ "name": string;
267
+ "name_en"?: string | null;
268
+ "background_url": string;
269
+ "canvas_width": number;
270
+ "canvas_height": number;
271
+ "layout": JsonValue;
272
+ "status": string;
273
+ "created_at": string;
274
+ "updated_at": string;
275
+ }
276
+ export interface CertificateUpdateTemplatePatchResponse extends ApiEnvelope<CertificateUpdateTemplatePatchResponseData> {
277
+ }
180
278
  /** Backend query type: models::ClassroomListQuery. */
181
279
  export interface ClassroomIndexClassroomGetQuery extends QueryParams {
182
280
  "page_number"?: number | null;
183
281
  "page_size"?: number | null;
184
282
  "search"?: string | null;
185
283
  "status"?: string | null;
186
- "course_id"?: number | null;
284
+ "course_id"?: string | null;
187
285
  "teacher_user_id"?: string | null;
188
286
  "consultant_user_id"?: string | null;
287
+ "support_user_id"?: string | null;
189
288
  }
190
289
  /** Backend response type: crate::models::PagedResult<models::ClassroomResponse>. */
191
290
  export interface ClassroomIndexClassroomGetResponseItem extends JsonObject {
192
- "id": number;
193
- "course_id": number;
291
+ "id": string;
292
+ "course_id": string;
194
293
  "course_name"?: string | null;
195
294
  "name": string;
196
295
  "code"?: string | null;
197
296
  "description"?: string | null;
198
297
  "info"?: string | null;
199
- "classroom_type_id"?: number | null;
200
- "school_grade_id"?: number | null;
201
- "grade_id"?: number | null;
298
+ "classroom_type_id"?: string | null;
299
+ "school_grade_id"?: string | null;
300
+ "grade_id"?: string | null;
202
301
  "teacher_user_id"?: string | null;
203
302
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
204
303
  "consultant_user_id"?: string | null;
205
304
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
305
+ "support_user_id"?: string | null;
306
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
206
307
  "capacity"?: number | null;
207
308
  "notifications": JsonValue;
208
309
  "weekly_schedule": JsonValue;
@@ -227,16 +328,17 @@ export interface ClassroomIndexClassroomGetResponse extends ApiEnvelope<Classroo
227
328
  }
228
329
  /** Backend request type: models::CreateClassroomRequest. */
229
330
  export interface ClassroomStoreClassroomPostInput extends JsonObject {
230
- "course_id": number;
331
+ "course_id": string;
231
332
  "name": string;
232
333
  "code"?: string | null;
233
334
  "description"?: string | null;
234
335
  "info"?: string | null;
235
- "classroom_type_id"?: number | null;
236
- "school_grade_id"?: number | null;
237
- "grade_id"?: number | null;
336
+ "classroom_type_id"?: string | null;
337
+ "school_grade_id"?: string | null;
338
+ "grade_id"?: string | null;
238
339
  "teacher_user_id"?: string | null;
239
340
  "consultant_user_id"?: string | null;
341
+ "support_user_id"?: string | null;
240
342
  "capacity"?: number | null;
241
343
  "notifications"?: JsonValue | null;
242
344
  "weekly_schedule"?: JsonValue | null;
@@ -247,20 +349,22 @@ export interface ClassroomStoreClassroomPostInput extends JsonObject {
247
349
  }
248
350
  /** Backend response type: models::ClassroomResponse. */
249
351
  export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
250
- "id": number;
251
- "course_id": number;
352
+ "id": string;
353
+ "course_id": string;
252
354
  "course_name"?: string | null;
253
355
  "name": string;
254
356
  "code"?: string | null;
255
357
  "description"?: string | null;
256
358
  "info"?: string | null;
257
- "classroom_type_id"?: number | null;
258
- "school_grade_id"?: number | null;
259
- "grade_id"?: number | null;
359
+ "classroom_type_id"?: string | null;
360
+ "school_grade_id"?: string | null;
361
+ "grade_id"?: string | null;
260
362
  "teacher_user_id"?: string | null;
261
363
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
262
364
  "consultant_user_id"?: string | null;
263
365
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
366
+ "support_user_id"?: string | null;
367
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
264
368
  "capacity"?: number | null;
265
369
  "notifications": JsonValue;
266
370
  "weekly_schedule": JsonValue;
@@ -275,20 +379,22 @@ export interface ClassroomStoreClassroomPostResponse extends ApiEnvelope<Classro
275
379
  }
276
380
  /** Backend response type: models::ClassroomResponse. */
277
381
  export interface ClassroomShowClassroomGetResponseData extends JsonObject {
278
- "id": number;
279
- "course_id": number;
382
+ "id": string;
383
+ "course_id": string;
280
384
  "course_name"?: string | null;
281
385
  "name": string;
282
386
  "code"?: string | null;
283
387
  "description"?: string | null;
284
388
  "info"?: string | null;
285
- "classroom_type_id"?: number | null;
286
- "school_grade_id"?: number | null;
287
- "grade_id"?: number | null;
389
+ "classroom_type_id"?: string | null;
390
+ "school_grade_id"?: string | null;
391
+ "grade_id"?: string | null;
288
392
  "teacher_user_id"?: string | null;
289
393
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
290
394
  "consultant_user_id"?: string | null;
291
395
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
396
+ "support_user_id"?: string | null;
397
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
292
398
  "capacity"?: number | null;
293
399
  "notifications": JsonValue;
294
400
  "weekly_schedule": JsonValue;
@@ -303,16 +409,17 @@ export interface ClassroomShowClassroomGetResponse extends ApiEnvelope<Classroom
303
409
  }
304
410
  /** Backend request type: models::UpdateClassroomRequest. */
305
411
  export interface ClassroomUpdateClassroomPatchInput extends JsonObject {
306
- "course_id"?: number | null;
412
+ "course_id"?: string | null;
307
413
  "name"?: string | null;
308
414
  "code"?: string | null;
309
415
  "description"?: string | null;
310
416
  "info"?: string | null;
311
- "classroom_type_id"?: number | null;
312
- "school_grade_id"?: number | null;
313
- "grade_id"?: number | null;
417
+ "classroom_type_id"?: string | null;
418
+ "school_grade_id"?: string | null;
419
+ "grade_id"?: string | null;
314
420
  "teacher_user_id"?: string | null;
315
421
  "consultant_user_id"?: string | null;
422
+ "support_user_id"?: string | null;
316
423
  "capacity"?: number | null;
317
424
  "notifications"?: JsonValue | null;
318
425
  "weekly_schedule"?: JsonValue | null;
@@ -323,20 +430,22 @@ export interface ClassroomUpdateClassroomPatchInput extends JsonObject {
323
430
  }
324
431
  /** Backend response type: models::ClassroomResponse. */
325
432
  export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
326
- "id": number;
327
- "course_id": number;
433
+ "id": string;
434
+ "course_id": string;
328
435
  "course_name"?: string | null;
329
436
  "name": string;
330
437
  "code"?: string | null;
331
438
  "description"?: string | null;
332
439
  "info"?: string | null;
333
- "classroom_type_id"?: number | null;
334
- "school_grade_id"?: number | null;
335
- "grade_id"?: number | null;
440
+ "classroom_type_id"?: string | null;
441
+ "school_grade_id"?: string | null;
442
+ "grade_id"?: string | null;
336
443
  "teacher_user_id"?: string | null;
337
444
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
338
445
  "consultant_user_id"?: string | null;
339
446
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
447
+ "support_user_id"?: string | null;
448
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
340
449
  "capacity"?: number | null;
341
450
  "notifications": JsonValue;
342
451
  "weekly_schedule": JsonValue;
@@ -349,13 +458,28 @@ export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
349
458
  }
350
459
  export interface ClassroomUpdateClassroomPatchResponse extends ApiEnvelope<ClassroomUpdateClassroomPatchResponseData> {
351
460
  }
461
+ /** Backend response type: models::CompletionReviewResponse. */
462
+ export interface ClassroomShowCompletionGetResponseData extends JsonObject {
463
+ "classroom_id": string;
464
+ "classroom_name": string;
465
+ "classroom_status": string;
466
+ "course_id": string;
467
+ "course_name": string;
468
+ "passing_mark"?: number | null;
469
+ "exams": BackendJson<"CompletionExam">[];
470
+ "certificate_templates": BackendJson<"CompletionCertificateTemplate">[];
471
+ "students": BackendJson<"CompletionStudent">[];
472
+ }
473
+ export interface ClassroomShowCompletionGetResponse extends ApiEnvelope<ClassroomShowCompletionGetResponseData> {
474
+ }
352
475
  /** Backend request type: models::FinalizeClassroomRequest. */
353
476
  export interface ClassroomFinalizeClassroomPostInput extends JsonObject {
354
477
  "idempotency_key": string;
478
+ "students": BackendJson<"FinalScoreRequest">[];
355
479
  }
356
480
  /** Backend response type: models::FinalizeClassroomResponse. */
357
481
  export interface ClassroomFinalizeClassroomPostResponseData extends JsonObject {
358
- "classroom_id": number;
482
+ "classroom_id": string;
359
483
  "grades_finalized": number;
360
484
  "certificates_issued": number;
361
485
  "already_finalized": boolean;
@@ -369,8 +493,8 @@ export interface ClassroomIndexClassroomUsersGetQuery extends QueryParams {
369
493
  }
370
494
  /** Backend response type: crate::models::PagedResult<models::ClassroomUserResponse>. */
371
495
  export interface ClassroomIndexClassroomUsersGetResponseItem extends JsonObject {
372
- "id": number;
373
- "classroom_id": number;
496
+ "id": string;
497
+ "classroom_id": string;
374
498
  "user_id": string;
375
499
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
376
500
  "score"?: number | null;
@@ -398,8 +522,8 @@ export interface ClassroomEnrollClassroomUserPostInput extends JsonObject {
398
522
  }
399
523
  /** Backend response type: models::ClassroomUserResponse. */
400
524
  export interface ClassroomEnrollClassroomUserPostResponseData extends JsonObject {
401
- "id": number;
402
- "classroom_id": number;
525
+ "id": string;
526
+ "classroom_id": string;
403
527
  "user_id": string;
404
528
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
405
529
  "score"?: number | null;
@@ -419,8 +543,8 @@ export interface ClassroomUpdateClassroomUserPatchInput extends JsonObject {
419
543
  }
420
544
  /** Backend response type: models::ClassroomUserResponse. */
421
545
  export interface ClassroomUpdateClassroomUserPatchResponseData extends JsonObject {
422
- "id": number;
423
- "classroom_id": number;
546
+ "id": string;
547
+ "classroom_id": string;
424
548
  "user_id": string;
425
549
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
426
550
  "score"?: number | null;
@@ -435,16 +559,16 @@ export interface ClassroomIndexSessionGetQuery extends QueryParams {
435
559
  "page_number"?: number | null;
436
560
  "page_size"?: number | null;
437
561
  "status"?: string | null;
438
- "classroom_id"?: number | null;
562
+ "classroom_id"?: string | null;
439
563
  "from"?: string | null;
440
564
  "to"?: string | null;
441
565
  }
442
566
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
443
567
  export interface ClassroomIndexSessionGetResponseItem extends JsonObject {
444
- "id": number;
445
- "classroom_id": number;
568
+ "id": string;
569
+ "classroom_id": string;
446
570
  "classroom_name"?: string | null;
447
- "course_session_id"?: number | null;
571
+ "course_session_id"?: string | null;
448
572
  "name"?: string | null;
449
573
  "session_number"?: number | null;
450
574
  "duration_minutes"?: number | null;
@@ -476,8 +600,8 @@ export interface ClassroomIndexSessionGetResponse extends ApiEnvelope<ClassroomI
476
600
  }
477
601
  /** Backend request type: models::CreateSessionRequest. */
478
602
  export interface ClassroomStoreSessionPostInput extends JsonObject {
479
- "classroom_id": number;
480
- "course_session_id"?: number | null;
603
+ "classroom_id": string;
604
+ "course_session_id"?: string | null;
481
605
  "name"?: string | null;
482
606
  "session_number"?: number | null;
483
607
  "duration_minutes"?: number | null;
@@ -493,10 +617,10 @@ export interface ClassroomStoreSessionPostInput extends JsonObject {
493
617
  }
494
618
  /** Backend response type: models::SessionResponse. */
495
619
  export interface ClassroomStoreSessionPostResponseData extends JsonObject {
496
- "id": number;
497
- "classroom_id": number;
620
+ "id": string;
621
+ "classroom_id": string;
498
622
  "classroom_name"?: string | null;
499
- "course_session_id"?: number | null;
623
+ "course_session_id"?: string | null;
500
624
  "name"?: string | null;
501
625
  "session_number"?: number | null;
502
626
  "duration_minutes"?: number | null;
@@ -518,10 +642,10 @@ export interface ClassroomStoreSessionPostResponse extends ApiEnvelope<Classroom
518
642
  }
519
643
  /** Backend response type: models::SessionResponse. */
520
644
  export interface ClassroomShowSessionGetResponseData extends JsonObject {
521
- "id": number;
522
- "classroom_id": number;
645
+ "id": string;
646
+ "classroom_id": string;
523
647
  "classroom_name"?: string | null;
524
- "course_session_id"?: number | null;
648
+ "course_session_id"?: string | null;
525
649
  "name"?: string | null;
526
650
  "session_number"?: number | null;
527
651
  "duration_minutes"?: number | null;
@@ -543,8 +667,8 @@ export interface ClassroomShowSessionGetResponse extends ApiEnvelope<ClassroomSh
543
667
  }
544
668
  /** Backend request type: models::UpdateSessionRequest. */
545
669
  export interface ClassroomUpdateSessionPatchInput extends JsonObject {
546
- "classroom_id"?: number | null;
547
- "course_session_id"?: number | null;
670
+ "classroom_id"?: string | null;
671
+ "course_session_id"?: string | null;
548
672
  "name"?: string | null;
549
673
  "session_number"?: number | null;
550
674
  "duration_minutes"?: number | null;
@@ -560,10 +684,10 @@ export interface ClassroomUpdateSessionPatchInput extends JsonObject {
560
684
  }
561
685
  /** Backend response type: models::SessionResponse. */
562
686
  export interface ClassroomUpdateSessionPatchResponseData extends JsonObject {
563
- "id": number;
564
- "classroom_id": number;
687
+ "id": string;
688
+ "classroom_id": string;
565
689
  "classroom_name"?: string | null;
566
- "course_session_id"?: number | null;
690
+ "course_session_id"?: string | null;
567
691
  "name"?: string | null;
568
692
  "session_number"?: number | null;
569
693
  "duration_minutes"?: number | null;
@@ -590,8 +714,8 @@ export interface ClassroomIndexAttendanceGetQuery extends QueryParams {
590
714
  }
591
715
  /** Backend response type: crate::models::PagedResult<models::AbsenceResponse>. */
592
716
  export interface ClassroomIndexAttendanceGetResponseItem extends JsonObject {
593
- "id": number;
594
- "classroom_session_id": number;
717
+ "id": string;
718
+ "classroom_session_id": string;
595
719
  "user_id": string;
596
720
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
597
721
  "status": string;
@@ -617,7 +741,7 @@ export interface ClassroomRecordAttendancePutInput extends JsonObject {
617
741
  }
618
742
  /** Backend response type: models::BatchAttendanceResponse. */
619
743
  export interface ClassroomRecordAttendancePutResponseData extends JsonObject {
620
- "classroom_session_id": number;
744
+ "classroom_session_id": string;
621
745
  "updated": number;
622
746
  }
623
747
  export interface ClassroomRecordAttendancePutResponse extends ApiEnvelope<ClassroomRecordAttendancePutResponseData> {
@@ -629,8 +753,8 @@ export interface ClassroomIndexAbsencesGetQuery extends QueryParams {
629
753
  }
630
754
  /** Backend response type: crate::models::PagedResult<models::AbsenceResponse>. */
631
755
  export interface ClassroomIndexAbsencesGetResponseItem extends JsonObject {
632
- "id": number;
633
- "classroom_session_id": number;
756
+ "id": string;
757
+ "classroom_session_id": string;
634
758
  "user_id": string;
635
759
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
636
760
  "status": string;
@@ -656,7 +780,7 @@ export interface ConfigIndexClassroomTypeGetQuery extends QueryParams {
656
780
  }
657
781
  /** Backend response type: crate::models::PagedResult<models::ClassroomTypeResponse>. */
658
782
  export interface ConfigIndexClassroomTypeGetResponseItem extends JsonObject {
659
- "id": number;
783
+ "id": string;
660
784
  "name": string;
661
785
  "created_at": string;
662
786
  }
@@ -678,7 +802,7 @@ export interface ConfigStoreClassroomTypePostInput extends JsonObject {
678
802
  }
679
803
  /** Backend response type: models::ClassroomTypeResponse. */
680
804
  export interface ConfigStoreClassroomTypePostResponseData extends JsonObject {
681
- "id": number;
805
+ "id": string;
682
806
  "name": string;
683
807
  "created_at": string;
684
808
  }
@@ -686,7 +810,7 @@ export interface ConfigStoreClassroomTypePostResponse extends ApiEnvelope<Config
686
810
  }
687
811
  /** Backend response type: models::ClassroomTypeResponse. */
688
812
  export interface ConfigShowClassroomTypeGetResponseData extends JsonObject {
689
- "id": number;
813
+ "id": string;
690
814
  "name": string;
691
815
  "created_at": string;
692
816
  }
@@ -698,7 +822,7 @@ export interface ConfigUpdateClassroomTypePatchInput extends JsonObject {
698
822
  }
699
823
  /** Backend response type: models::ClassroomTypeResponse. */
700
824
  export interface ConfigUpdateClassroomTypePatchResponseData extends JsonObject {
701
- "id": number;
825
+ "id": string;
702
826
  "name": string;
703
827
  "created_at": string;
704
828
  }
@@ -711,7 +835,7 @@ export interface ConfigIndexEducationDayGetQuery extends QueryParams {
711
835
  }
712
836
  /** Backend response type: crate::models::PagedResult<models::EducationDayResponse>. */
713
837
  export interface ConfigIndexEducationDayGetResponseItem extends JsonObject {
714
- "id": number;
838
+ "id": string;
715
839
  "day_date": string;
716
840
  "is_holiday": boolean;
717
841
  "label"?: string | null;
@@ -737,7 +861,7 @@ export interface ConfigStoreEducationDayPostInput extends JsonObject {
737
861
  }
738
862
  /** Backend response type: models::EducationDayResponse. */
739
863
  export interface ConfigStoreEducationDayPostResponseData extends JsonObject {
740
- "id": number;
864
+ "id": string;
741
865
  "day_date": string;
742
866
  "is_holiday": boolean;
743
867
  "label"?: string | null;
@@ -747,7 +871,7 @@ export interface ConfigStoreEducationDayPostResponse extends ApiEnvelope<ConfigS
747
871
  }
748
872
  /** Backend response type: models::EducationDayResponse. */
749
873
  export interface ConfigShowEducationDayGetResponseData extends JsonObject {
750
- "id": number;
874
+ "id": string;
751
875
  "day_date": string;
752
876
  "is_holiday": boolean;
753
877
  "label"?: string | null;
@@ -763,7 +887,7 @@ export interface ConfigUpdateEducationDayPatchInput extends JsonObject {
763
887
  }
764
888
  /** Backend response type: models::EducationDayResponse. */
765
889
  export interface ConfigUpdateEducationDayPatchResponseData extends JsonObject {
766
- "id": number;
890
+ "id": string;
767
891
  "day_date": string;
768
892
  "is_holiday": boolean;
769
893
  "label"?: string | null;
@@ -778,7 +902,7 @@ export interface ConfigIndexGradeGetQuery extends QueryParams {
778
902
  }
779
903
  /** Backend response type: crate::models::PagedResult<models::GradeResponse>. */
780
904
  export interface ConfigIndexGradeGetResponseItem extends JsonObject {
781
- "id": number;
905
+ "id": string;
782
906
  "name": string;
783
907
  "sort_order": number;
784
908
  "created_at": string;
@@ -802,7 +926,7 @@ export interface ConfigStoreGradePostInput extends JsonObject {
802
926
  }
803
927
  /** Backend response type: models::GradeResponse. */
804
928
  export interface ConfigStoreGradePostResponseData extends JsonObject {
805
- "id": number;
929
+ "id": string;
806
930
  "name": string;
807
931
  "sort_order": number;
808
932
  "created_at": string;
@@ -811,7 +935,7 @@ export interface ConfigStoreGradePostResponse extends ApiEnvelope<ConfigStoreGra
811
935
  }
812
936
  /** Backend response type: models::GradeResponse. */
813
937
  export interface ConfigShowGradeGetResponseData extends JsonObject {
814
- "id": number;
938
+ "id": string;
815
939
  "name": string;
816
940
  "sort_order": number;
817
941
  "created_at": string;
@@ -825,7 +949,7 @@ export interface ConfigUpdateGradePatchInput extends JsonObject {
825
949
  }
826
950
  /** Backend response type: models::GradeResponse. */
827
951
  export interface ConfigUpdateGradePatchResponseData extends JsonObject {
828
- "id": number;
952
+ "id": string;
829
953
  "name": string;
830
954
  "sort_order": number;
831
955
  "created_at": string;
@@ -839,7 +963,7 @@ export interface ConfigIndexHolidayGetQuery extends QueryParams {
839
963
  }
840
964
  /** Backend response type: crate::models::PagedResult<models::HolidayResponse>. */
841
965
  export interface ConfigIndexHolidayGetResponseItem extends JsonObject {
842
- "id": number;
966
+ "id": string;
843
967
  "name": string;
844
968
  "description"?: string | null;
845
969
  "holiday_date": string;
@@ -870,7 +994,7 @@ export interface ConfigStoreHolidayPostInput extends JsonObject {
870
994
  }
871
995
  /** Backend response type: models::HolidayResponse. */
872
996
  export interface ConfigStoreHolidayPostResponseData extends JsonObject {
873
- "id": number;
997
+ "id": string;
874
998
  "name": string;
875
999
  "description"?: string | null;
876
1000
  "holiday_date": string;
@@ -883,7 +1007,7 @@ export interface ConfigStoreHolidayPostResponse extends ApiEnvelope<ConfigStoreH
883
1007
  }
884
1008
  /** Backend response type: models::HolidayResponse. */
885
1009
  export interface ConfigShowHolidayGetResponseData extends JsonObject {
886
- "id": number;
1010
+ "id": string;
887
1011
  "name": string;
888
1012
  "description"?: string | null;
889
1013
  "holiday_date": string;
@@ -904,7 +1028,7 @@ export interface ConfigUpdateHolidayPatchInput extends JsonObject {
904
1028
  }
905
1029
  /** Backend response type: models::HolidayResponse. */
906
1030
  export interface ConfigUpdateHolidayPatchResponseData extends JsonObject {
907
- "id": number;
1031
+ "id": string;
908
1032
  "name": string;
909
1033
  "description"?: string | null;
910
1034
  "holiday_date": string;
@@ -922,7 +1046,7 @@ export interface ConfigIndexWeekendGetQuery extends QueryParams {
922
1046
  }
923
1047
  /** Backend response type: crate::models::PagedResult<models::WeekendResponse>. */
924
1048
  export interface ConfigIndexWeekendGetResponseItem extends JsonObject {
925
- "id": number;
1049
+ "id": string;
926
1050
  "day_of_week": number;
927
1051
  "created_at": string;
928
1052
  }
@@ -944,7 +1068,7 @@ export interface ConfigStoreWeekendPostInput extends JsonObject {
944
1068
  }
945
1069
  /** Backend response type: models::WeekendResponse. */
946
1070
  export interface ConfigStoreWeekendPostResponseData extends JsonObject {
947
- "id": number;
1071
+ "id": string;
948
1072
  "day_of_week": number;
949
1073
  "created_at": string;
950
1074
  }
@@ -952,7 +1076,7 @@ export interface ConfigStoreWeekendPostResponse extends ApiEnvelope<ConfigStoreW
952
1076
  }
953
1077
  /** Backend response type: models::WeekendResponse. */
954
1078
  export interface ConfigShowWeekendGetResponseData extends JsonObject {
955
- "id": number;
1079
+ "id": string;
956
1080
  "day_of_week": number;
957
1081
  "created_at": string;
958
1082
  }
@@ -964,7 +1088,7 @@ export interface ConfigUpdateWeekendPatchInput extends JsonObject {
964
1088
  }
965
1089
  /** Backend response type: models::WeekendResponse. */
966
1090
  export interface ConfigUpdateWeekendPatchResponseData extends JsonObject {
967
- "id": number;
1091
+ "id": string;
968
1092
  "day_of_week": number;
969
1093
  "created_at": string;
970
1094
  }
@@ -978,8 +1102,8 @@ export interface CourseIndexCourseGetQuery extends QueryParams {
978
1102
  }
979
1103
  /** Backend response type: crate::models::PagedResult<models::CourseResponse>. */
980
1104
  export interface CourseIndexCourseGetResponseItem extends JsonObject {
981
- "id": number;
982
- "category_id"?: number | null;
1105
+ "id": string;
1106
+ "category_id"?: string | null;
983
1107
  "name": string;
984
1108
  "title"?: string | null;
985
1109
  "description"?: string | null;
@@ -987,6 +1111,7 @@ export interface CourseIndexCourseGetResponseItem extends JsonObject {
987
1111
  "sort_order": number;
988
1112
  "duration"?: string | null;
989
1113
  "passing_mark"?: number | null;
1114
+ "certificate_template_ids": string[];
990
1115
  "price"?: string | null;
991
1116
  "status": string;
992
1117
  "created_at": string;
@@ -1006,7 +1131,7 @@ export interface CourseIndexCourseGetResponse extends ApiEnvelope<CourseIndexCou
1006
1131
  }
1007
1132
  /** Backend request type: models::CreateCourseRequest. */
1008
1133
  export interface CourseStoreCoursePostInput extends JsonObject {
1009
- "category_id"?: number | null;
1134
+ "category_id"?: string | null;
1010
1135
  "name": string;
1011
1136
  "title"?: string | null;
1012
1137
  "description"?: string | null;
@@ -1014,13 +1139,14 @@ export interface CourseStoreCoursePostInput extends JsonObject {
1014
1139
  "sort_order"?: number;
1015
1140
  "duration"?: string | null;
1016
1141
  "passing_mark"?: number | null;
1142
+ "certificate_template_ids"?: string[];
1017
1143
  "price"?: string | null;
1018
1144
  "status": string;
1019
1145
  }
1020
1146
  /** Backend response type: models::CourseResponse. */
1021
1147
  export interface CourseStoreCoursePostResponseData extends JsonObject {
1022
- "id": number;
1023
- "category_id"?: number | null;
1148
+ "id": string;
1149
+ "category_id"?: string | null;
1024
1150
  "name": string;
1025
1151
  "title"?: string | null;
1026
1152
  "description"?: string | null;
@@ -1028,6 +1154,7 @@ export interface CourseStoreCoursePostResponseData extends JsonObject {
1028
1154
  "sort_order": number;
1029
1155
  "duration"?: string | null;
1030
1156
  "passing_mark"?: number | null;
1157
+ "certificate_template_ids": string[];
1031
1158
  "price"?: string | null;
1032
1159
  "status": string;
1033
1160
  "created_at": string;
@@ -1042,14 +1169,14 @@ export interface CourseIndexSessionGetQuery extends QueryParams {
1042
1169
  }
1043
1170
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
1044
1171
  export interface CourseIndexSessionGetResponseItem extends JsonObject {
1045
- "id": number;
1046
- "course_id": number;
1172
+ "id": string;
1173
+ "course_id": string;
1047
1174
  "name": string;
1048
1175
  "description"?: string | null;
1049
1176
  "sort_order": number;
1050
1177
  "session_type": string;
1051
- "session_type_id"?: number | null;
1052
- "exam_id"?: number | null;
1178
+ "session_type_id"?: string | null;
1179
+ "exam_id"?: string | null;
1053
1180
  "duration_minutes"?: number | null;
1054
1181
  "auto_unlock": boolean;
1055
1182
  "info"?: string | null;
@@ -1072,13 +1199,13 @@ export interface CourseIndexSessionGetResponse extends ApiEnvelope<CourseIndexSe
1072
1199
  }
1073
1200
  /** Backend request type: models::CreateSessionRequest. */
1074
1201
  export interface CourseStoreSessionPostInput extends JsonObject {
1075
- "course_id": number;
1202
+ "course_id": string;
1076
1203
  "name": string;
1077
1204
  "description"?: string | null;
1078
1205
  "sort_order": number;
1079
1206
  "session_type": string;
1080
- "session_type_id"?: number | null;
1081
- "exam_id"?: number | null;
1207
+ "session_type_id"?: string | null;
1208
+ "exam_id"?: string | null;
1082
1209
  "duration_minutes"?: number | null;
1083
1210
  "auto_unlock": boolean;
1084
1211
  "info"?: string | null;
@@ -1087,14 +1214,14 @@ export interface CourseStoreSessionPostInput extends JsonObject {
1087
1214
  }
1088
1215
  /** Backend response type: models::SessionResponse. */
1089
1216
  export interface CourseStoreSessionPostResponseData extends JsonObject {
1090
- "id": number;
1091
- "course_id": number;
1217
+ "id": string;
1218
+ "course_id": string;
1092
1219
  "name": string;
1093
1220
  "description"?: string | null;
1094
1221
  "sort_order": number;
1095
1222
  "session_type": string;
1096
- "session_type_id"?: number | null;
1097
- "exam_id"?: number | null;
1223
+ "session_type_id"?: string | null;
1224
+ "exam_id"?: string | null;
1098
1225
  "duration_minutes"?: number | null;
1099
1226
  "auto_unlock": boolean;
1100
1227
  "info"?: string | null;
@@ -1110,14 +1237,14 @@ export interface CourseDestroySessionDeleteResponse extends ApiEnvelope<JsonValu
1110
1237
  }
1111
1238
  /** Backend response type: models::SessionResponse. */
1112
1239
  export interface CourseShowSessionGetResponseData extends JsonObject {
1113
- "id": number;
1114
- "course_id": number;
1240
+ "id": string;
1241
+ "course_id": string;
1115
1242
  "name": string;
1116
1243
  "description"?: string | null;
1117
1244
  "sort_order": number;
1118
1245
  "session_type": string;
1119
- "session_type_id"?: number | null;
1120
- "exam_id"?: number | null;
1246
+ "session_type_id"?: string | null;
1247
+ "exam_id"?: string | null;
1121
1248
  "duration_minutes"?: number | null;
1122
1249
  "auto_unlock": boolean;
1123
1250
  "info"?: string | null;
@@ -1134,8 +1261,8 @@ export interface CourseUpdateSessionPatchInput extends JsonObject {
1134
1261
  "description"?: string | null;
1135
1262
  "sort_order"?: number | null;
1136
1263
  "session_type"?: string | null;
1137
- "session_type_id"?: number | null;
1138
- "exam_id"?: number | null;
1264
+ "session_type_id"?: string | null;
1265
+ "exam_id"?: string | null;
1139
1266
  "duration_minutes"?: number | null;
1140
1267
  "auto_unlock"?: boolean | null;
1141
1268
  "info"?: string | null;
@@ -1144,14 +1271,14 @@ export interface CourseUpdateSessionPatchInput extends JsonObject {
1144
1271
  }
1145
1272
  /** Backend response type: models::SessionResponse. */
1146
1273
  export interface CourseUpdateSessionPatchResponseData extends JsonObject {
1147
- "id": number;
1148
- "course_id": number;
1274
+ "id": string;
1275
+ "course_id": string;
1149
1276
  "name": string;
1150
1277
  "description"?: string | null;
1151
1278
  "sort_order": number;
1152
1279
  "session_type": string;
1153
- "session_type_id"?: number | null;
1154
- "exam_id"?: number | null;
1280
+ "session_type_id"?: string | null;
1281
+ "exam_id"?: string | null;
1155
1282
  "duration_minutes"?: number | null;
1156
1283
  "auto_unlock": boolean;
1157
1284
  "info"?: string | null;
@@ -1167,8 +1294,8 @@ export interface CourseDestroyCourseDeleteResponse extends ApiEnvelope<JsonValue
1167
1294
  }
1168
1295
  /** Backend response type: models::CourseResponse. */
1169
1296
  export interface CourseShowCourseGetResponseData extends JsonObject {
1170
- "id": number;
1171
- "category_id"?: number | null;
1297
+ "id": string;
1298
+ "category_id"?: string | null;
1172
1299
  "name": string;
1173
1300
  "title"?: string | null;
1174
1301
  "description"?: string | null;
@@ -1176,6 +1303,7 @@ export interface CourseShowCourseGetResponseData extends JsonObject {
1176
1303
  "sort_order": number;
1177
1304
  "duration"?: string | null;
1178
1305
  "passing_mark"?: number | null;
1306
+ "certificate_template_ids": string[];
1179
1307
  "price"?: string | null;
1180
1308
  "status": string;
1181
1309
  "created_at": string;
@@ -1185,7 +1313,7 @@ export interface CourseShowCourseGetResponse extends ApiEnvelope<CourseShowCours
1185
1313
  }
1186
1314
  /** Backend request type: models::UpdateCourseRequest. */
1187
1315
  export interface CourseUpdateCoursePatchInput extends JsonObject {
1188
- "category_id"?: number | null;
1316
+ "category_id"?: string | null;
1189
1317
  "name"?: string | null;
1190
1318
  "title"?: string | null;
1191
1319
  "description"?: string | null;
@@ -1193,13 +1321,14 @@ export interface CourseUpdateCoursePatchInput extends JsonObject {
1193
1321
  "sort_order"?: number | null;
1194
1322
  "duration"?: string | null;
1195
1323
  "passing_mark"?: number | null;
1324
+ "certificate_template_ids"?: string[] | null;
1196
1325
  "price"?: string | null;
1197
1326
  "status"?: string | null;
1198
1327
  }
1199
1328
  /** Backend response type: models::CourseResponse. */
1200
1329
  export interface CourseUpdateCoursePatchResponseData extends JsonObject {
1201
- "id": number;
1202
- "category_id"?: number | null;
1330
+ "id": string;
1331
+ "category_id"?: string | null;
1203
1332
  "name": string;
1204
1333
  "title"?: string | null;
1205
1334
  "description"?: string | null;
@@ -1207,6 +1336,7 @@ export interface CourseUpdateCoursePatchResponseData extends JsonObject {
1207
1336
  "sort_order": number;
1208
1337
  "duration"?: string | null;
1209
1338
  "passing_mark"?: number | null;
1339
+ "certificate_template_ids": string[];
1210
1340
  "price"?: string | null;
1211
1341
  "status": string;
1212
1342
  "created_at": string;
@@ -1221,7 +1351,7 @@ export interface CourseIndexCategoryGetQuery extends QueryParams {
1221
1351
  }
1222
1352
  /** Backend response type: crate::models::PagedResult<models::CategoryResponse>. */
1223
1353
  export interface CourseIndexCategoryGetResponseItem extends JsonObject {
1224
- "id": number;
1354
+ "id": string;
1225
1355
  "name": string;
1226
1356
  "description"?: string | null;
1227
1357
  "image_url"?: string | null;
@@ -1252,7 +1382,7 @@ export interface CourseStoreCategoryPostInput extends JsonObject {
1252
1382
  }
1253
1383
  /** Backend response type: models::CategoryResponse. */
1254
1384
  export interface CourseStoreCategoryPostResponseData extends JsonObject {
1255
- "id": number;
1385
+ "id": string;
1256
1386
  "name": string;
1257
1387
  "description"?: string | null;
1258
1388
  "image_url"?: string | null;
@@ -1268,7 +1398,7 @@ export interface CourseDestroyCategoryDeleteResponse extends ApiEnvelope<JsonVal
1268
1398
  }
1269
1399
  /** Backend response type: models::CategoryResponse. */
1270
1400
  export interface CourseShowCategoryGetResponseData extends JsonObject {
1271
- "id": number;
1401
+ "id": string;
1272
1402
  "name": string;
1273
1403
  "description"?: string | null;
1274
1404
  "image_url"?: string | null;
@@ -1289,7 +1419,7 @@ export interface CourseUpdateCategoryPatchInput extends JsonObject {
1289
1419
  }
1290
1420
  /** Backend response type: models::CategoryResponse. */
1291
1421
  export interface CourseUpdateCategoryPatchResponseData extends JsonObject {
1292
- "id": number;
1422
+ "id": string;
1293
1423
  "name": string;
1294
1424
  "description"?: string | null;
1295
1425
  "image_url"?: string | null;
@@ -1302,16 +1432,16 @@ export interface CourseUpdateCategoryPatchResponse extends ApiEnvelope<CourseUpd
1302
1432
  }
1303
1433
  /** Backend request type: models::ReorderRequest. */
1304
1434
  export interface CourseReorderCategoriesPatchInput extends JsonObject {
1305
- "active_id": number;
1306
- "over_id": number;
1435
+ "active_id": string;
1436
+ "over_id": string;
1307
1437
  }
1308
1438
  /** Backend response type: serde_json::Value. */
1309
1439
  export interface CourseReorderCategoriesPatchResponse extends ApiEnvelope<JsonValue> {
1310
1440
  }
1311
1441
  /** Backend request type: models::ReorderRequest. */
1312
1442
  export interface CourseReorderCoursesPatchInput extends JsonObject {
1313
- "active_id": number;
1314
- "over_id": number;
1443
+ "active_id": string;
1444
+ "over_id": string;
1315
1445
  }
1316
1446
  /** Backend response type: serde_json::Value. */
1317
1447
  export interface CourseReorderCoursesPatchResponse extends ApiEnvelope<JsonValue> {
@@ -1343,14 +1473,14 @@ export interface ExamIndexExamGetQuery extends QueryParams {
1343
1473
  "page_size"?: number | null;
1344
1474
  "search"?: string | null;
1345
1475
  "status"?: string | null;
1346
- "course_id"?: number | null;
1347
- "grade_id"?: number | null;
1476
+ "course_id"?: string | null;
1477
+ "grade_id"?: string | null;
1348
1478
  }
1349
1479
  /** Backend response type: crate::models::PagedResult<models::ExamResponse>. */
1350
1480
  export interface ExamIndexExamGetResponseItem extends JsonObject {
1351
- "id": number;
1352
- "course_id"?: number | null;
1353
- "grade_id"?: number | null;
1481
+ "id": string;
1482
+ "course_id"?: string | null;
1483
+ "grade_id"?: string | null;
1354
1484
  "name": string;
1355
1485
  "description"?: string | null;
1356
1486
  "info"?: string | null;
@@ -1380,8 +1510,8 @@ export interface ExamIndexExamGetResponse extends ApiEnvelope<ExamIndexExamGetRe
1380
1510
  }
1381
1511
  /** Backend request type: models::CreateExamRequest. */
1382
1512
  export interface ExamStoreExamPostInput extends JsonObject {
1383
- "course_id"?: number | null;
1384
- "grade_id"?: number | null;
1513
+ "course_id"?: string | null;
1514
+ "grade_id"?: string | null;
1385
1515
  "name": string;
1386
1516
  "description"?: string | null;
1387
1517
  "info"?: string | null;
@@ -1397,9 +1527,9 @@ export interface ExamStoreExamPostInput extends JsonObject {
1397
1527
  }
1398
1528
  /** Backend response type: models::ExamResponse. */
1399
1529
  export interface ExamStoreExamPostResponseData extends JsonObject {
1400
- "id": number;
1401
- "course_id"?: number | null;
1402
- "grade_id"?: number | null;
1530
+ "id": string;
1531
+ "course_id"?: string | null;
1532
+ "grade_id"?: string | null;
1403
1533
  "name": string;
1404
1534
  "description"?: string | null;
1405
1535
  "info"?: string | null;
@@ -1422,9 +1552,9 @@ export interface ExamDestroyExamDeleteResponse extends ApiEnvelope<JsonValue> {
1422
1552
  }
1423
1553
  /** Backend response type: models::ExamResponse. */
1424
1554
  export interface ExamShowExamGetResponseData extends JsonObject {
1425
- "id": number;
1426
- "course_id"?: number | null;
1427
- "grade_id"?: number | null;
1555
+ "id": string;
1556
+ "course_id"?: string | null;
1557
+ "grade_id"?: string | null;
1428
1558
  "name": string;
1429
1559
  "description"?: string | null;
1430
1560
  "info"?: string | null;
@@ -1444,8 +1574,8 @@ export interface ExamShowExamGetResponse extends ApiEnvelope<ExamShowExamGetResp
1444
1574
  }
1445
1575
  /** Backend request type: models::UpdateExamRequest. */
1446
1576
  export interface ExamUpdateExamPatchInput extends JsonObject {
1447
- "course_id"?: number | null;
1448
- "grade_id"?: number | null;
1577
+ "course_id"?: string | null;
1578
+ "grade_id"?: string | null;
1449
1579
  "name"?: string | null;
1450
1580
  "description"?: string | null;
1451
1581
  "info"?: string | null;
@@ -1461,9 +1591,9 @@ export interface ExamUpdateExamPatchInput extends JsonObject {
1461
1591
  }
1462
1592
  /** Backend response type: models::ExamResponse. */
1463
1593
  export interface ExamUpdateExamPatchResponseData extends JsonObject {
1464
- "id": number;
1465
- "course_id"?: number | null;
1466
- "grade_id"?: number | null;
1594
+ "id": string;
1595
+ "course_id"?: string | null;
1596
+ "grade_id"?: string | null;
1467
1597
  "name": string;
1468
1598
  "description"?: string | null;
1469
1599
  "info"?: string | null;
@@ -1486,15 +1616,15 @@ export interface ExamIndexAttemptGetQuery extends QueryParams {
1486
1616
  "page_number"?: number | null;
1487
1617
  "page_size"?: number | null;
1488
1618
  "status"?: string | null;
1489
- "exam_session_id"?: number | null;
1619
+ "exam_session_id"?: string | null;
1490
1620
  }
1491
1621
  /** Backend response type: crate::models::PagedResult<models::AttemptResponse>. */
1492
1622
  export interface ExamIndexAttemptGetResponseItem extends JsonObject {
1493
- "id": number;
1494
- "exam_session_id": number;
1495
- "exam_id"?: number | null;
1623
+ "id": string;
1624
+ "exam_session_id": string;
1625
+ "exam_id"?: string | null;
1496
1626
  "exam_name"?: string | null;
1497
- "classroom_id"?: number | null;
1627
+ "classroom_id"?: string | null;
1498
1628
  "classroom_name"?: string | null;
1499
1629
  "user_id": string;
1500
1630
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
@@ -1523,11 +1653,11 @@ export interface ExamIndexAttemptGetResponse extends ApiEnvelope<ExamIndexAttemp
1523
1653
  }
1524
1654
  /** Backend response type: models::AttemptResponse. */
1525
1655
  export interface ExamShowAttemptGetResponseData extends JsonObject {
1526
- "id": number;
1527
- "exam_session_id": number;
1528
- "exam_id"?: number | null;
1656
+ "id": string;
1657
+ "exam_session_id": string;
1658
+ "exam_id"?: string | null;
1529
1659
  "exam_name"?: string | null;
1530
- "classroom_id"?: number | null;
1660
+ "classroom_id"?: string | null;
1531
1661
  "classroom_name"?: string | null;
1532
1662
  "user_id": string;
1533
1663
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
@@ -1555,11 +1685,11 @@ export interface ExamUpdateAttemptPatchInput extends JsonObject {
1555
1685
  }
1556
1686
  /** Backend response type: models::AttemptResponse. */
1557
1687
  export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1558
- "id": number;
1559
- "exam_session_id": number;
1560
- "exam_id"?: number | null;
1688
+ "id": string;
1689
+ "exam_session_id": string;
1690
+ "exam_id"?: string | null;
1561
1691
  "exam_name"?: string | null;
1562
- "classroom_id"?: number | null;
1692
+ "classroom_id"?: string | null;
1563
1693
  "classroom_name"?: string | null;
1564
1694
  "user_id": string;
1565
1695
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
@@ -1583,8 +1713,8 @@ export interface ExamIndexQuestionGetQuery extends QueryParams {
1583
1713
  }
1584
1714
  /** Backend response type: crate::models::PagedResult<models::QuestionResponse>. */
1585
1715
  export interface ExamIndexQuestionGetResponseItem extends JsonObject {
1586
- "id": number;
1587
- "exam_id"?: number | null;
1716
+ "id": string;
1717
+ "exam_id"?: string | null;
1588
1718
  "question_text": string;
1589
1719
  "question_type": string;
1590
1720
  "options"?: BackendJson<"sea_orm::prelude::Json"> | null;
@@ -1611,7 +1741,7 @@ export interface ExamIndexQuestionGetResponse extends ApiEnvelope<ExamIndexQuest
1611
1741
  }
1612
1742
  /** Backend request type: models::CreateQuestionRequest. */
1613
1743
  export interface ExamStoreQuestionPostInput extends JsonObject {
1614
- "exam_id"?: number | null;
1744
+ "exam_id"?: string | null;
1615
1745
  "question_text": string;
1616
1746
  "question_type": string;
1617
1747
  "options"?: BackendJson<"sea_orm::prelude::Json"> | null;
@@ -1624,8 +1754,8 @@ export interface ExamStoreQuestionPostInput extends JsonObject {
1624
1754
  }
1625
1755
  /** Backend response type: models::QuestionResponse. */
1626
1756
  export interface ExamStoreQuestionPostResponseData extends JsonObject {
1627
- "id": number;
1628
- "exam_id"?: number | null;
1757
+ "id": string;
1758
+ "exam_id"?: string | null;
1629
1759
  "question_text": string;
1630
1760
  "question_type": string;
1631
1761
  "options"?: BackendJson<"sea_orm::prelude::Json"> | null;
@@ -1645,8 +1775,8 @@ export interface ExamDestroyQuestionDeleteResponse extends ApiEnvelope<JsonValue
1645
1775
  }
1646
1776
  /** Backend response type: models::QuestionResponse. */
1647
1777
  export interface ExamShowQuestionGetResponseData extends JsonObject {
1648
- "id": number;
1649
- "exam_id"?: number | null;
1778
+ "id": string;
1779
+ "exam_id"?: string | null;
1650
1780
  "question_text": string;
1651
1781
  "question_type": string;
1652
1782
  "options"?: BackendJson<"sea_orm::prelude::Json"> | null;
@@ -1663,7 +1793,7 @@ export interface ExamShowQuestionGetResponse extends ApiEnvelope<ExamShowQuestio
1663
1793
  }
1664
1794
  /** Backend request type: models::UpdateQuestionRequest. */
1665
1795
  export interface ExamUpdateQuestionPatchInput extends JsonObject {
1666
- "exam_id"?: number | null;
1796
+ "exam_id"?: string | null;
1667
1797
  "question_text"?: string | null;
1668
1798
  "question_type"?: string | null;
1669
1799
  "options"?: BackendJson<"sea_orm::prelude::Json"> | null;
@@ -1676,8 +1806,8 @@ export interface ExamUpdateQuestionPatchInput extends JsonObject {
1676
1806
  }
1677
1807
  /** Backend response type: models::QuestionResponse. */
1678
1808
  export interface ExamUpdateQuestionPatchResponseData extends JsonObject {
1679
- "id": number;
1680
- "exam_id"?: number | null;
1809
+ "id": string;
1810
+ "exam_id"?: string | null;
1681
1811
  "question_text": string;
1682
1812
  "question_type": string;
1683
1813
  "options"?: BackendJson<"sea_orm::prelude::Json"> | null;
@@ -1697,18 +1827,24 @@ export interface ExamIndexSessionGetQuery extends QueryParams {
1697
1827
  "page_number"?: number | null;
1698
1828
  "page_size"?: number | null;
1699
1829
  "status"?: string | null;
1700
- "exam_id"?: number | null;
1701
- "classroom_id"?: number | null;
1830
+ "exam_id"?: string | null;
1831
+ "classroom_id"?: string | null;
1702
1832
  "from"?: string | null;
1703
1833
  "to"?: string | null;
1704
1834
  }
1705
1835
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
1706
1836
  export interface ExamIndexSessionGetResponseItem extends JsonObject {
1707
- "id": number;
1708
- "exam_id": number;
1837
+ "id": string;
1838
+ "exam_id": string;
1709
1839
  "exam_name"?: string | null;
1710
- "classroom_id"?: number | null;
1840
+ "classroom_id"?: string | null;
1711
1841
  "classroom_name"?: string | null;
1842
+ "teacher_user_id"?: string | null;
1843
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1844
+ "consultant_user_id"?: string | null;
1845
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1846
+ "support_user_id"?: string | null;
1847
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1712
1848
  "starts_at"?: string | null;
1713
1849
  "ends_at"?: string | null;
1714
1850
  "status": string;
@@ -1728,19 +1864,28 @@ export interface ExamIndexSessionGetResponse extends ApiEnvelope<ExamIndexSessio
1728
1864
  }
1729
1865
  /** Backend request type: models::CreateSessionRequest. */
1730
1866
  export interface ExamStoreSessionPostInput extends JsonObject {
1731
- "exam_id": number;
1732
- "classroom_id"?: number | null;
1867
+ "exam_id": string;
1868
+ "classroom_id"?: string | null;
1869
+ "teacher_user_id"?: string | null;
1870
+ "consultant_user_id"?: string | null;
1871
+ "support_user_id"?: string | null;
1733
1872
  "starts_at"?: string | null;
1734
1873
  "ends_at"?: string | null;
1735
1874
  "status": string;
1736
1875
  }
1737
1876
  /** Backend response type: models::SessionResponse. */
1738
1877
  export interface ExamStoreSessionPostResponseData extends JsonObject {
1739
- "id": number;
1740
- "exam_id": number;
1878
+ "id": string;
1879
+ "exam_id": string;
1741
1880
  "exam_name"?: string | null;
1742
- "classroom_id"?: number | null;
1881
+ "classroom_id"?: string | null;
1743
1882
  "classroom_name"?: string | null;
1883
+ "teacher_user_id"?: string | null;
1884
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1885
+ "consultant_user_id"?: string | null;
1886
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1887
+ "support_user_id"?: string | null;
1888
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1744
1889
  "starts_at"?: string | null;
1745
1890
  "ends_at"?: string | null;
1746
1891
  "status": string;
@@ -1750,11 +1895,17 @@ export interface ExamStoreSessionPostResponse extends ApiEnvelope<ExamStoreSessi
1750
1895
  }
1751
1896
  /** Backend response type: models::SessionResponse. */
1752
1897
  export interface ExamShowSessionGetResponseData extends JsonObject {
1753
- "id": number;
1754
- "exam_id": number;
1898
+ "id": string;
1899
+ "exam_id": string;
1755
1900
  "exam_name"?: string | null;
1756
- "classroom_id"?: number | null;
1901
+ "classroom_id"?: string | null;
1757
1902
  "classroom_name"?: string | null;
1903
+ "teacher_user_id"?: string | null;
1904
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1905
+ "consultant_user_id"?: string | null;
1906
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1907
+ "support_user_id"?: string | null;
1908
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1758
1909
  "starts_at"?: string | null;
1759
1910
  "ends_at"?: string | null;
1760
1911
  "status": string;
@@ -1764,19 +1915,28 @@ export interface ExamShowSessionGetResponse extends ApiEnvelope<ExamShowSessionG
1764
1915
  }
1765
1916
  /** Backend request type: models::UpdateSessionRequest. */
1766
1917
  export interface ExamUpdateSessionPatchInput extends JsonObject {
1767
- "exam_id"?: number | null;
1768
- "classroom_id"?: number | null;
1918
+ "exam_id"?: string | null;
1919
+ "classroom_id"?: string | null;
1920
+ "teacher_user_id"?: string | null;
1921
+ "consultant_user_id"?: string | null;
1922
+ "support_user_id"?: string | null;
1769
1923
  "starts_at"?: string | null;
1770
1924
  "ends_at"?: string | null;
1771
1925
  "status"?: string | null;
1772
1926
  }
1773
1927
  /** Backend response type: models::SessionResponse. */
1774
1928
  export interface ExamUpdateSessionPatchResponseData extends JsonObject {
1775
- "id": number;
1776
- "exam_id": number;
1929
+ "id": string;
1930
+ "exam_id": string;
1777
1931
  "exam_name"?: string | null;
1778
- "classroom_id"?: number | null;
1932
+ "classroom_id"?: string | null;
1779
1933
  "classroom_name"?: string | null;
1934
+ "teacher_user_id"?: string | null;
1935
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1936
+ "consultant_user_id"?: string | null;
1937
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1938
+ "support_user_id"?: string | null;
1939
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1780
1940
  "starts_at"?: string | null;
1781
1941
  "ends_at"?: string | null;
1782
1942
  "status": string;
@@ -1790,15 +1950,15 @@ export interface HomeworkIndexHomeworkGetQuery extends QueryParams {
1790
1950
  "page_size"?: number | null;
1791
1951
  "search"?: string | null;
1792
1952
  "status"?: string | null;
1793
- "course_id"?: number | null;
1953
+ "course_id"?: string | null;
1794
1954
  }
1795
1955
  /** Backend response type: crate::models::PagedResult<models::HomeworkResponse>. */
1796
1956
  export interface HomeworkIndexHomeworkGetResponseItem extends JsonObject {
1797
- "id": number;
1798
- "course_id"?: number | null;
1957
+ "id": string;
1958
+ "course_id"?: string | null;
1799
1959
  "course_name"?: string | null;
1800
- "grade_id"?: number | null;
1801
- "teacher_grade_id"?: number | null;
1960
+ "grade_id"?: string | null;
1961
+ "teacher_grade_id"?: string | null;
1802
1962
  "name": string;
1803
1963
  "description"?: string | null;
1804
1964
  "status": string;
@@ -1819,20 +1979,20 @@ export interface HomeworkIndexHomeworkGetResponse extends ApiEnvelope<HomeworkIn
1819
1979
  }
1820
1980
  /** Backend request type: models::CreateHomeworkRequest. */
1821
1981
  export interface HomeworkStoreHomeworkPostInput extends JsonObject {
1822
- "course_id"?: number | null;
1823
- "grade_id"?: number | null;
1824
- "teacher_grade_id"?: number | null;
1982
+ "course_id"?: string | null;
1983
+ "grade_id"?: string | null;
1984
+ "teacher_grade_id"?: string | null;
1825
1985
  "name": string;
1826
1986
  "description"?: string | null;
1827
1987
  "status": string;
1828
1988
  }
1829
1989
  /** Backend response type: models::HomeworkResponse. */
1830
1990
  export interface HomeworkStoreHomeworkPostResponseData extends JsonObject {
1831
- "id": number;
1832
- "course_id"?: number | null;
1991
+ "id": string;
1992
+ "course_id"?: string | null;
1833
1993
  "course_name"?: string | null;
1834
- "grade_id"?: number | null;
1835
- "teacher_grade_id"?: number | null;
1994
+ "grade_id"?: string | null;
1995
+ "teacher_grade_id"?: string | null;
1836
1996
  "name": string;
1837
1997
  "description"?: string | null;
1838
1998
  "status": string;
@@ -1843,11 +2003,11 @@ export interface HomeworkStoreHomeworkPostResponse extends ApiEnvelope<HomeworkS
1843
2003
  }
1844
2004
  /** Backend response type: models::HomeworkResponse. */
1845
2005
  export interface HomeworkShowHomeworkGetResponseData extends JsonObject {
1846
- "id": number;
1847
- "course_id"?: number | null;
2006
+ "id": string;
2007
+ "course_id"?: string | null;
1848
2008
  "course_name"?: string | null;
1849
- "grade_id"?: number | null;
1850
- "teacher_grade_id"?: number | null;
2009
+ "grade_id"?: string | null;
2010
+ "teacher_grade_id"?: string | null;
1851
2011
  "name": string;
1852
2012
  "description"?: string | null;
1853
2013
  "status": string;
@@ -1858,20 +2018,20 @@ export interface HomeworkShowHomeworkGetResponse extends ApiEnvelope<HomeworkSho
1858
2018
  }
1859
2019
  /** Backend request type: models::UpdateHomeworkRequest. */
1860
2020
  export interface HomeworkUpdateHomeworkPatchInput extends JsonObject {
1861
- "course_id"?: number | null;
1862
- "grade_id"?: number | null;
1863
- "teacher_grade_id"?: number | null;
2021
+ "course_id"?: string | null;
2022
+ "grade_id"?: string | null;
2023
+ "teacher_grade_id"?: string | null;
1864
2024
  "name"?: string | null;
1865
2025
  "description"?: string | null;
1866
2026
  "status"?: string | null;
1867
2027
  }
1868
2028
  /** Backend response type: models::HomeworkResponse. */
1869
2029
  export interface HomeworkUpdateHomeworkPatchResponseData extends JsonObject {
1870
- "id": number;
1871
- "course_id"?: number | null;
2030
+ "id": string;
2031
+ "course_id"?: string | null;
1872
2032
  "course_name"?: string | null;
1873
- "grade_id"?: number | null;
1874
- "teacher_grade_id"?: number | null;
2033
+ "grade_id"?: string | null;
2034
+ "teacher_grade_id"?: string | null;
1875
2035
  "name": string;
1876
2036
  "description"?: string | null;
1877
2037
  "status": string;
@@ -1885,18 +2045,24 @@ export interface HomeworkIndexAssignmentGetQuery extends QueryParams {
1885
2045
  "page_number"?: number | null;
1886
2046
  "page_size"?: number | null;
1887
2047
  "status"?: string | null;
1888
- "homework_id"?: number | null;
1889
- "classroom_id"?: number | null;
2048
+ "homework_id"?: string | null;
2049
+ "classroom_id"?: string | null;
1890
2050
  }
1891
2051
  /** Backend response type: crate::models::PagedResult<models::AssignmentResponse>. */
1892
2052
  export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
1893
- "id": number;
1894
- "homework_id": number;
2053
+ "id": string;
2054
+ "homework_id": string;
1895
2055
  "homework_name"?: string | null;
1896
- "classroom_id"?: number | null;
2056
+ "classroom_id"?: string | null;
1897
2057
  "classroom_name"?: string | null;
1898
2058
  "user_id"?: string | null;
1899
2059
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2060
+ "teacher_user_id"?: string | null;
2061
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2062
+ "consultant_user_id"?: string | null;
2063
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2064
+ "support_user_id"?: string | null;
2065
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1900
2066
  "due_at"?: string | null;
1901
2067
  "status": string;
1902
2068
  "answer_text"?: string | null;
@@ -1918,9 +2084,12 @@ export interface HomeworkIndexAssignmentGetResponse extends ApiEnvelope<Homework
1918
2084
  }
1919
2085
  /** Backend request type: models::CreateAssignmentRequest. */
1920
2086
  export interface HomeworkStoreAssignmentPostInput extends JsonObject {
1921
- "homework_id": number;
1922
- "classroom_id"?: number | null;
2087
+ "homework_id": string;
2088
+ "classroom_id"?: string | null;
1923
2089
  "user_id"?: string | null;
2090
+ "teacher_user_id"?: string | null;
2091
+ "consultant_user_id"?: string | null;
2092
+ "support_user_id"?: string | null;
1924
2093
  "due_at"?: string | null;
1925
2094
  "status": string;
1926
2095
  "answer_text"?: string | null;
@@ -1928,13 +2097,19 @@ export interface HomeworkStoreAssignmentPostInput extends JsonObject {
1928
2097
  }
1929
2098
  /** Backend response type: models::AssignmentResponse. */
1930
2099
  export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
1931
- "id": number;
1932
- "homework_id": number;
2100
+ "id": string;
2101
+ "homework_id": string;
1933
2102
  "homework_name"?: string | null;
1934
- "classroom_id"?: number | null;
2103
+ "classroom_id"?: string | null;
1935
2104
  "classroom_name"?: string | null;
1936
2105
  "user_id"?: string | null;
1937
2106
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2107
+ "teacher_user_id"?: string | null;
2108
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2109
+ "consultant_user_id"?: string | null;
2110
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2111
+ "support_user_id"?: string | null;
2112
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1938
2113
  "due_at"?: string | null;
1939
2114
  "status": string;
1940
2115
  "answer_text"?: string | null;
@@ -1946,13 +2121,19 @@ export interface HomeworkStoreAssignmentPostResponse extends ApiEnvelope<Homewor
1946
2121
  }
1947
2122
  /** Backend response type: models::AssignmentResponse. */
1948
2123
  export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
1949
- "id": number;
1950
- "homework_id": number;
2124
+ "id": string;
2125
+ "homework_id": string;
1951
2126
  "homework_name"?: string | null;
1952
- "classroom_id"?: number | null;
2127
+ "classroom_id"?: string | null;
1953
2128
  "classroom_name"?: string | null;
1954
2129
  "user_id"?: string | null;
1955
2130
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2131
+ "teacher_user_id"?: string | null;
2132
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2133
+ "consultant_user_id"?: string | null;
2134
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2135
+ "support_user_id"?: string | null;
2136
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1956
2137
  "due_at"?: string | null;
1957
2138
  "status": string;
1958
2139
  "answer_text"?: string | null;
@@ -1964,9 +2145,12 @@ export interface HomeworkShowAssignmentGetResponse extends ApiEnvelope<HomeworkS
1964
2145
  }
1965
2146
  /** Backend request type: models::UpdateAssignmentRequest. */
1966
2147
  export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
1967
- "homework_id"?: number | null;
1968
- "classroom_id"?: number | null;
2148
+ "homework_id"?: string | null;
2149
+ "classroom_id"?: string | null;
1969
2150
  "user_id"?: string | null;
2151
+ "teacher_user_id"?: string | null;
2152
+ "consultant_user_id"?: string | null;
2153
+ "support_user_id"?: string | null;
1970
2154
  "due_at"?: string | null;
1971
2155
  "status"?: string | null;
1972
2156
  "answer_text"?: string | null;
@@ -1974,13 +2158,19 @@ export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
1974
2158
  }
1975
2159
  /** Backend response type: models::AssignmentResponse. */
1976
2160
  export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
1977
- "id": number;
1978
- "homework_id": number;
2161
+ "id": string;
2162
+ "homework_id": string;
1979
2163
  "homework_name"?: string | null;
1980
- "classroom_id"?: number | null;
2164
+ "classroom_id"?: string | null;
1981
2165
  "classroom_name"?: string | null;
1982
2166
  "user_id"?: string | null;
1983
2167
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2168
+ "teacher_user_id"?: string | null;
2169
+ "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2170
+ "consultant_user_id"?: string | null;
2171
+ "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2172
+ "support_user_id"?: string | null;
2173
+ "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1984
2174
  "due_at"?: string | null;
1985
2175
  "status": string;
1986
2176
  "answer_text"?: string | null;
@@ -1997,8 +2187,8 @@ export interface HomeworkIndexQuestionGetQuery extends QueryParams {
1997
2187
  }
1998
2188
  /** Backend response type: crate::models::PagedResult<models::QuestionResponse>. */
1999
2189
  export interface HomeworkIndexQuestionGetResponseItem extends JsonObject {
2000
- "id": number;
2001
- "homework_id": number;
2190
+ "id": string;
2191
+ "homework_id": string;
2002
2192
  "question_text": string;
2003
2193
  "description"?: string | null;
2004
2194
  "answer"?: string | null;
@@ -2025,7 +2215,7 @@ export interface HomeworkIndexQuestionGetResponse extends ApiEnvelope<HomeworkIn
2025
2215
  }
2026
2216
  /** Backend request type: models::CreateQuestionRequest. */
2027
2217
  export interface HomeworkStoreQuestionPostInput extends JsonObject {
2028
- "homework_id": number;
2218
+ "homework_id": string;
2029
2219
  "question_text": string;
2030
2220
  "description"?: string | null;
2031
2221
  "answer"?: string | null;
@@ -2038,8 +2228,8 @@ export interface HomeworkStoreQuestionPostInput extends JsonObject {
2038
2228
  }
2039
2229
  /** Backend response type: models::QuestionResponse. */
2040
2230
  export interface HomeworkStoreQuestionPostResponseData extends JsonObject {
2041
- "id": number;
2042
- "homework_id": number;
2231
+ "id": string;
2232
+ "homework_id": string;
2043
2233
  "question_text": string;
2044
2234
  "description"?: string | null;
2045
2235
  "answer"?: string | null;
@@ -2056,8 +2246,8 @@ export interface HomeworkStoreQuestionPostResponse extends ApiEnvelope<HomeworkS
2056
2246
  }
2057
2247
  /** Backend response type: models::QuestionResponse. */
2058
2248
  export interface HomeworkShowQuestionGetResponseData extends JsonObject {
2059
- "id": number;
2060
- "homework_id": number;
2249
+ "id": string;
2250
+ "homework_id": string;
2061
2251
  "question_text": string;
2062
2252
  "description"?: string | null;
2063
2253
  "answer"?: string | null;
@@ -2074,7 +2264,7 @@ export interface HomeworkShowQuestionGetResponse extends ApiEnvelope<HomeworkSho
2074
2264
  }
2075
2265
  /** Backend request type: models::UpdateQuestionRequest. */
2076
2266
  export interface HomeworkUpdateQuestionPatchInput extends JsonObject {
2077
- "homework_id"?: number | null;
2267
+ "homework_id"?: string | null;
2078
2268
  "question_text"?: string | null;
2079
2269
  "description"?: string | null;
2080
2270
  "answer"?: string | null;
@@ -2087,8 +2277,8 @@ export interface HomeworkUpdateQuestionPatchInput extends JsonObject {
2087
2277
  }
2088
2278
  /** Backend response type: models::QuestionResponse. */
2089
2279
  export interface HomeworkUpdateQuestionPatchResponseData extends JsonObject {
2090
- "id": number;
2091
- "homework_id": number;
2280
+ "id": string;
2281
+ "homework_id": string;
2092
2282
  "question_text": string;
2093
2283
  "description"?: string | null;
2094
2284
  "answer"?: string | null;
@@ -2150,15 +2340,15 @@ export interface ProfileRoutesShowGetResponse extends ApiEnvelope<BackendJson<"P
2150
2340
  }
2151
2341
  /** Backend response type: models::CertificateResponse. */
2152
2342
  export interface CertificateVerifyCertificateGetResponseData extends JsonObject {
2153
- "id": number;
2343
+ "id": string;
2154
2344
  "public_id": string;
2155
2345
  "user_id": string;
2156
2346
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2157
- "course_id"?: number | null;
2158
- "classroom_id"?: number | null;
2347
+ "course_id"?: string | null;
2348
+ "classroom_id"?: string | null;
2159
2349
  "title": string;
2160
- "certificate_template_id"?: number | null;
2161
- "grade_id"?: number | null;
2350
+ "certificate_template_id"?: string | null;
2351
+ "grade_id"?: string | null;
2162
2352
  "status": string;
2163
2353
  "verification_code"?: string | null;
2164
2354
  "legacy_code"?: string | null;
@@ -2181,8 +2371,8 @@ export interface ReportClassroomsGetQuery extends QueryParams {
2181
2371
  }
2182
2372
  /** Backend response type: Vec<models::ClassroomReport>. */
2183
2373
  export interface ReportClassroomsGetResponseItem extends JsonObject {
2184
- "classroom_id": number;
2185
- "course_id": number;
2374
+ "classroom_id": string;
2375
+ "course_id": string;
2186
2376
  "name": string;
2187
2377
  "status": string;
2188
2378
  "teacher_user_id"?: string | null;
@@ -2227,6 +2417,36 @@ export interface ReportCoursesGetQuery extends QueryParams {
2227
2417
  }
2228
2418
  /** Backend response type: Vec<models::CourseReport>. */
2229
2419
  export type ReportCoursesGetResponse = import("./types.js").AcademyCoursesResponse;
2420
+ /** Backend response type: Vec<crate::profile::ProfileSummary>. */
2421
+ export interface ReportMyStudentsGetResponseItem extends JsonObject {
2422
+ "user_id": string;
2423
+ "first_name"?: JsonValue | null;
2424
+ "last_name"?: JsonValue | null;
2425
+ "email"?: string | null;
2426
+ "national_code"?: string | null;
2427
+ "phone"?: string | null;
2428
+ }
2429
+ export interface ReportMyStudentsGetResponse extends ApiEnvelope<ReportMyStudentsGetResponseItem[]> {
2430
+ }
2431
+ /** Backend query type: models::StudentSummaryQuery. */
2432
+ export interface ReportStudentSummaryGetQuery extends QueryParams {
2433
+ "from"?: string | null;
2434
+ "to"?: string | null;
2435
+ "status"?: string | null;
2436
+ "student_user_id"?: string | null;
2437
+ }
2438
+ /** Backend response type: models::StudentReport. */
2439
+ export interface ReportStudentSummaryGetResponseData extends JsonObject {
2440
+ "user_id": string;
2441
+ "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2442
+ "classroom_count": number;
2443
+ "session_count": number;
2444
+ "attendance_count": number;
2445
+ "absence_count": number;
2446
+ "attendance_rate": number;
2447
+ }
2448
+ export interface ReportStudentSummaryGetResponse extends ApiEnvelope<ReportStudentSummaryGetResponseData> {
2449
+ }
2230
2450
  /** Backend query type: models::ReportQuery. */
2231
2451
  export interface ReportStudentsGetQuery extends QueryParams {
2232
2452
  "from"?: string | null;
@@ -2269,7 +2489,7 @@ export interface ReportTeachersGetResponse extends ApiEnvelope<ReportTeachersGet
2269
2489
  /** Backend query type: LicenceQuery. */
2270
2490
  export interface ServiceCheckLicenceGetQuery extends QueryParams {
2271
2491
  "user_id": string;
2272
- "content_id": number;
2492
+ "content_id": string;
2273
2493
  }
2274
2494
  /** Backend response type: LicenceResponse. */
2275
2495
  export interface ServiceCheckLicenceGetResponseData extends JsonObject {