@faiber/faiber-lms 0.11.0 → 0.11.2

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.
@@ -28,9 +28,17 @@ export type AcademyCompleteSessionPostInput = import("./types.js").AcademyComple
28
28
  /** Backend response type: Value. */
29
29
  export type AcademyCompleteSessionPostResponse = import("./types.js").AcademySessionCompletionResponse;
30
30
  /** Backend response type: SessionResponse. */
31
+ export interface SessionGetSelfGetResponseDataProfile extends JsonObject {
32
+ "user_id": string;
33
+ "first_name"?: JsonValue | null;
34
+ "last_name"?: JsonValue | null;
35
+ "email"?: string | null;
36
+ "national_code"?: string | null;
37
+ "phone"?: string | null;
38
+ }
31
39
  export interface SessionGetSelfGetResponseData extends JsonObject {
32
40
  "user_id": string;
33
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
41
+ "profile"?: SessionGetSelfGetResponseDataProfile | null;
34
42
  "roles": string[];
35
43
  "permissions": string[];
36
44
  }
@@ -85,6 +93,30 @@ export interface ClassroomIndexClassroomGetQuery extends QueryParams {
85
93
  "to"?: string | null;
86
94
  }
87
95
  /** Backend response type: crate::models::PagedResult<models::ClassroomResponse>. */
96
+ export interface ClassroomIndexClassroomGetResponseItemTeacherProfile extends JsonObject {
97
+ "user_id": string;
98
+ "first_name"?: JsonValue | null;
99
+ "last_name"?: JsonValue | null;
100
+ "email"?: string | null;
101
+ "national_code"?: string | null;
102
+ "phone"?: string | null;
103
+ }
104
+ export interface ClassroomIndexClassroomGetResponseItemConsultantProfile extends JsonObject {
105
+ "user_id": string;
106
+ "first_name"?: JsonValue | null;
107
+ "last_name"?: JsonValue | null;
108
+ "email"?: string | null;
109
+ "national_code"?: string | null;
110
+ "phone"?: string | null;
111
+ }
112
+ export interface ClassroomIndexClassroomGetResponseItemSupportProfile extends JsonObject {
113
+ "user_id": string;
114
+ "first_name"?: JsonValue | null;
115
+ "last_name"?: JsonValue | null;
116
+ "email"?: string | null;
117
+ "national_code"?: string | null;
118
+ "phone"?: string | null;
119
+ }
88
120
  export interface ClassroomIndexClassroomGetResponseItem extends JsonObject {
89
121
  "id": string;
90
122
  "course_id": string;
@@ -105,11 +137,11 @@ export interface ClassroomIndexClassroomGetResponseItem extends JsonObject {
105
137
  "school_grade_id"?: string | null;
106
138
  "grade_id"?: string | null;
107
139
  "teacher_user_id"?: string | null;
108
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
140
+ "teacher_profile"?: ClassroomIndexClassroomGetResponseItemTeacherProfile | null;
109
141
  "consultant_user_id"?: string | null;
110
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
142
+ "consultant_profile"?: ClassroomIndexClassroomGetResponseItemConsultantProfile | null;
111
143
  "support_user_id"?: string | null;
112
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
144
+ "support_profile"?: ClassroomIndexClassroomGetResponseItemSupportProfile | null;
113
145
  "capacity"?: number | null;
114
146
  "notifications": JsonValue;
115
147
  "weekly_schedule": JsonValue;
@@ -154,6 +186,30 @@ export interface ClassroomStoreClassroomPostInput extends JsonObject {
154
186
  "status": string;
155
187
  }
156
188
  /** Backend response type: models::ClassroomResponse. */
189
+ export interface ClassroomStoreClassroomPostResponseDataTeacherProfile extends JsonObject {
190
+ "user_id": string;
191
+ "first_name"?: JsonValue | null;
192
+ "last_name"?: JsonValue | null;
193
+ "email"?: string | null;
194
+ "national_code"?: string | null;
195
+ "phone"?: string | null;
196
+ }
197
+ export interface ClassroomStoreClassroomPostResponseDataConsultantProfile extends JsonObject {
198
+ "user_id": string;
199
+ "first_name"?: JsonValue | null;
200
+ "last_name"?: JsonValue | null;
201
+ "email"?: string | null;
202
+ "national_code"?: string | null;
203
+ "phone"?: string | null;
204
+ }
205
+ export interface ClassroomStoreClassroomPostResponseDataSupportProfile extends JsonObject {
206
+ "user_id": string;
207
+ "first_name"?: JsonValue | null;
208
+ "last_name"?: JsonValue | null;
209
+ "email"?: string | null;
210
+ "national_code"?: string | null;
211
+ "phone"?: string | null;
212
+ }
157
213
  export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
158
214
  "id": string;
159
215
  "course_id": string;
@@ -174,11 +230,11 @@ export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
174
230
  "school_grade_id"?: string | null;
175
231
  "grade_id"?: string | null;
176
232
  "teacher_user_id"?: string | null;
177
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
233
+ "teacher_profile"?: ClassroomStoreClassroomPostResponseDataTeacherProfile | null;
178
234
  "consultant_user_id"?: string | null;
179
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
235
+ "consultant_profile"?: ClassroomStoreClassroomPostResponseDataConsultantProfile | null;
180
236
  "support_user_id"?: string | null;
181
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
237
+ "support_profile"?: ClassroomStoreClassroomPostResponseDataSupportProfile | null;
182
238
  "capacity"?: number | null;
183
239
  "notifications": JsonValue;
184
240
  "weekly_schedule": JsonValue;
@@ -192,6 +248,30 @@ export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
192
248
  export interface ClassroomStoreClassroomPostResponse extends ApiEnvelope<ClassroomStoreClassroomPostResponseData> {
193
249
  }
194
250
  /** Backend response type: models::ClassroomResponse. */
251
+ export interface ClassroomShowClassroomGetResponseDataTeacherProfile extends JsonObject {
252
+ "user_id": string;
253
+ "first_name"?: JsonValue | null;
254
+ "last_name"?: JsonValue | null;
255
+ "email"?: string | null;
256
+ "national_code"?: string | null;
257
+ "phone"?: string | null;
258
+ }
259
+ export interface ClassroomShowClassroomGetResponseDataConsultantProfile extends JsonObject {
260
+ "user_id": string;
261
+ "first_name"?: JsonValue | null;
262
+ "last_name"?: JsonValue | null;
263
+ "email"?: string | null;
264
+ "national_code"?: string | null;
265
+ "phone"?: string | null;
266
+ }
267
+ export interface ClassroomShowClassroomGetResponseDataSupportProfile extends JsonObject {
268
+ "user_id": string;
269
+ "first_name"?: JsonValue | null;
270
+ "last_name"?: JsonValue | null;
271
+ "email"?: string | null;
272
+ "national_code"?: string | null;
273
+ "phone"?: string | null;
274
+ }
195
275
  export interface ClassroomShowClassroomGetResponseData extends JsonObject {
196
276
  "id": string;
197
277
  "course_id": string;
@@ -212,11 +292,11 @@ export interface ClassroomShowClassroomGetResponseData extends JsonObject {
212
292
  "school_grade_id"?: string | null;
213
293
  "grade_id"?: string | null;
214
294
  "teacher_user_id"?: string | null;
215
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
295
+ "teacher_profile"?: ClassroomShowClassroomGetResponseDataTeacherProfile | null;
216
296
  "consultant_user_id"?: string | null;
217
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
297
+ "consultant_profile"?: ClassroomShowClassroomGetResponseDataConsultantProfile | null;
218
298
  "support_user_id"?: string | null;
219
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
299
+ "support_profile"?: ClassroomShowClassroomGetResponseDataSupportProfile | null;
220
300
  "capacity"?: number | null;
221
301
  "notifications": JsonValue;
222
302
  "weekly_schedule": JsonValue;
@@ -251,6 +331,30 @@ export interface ClassroomUpdateClassroomPatchInput extends JsonObject {
251
331
  "status"?: string | null;
252
332
  }
253
333
  /** Backend response type: models::ClassroomResponse. */
334
+ export interface ClassroomUpdateClassroomPatchResponseDataTeacherProfile extends JsonObject {
335
+ "user_id": string;
336
+ "first_name"?: JsonValue | null;
337
+ "last_name"?: JsonValue | null;
338
+ "email"?: string | null;
339
+ "national_code"?: string | null;
340
+ "phone"?: string | null;
341
+ }
342
+ export interface ClassroomUpdateClassroomPatchResponseDataConsultantProfile extends JsonObject {
343
+ "user_id": string;
344
+ "first_name"?: JsonValue | null;
345
+ "last_name"?: JsonValue | null;
346
+ "email"?: string | null;
347
+ "national_code"?: string | null;
348
+ "phone"?: string | null;
349
+ }
350
+ export interface ClassroomUpdateClassroomPatchResponseDataSupportProfile extends JsonObject {
351
+ "user_id": string;
352
+ "first_name"?: JsonValue | null;
353
+ "last_name"?: JsonValue | null;
354
+ "email"?: string | null;
355
+ "national_code"?: string | null;
356
+ "phone"?: string | null;
357
+ }
254
358
  export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
255
359
  "id": string;
256
360
  "course_id": string;
@@ -271,11 +375,11 @@ export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
271
375
  "school_grade_id"?: string | null;
272
376
  "grade_id"?: string | null;
273
377
  "teacher_user_id"?: string | null;
274
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
378
+ "teacher_profile"?: ClassroomUpdateClassroomPatchResponseDataTeacherProfile | null;
275
379
  "consultant_user_id"?: string | null;
276
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
380
+ "consultant_profile"?: ClassroomUpdateClassroomPatchResponseDataConsultantProfile | null;
277
381
  "support_user_id"?: string | null;
278
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
382
+ "support_profile"?: ClassroomUpdateClassroomPatchResponseDataSupportProfile | null;
279
383
  "capacity"?: number | null;
280
384
  "notifications": JsonValue;
281
385
  "weekly_schedule": JsonValue;
@@ -289,6 +393,38 @@ export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
289
393
  export interface ClassroomUpdateClassroomPatchResponse extends ApiEnvelope<ClassroomUpdateClassroomPatchResponseData> {
290
394
  }
291
395
  /** Backend response type: models::CompletionReviewResponse. */
396
+ export interface ClassroomShowCompletionGetResponseDataExams extends JsonObject {
397
+ "exam_session_id": string;
398
+ "exam_id": string;
399
+ "name": string;
400
+ }
401
+ export interface ClassroomShowCompletionGetResponseDataCertificateTemplates extends JsonObject {
402
+ "id": string;
403
+ "name": string;
404
+ }
405
+ export interface ClassroomShowCompletionGetResponseDataStudentsProfile extends JsonObject {
406
+ "user_id": string;
407
+ "first_name"?: JsonValue | null;
408
+ "last_name"?: JsonValue | null;
409
+ "email"?: string | null;
410
+ "national_code"?: string | null;
411
+ "phone"?: string | null;
412
+ }
413
+ export interface ClassroomShowCompletionGetResponseDataStudentsExamScores extends JsonObject {
414
+ "exam_session_id": string;
415
+ "score"?: number | null;
416
+ "teacher_score"?: number | null;
417
+ "effective_score"?: number | null;
418
+ "status": string;
419
+ }
420
+ export interface ClassroomShowCompletionGetResponseDataStudents extends JsonObject {
421
+ "user_id": string;
422
+ "profile"?: ClassroomShowCompletionGetResponseDataStudentsProfile | null;
423
+ "exam_scores": ClassroomShowCompletionGetResponseDataStudentsExamScores[];
424
+ "suggested_final_score"?: number | null;
425
+ "final_score"?: number | null;
426
+ "passed"?: boolean | null;
427
+ }
292
428
  export interface ClassroomShowCompletionGetResponseData extends JsonObject {
293
429
  "classroom_id": string;
294
430
  "classroom_name": string;
@@ -296,16 +432,20 @@ export interface ClassroomShowCompletionGetResponseData extends JsonObject {
296
432
  "course_id": string;
297
433
  "course_name": string;
298
434
  "passing_mark"?: number | null;
299
- "exams": BackendJson<"CompletionExam">[];
300
- "certificate_templates": BackendJson<"CompletionCertificateTemplate">[];
301
- "students": BackendJson<"CompletionStudent">[];
435
+ "exams": ClassroomShowCompletionGetResponseDataExams[];
436
+ "certificate_templates": ClassroomShowCompletionGetResponseDataCertificateTemplates[];
437
+ "students": ClassroomShowCompletionGetResponseDataStudents[];
302
438
  }
303
439
  export interface ClassroomShowCompletionGetResponse extends ApiEnvelope<ClassroomShowCompletionGetResponseData> {
304
440
  }
305
441
  /** Backend request type: models::FinalizeClassroomRequest. */
442
+ export interface ClassroomFinalizeClassroomPostInputStudents extends JsonObject {
443
+ "user_id": BackendJson<"uuid::Uuid">;
444
+ "final_score": number;
445
+ }
306
446
  export interface ClassroomFinalizeClassroomPostInput extends JsonObject {
307
447
  "idempotency_key": string;
308
- "students": BackendJson<"FinalScoreRequest">[];
448
+ "students": ClassroomFinalizeClassroomPostInputStudents[];
309
449
  }
310
450
  /** Backend response type: models::FinalizeClassroomResponse. */
311
451
  export interface ClassroomFinalizeClassroomPostResponseData extends JsonObject {
@@ -322,11 +462,19 @@ export interface ClassroomIndexClassroomUsersGetQuery extends QueryParams {
322
462
  "page_size"?: number | null;
323
463
  }
324
464
  /** Backend response type: crate::models::PagedResult<models::ClassroomUserResponse>. */
465
+ export interface ClassroomIndexClassroomUsersGetResponseItemProfile extends JsonObject {
466
+ "user_id": string;
467
+ "first_name"?: JsonValue | null;
468
+ "last_name"?: JsonValue | null;
469
+ "email"?: string | null;
470
+ "national_code"?: string | null;
471
+ "phone"?: string | null;
472
+ }
325
473
  export interface ClassroomIndexClassroomUsersGetResponseItem extends JsonObject {
326
474
  "id": string;
327
475
  "classroom_id": string;
328
476
  "user_id": string;
329
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
477
+ "profile"?: ClassroomIndexClassroomUsersGetResponseItemProfile | null;
330
478
  "score"?: number | null;
331
479
  "status": string;
332
480
  "created_at": string;
@@ -351,11 +499,19 @@ export interface ClassroomEnrollClassroomUserPostInput extends JsonObject {
351
499
  "status"?: string | null;
352
500
  }
353
501
  /** Backend response type: models::ClassroomUserResponse. */
502
+ export interface ClassroomEnrollClassroomUserPostResponseDataProfile extends JsonObject {
503
+ "user_id": string;
504
+ "first_name"?: JsonValue | null;
505
+ "last_name"?: JsonValue | null;
506
+ "email"?: string | null;
507
+ "national_code"?: string | null;
508
+ "phone"?: string | null;
509
+ }
354
510
  export interface ClassroomEnrollClassroomUserPostResponseData extends JsonObject {
355
511
  "id": string;
356
512
  "classroom_id": string;
357
513
  "user_id": string;
358
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
514
+ "profile"?: ClassroomEnrollClassroomUserPostResponseDataProfile | null;
359
515
  "score"?: number | null;
360
516
  "status": string;
361
517
  "created_at": string;
@@ -372,11 +528,19 @@ export interface ClassroomUpdateClassroomUserPatchInput extends JsonObject {
372
528
  "status"?: string | null;
373
529
  }
374
530
  /** Backend response type: models::ClassroomUserResponse. */
531
+ export interface ClassroomUpdateClassroomUserPatchResponseDataProfile extends JsonObject {
532
+ "user_id": string;
533
+ "first_name"?: JsonValue | null;
534
+ "last_name"?: JsonValue | null;
535
+ "email"?: string | null;
536
+ "national_code"?: string | null;
537
+ "phone"?: string | null;
538
+ }
375
539
  export interface ClassroomUpdateClassroomUserPatchResponseData extends JsonObject {
376
540
  "id": string;
377
541
  "classroom_id": string;
378
542
  "user_id": string;
379
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
543
+ "profile"?: ClassroomUpdateClassroomUserPatchResponseDataProfile | null;
380
544
  "score"?: number | null;
381
545
  "status": string;
382
546
  "created_at": string;
@@ -416,20 +580,50 @@ export interface ClassroomIndexSessionGetQuery extends QueryParams {
416
580
  "to"?: string | null;
417
581
  }
418
582
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
583
+ export interface ClassroomIndexSessionGetResponseItemCourseSession extends JsonObject {
584
+ "id": string;
585
+ "course_id": string;
586
+ "name": string;
587
+ "description"?: string | null;
588
+ "sort_order": number;
589
+ "session_type": string;
590
+ "session_type_id"?: string | null;
591
+ "duration_minutes"?: number | null;
592
+ "status": string;
593
+ }
594
+ export interface ClassroomIndexSessionGetResponseItemSessionType extends JsonObject {
595
+ "id": string;
596
+ "code": string;
597
+ "name": string;
598
+ "name_fa"?: string | null;
599
+ "is_online": boolean;
600
+ "status": string;
601
+ "sort_order": number;
602
+ "created_at": string;
603
+ "updated_at": string;
604
+ }
605
+ export interface ClassroomIndexSessionGetResponseItemTeacherProfile extends JsonObject {
606
+ "user_id": string;
607
+ "first_name"?: JsonValue | null;
608
+ "last_name"?: JsonValue | null;
609
+ "email"?: string | null;
610
+ "national_code"?: string | null;
611
+ "phone"?: string | null;
612
+ }
419
613
  export interface ClassroomIndexSessionGetResponseItem extends JsonObject {
420
614
  "id": string;
421
615
  "classroom_id": string;
422
616
  "classroom_name"?: string | null;
423
617
  "course_session_id"?: string | null;
424
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
618
+ "course_session"?: ClassroomIndexSessionGetResponseItemCourseSession | null;
425
619
  "course_session_type_id"?: string | null;
426
- "session_type"?: import("./types.js").ClassroomSessionType | null;
620
+ "session_type"?: ClassroomIndexSessionGetResponseItemSessionType | null;
427
621
  "name"?: string | null;
428
622
  "session_number"?: number | null;
429
623
  "duration_minutes"?: number | null;
430
624
  "description"?: string | null;
431
625
  "teacher_user_id"?: string | null;
432
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
626
+ "teacher_profile"?: ClassroomIndexSessionGetResponseItemTeacherProfile | null;
433
627
  "locked": boolean;
434
628
  "auto_unlock": boolean;
435
629
  "auto_present": boolean;
@@ -474,20 +668,50 @@ export interface ClassroomStoreSessionPostInput extends JsonObject {
474
668
  "status": string;
475
669
  }
476
670
  /** Backend response type: models::SessionResponse. */
671
+ export interface ClassroomStoreSessionPostResponseDataCourseSession extends JsonObject {
672
+ "id": string;
673
+ "course_id": string;
674
+ "name": string;
675
+ "description"?: string | null;
676
+ "sort_order": number;
677
+ "session_type": string;
678
+ "session_type_id"?: string | null;
679
+ "duration_minutes"?: number | null;
680
+ "status": string;
681
+ }
682
+ export interface ClassroomStoreSessionPostResponseDataSessionType extends JsonObject {
683
+ "id": string;
684
+ "code": string;
685
+ "name": string;
686
+ "name_fa"?: string | null;
687
+ "is_online": boolean;
688
+ "status": string;
689
+ "sort_order": number;
690
+ "created_at": string;
691
+ "updated_at": string;
692
+ }
693
+ export interface ClassroomStoreSessionPostResponseDataTeacherProfile extends JsonObject {
694
+ "user_id": string;
695
+ "first_name"?: JsonValue | null;
696
+ "last_name"?: JsonValue | null;
697
+ "email"?: string | null;
698
+ "national_code"?: string | null;
699
+ "phone"?: string | null;
700
+ }
477
701
  export interface ClassroomStoreSessionPostResponseData extends JsonObject {
478
702
  "id": string;
479
703
  "classroom_id": string;
480
704
  "classroom_name"?: string | null;
481
705
  "course_session_id"?: string | null;
482
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
706
+ "course_session"?: ClassroomStoreSessionPostResponseDataCourseSession | null;
483
707
  "course_session_type_id"?: string | null;
484
- "session_type"?: import("./types.js").ClassroomSessionType | null;
708
+ "session_type"?: ClassroomStoreSessionPostResponseDataSessionType | null;
485
709
  "name"?: string | null;
486
710
  "session_number"?: number | null;
487
711
  "duration_minutes"?: number | null;
488
712
  "description"?: string | null;
489
713
  "teacher_user_id"?: string | null;
490
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
714
+ "teacher_profile"?: ClassroomStoreSessionPostResponseDataTeacherProfile | null;
491
715
  "locked": boolean;
492
716
  "auto_unlock": boolean;
493
717
  "auto_present": boolean;
@@ -505,20 +729,50 @@ export interface ClassroomStoreSessionPostResponseData extends JsonObject {
505
729
  export interface ClassroomStoreSessionPostResponse extends ApiEnvelope<ClassroomStoreSessionPostResponseData> {
506
730
  }
507
731
  /** Backend response type: models::SessionResponse. */
732
+ export interface ClassroomShowSessionGetResponseDataCourseSession extends JsonObject {
733
+ "id": string;
734
+ "course_id": string;
735
+ "name": string;
736
+ "description"?: string | null;
737
+ "sort_order": number;
738
+ "session_type": string;
739
+ "session_type_id"?: string | null;
740
+ "duration_minutes"?: number | null;
741
+ "status": string;
742
+ }
743
+ export interface ClassroomShowSessionGetResponseDataSessionType extends JsonObject {
744
+ "id": string;
745
+ "code": string;
746
+ "name": string;
747
+ "name_fa"?: string | null;
748
+ "is_online": boolean;
749
+ "status": string;
750
+ "sort_order": number;
751
+ "created_at": string;
752
+ "updated_at": string;
753
+ }
754
+ export interface ClassroomShowSessionGetResponseDataTeacherProfile extends JsonObject {
755
+ "user_id": string;
756
+ "first_name"?: JsonValue | null;
757
+ "last_name"?: JsonValue | null;
758
+ "email"?: string | null;
759
+ "national_code"?: string | null;
760
+ "phone"?: string | null;
761
+ }
508
762
  export interface ClassroomShowSessionGetResponseData extends JsonObject {
509
763
  "id": string;
510
764
  "classroom_id": string;
511
765
  "classroom_name"?: string | null;
512
766
  "course_session_id"?: string | null;
513
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
767
+ "course_session"?: ClassroomShowSessionGetResponseDataCourseSession | null;
514
768
  "course_session_type_id"?: string | null;
515
- "session_type"?: import("./types.js").ClassroomSessionType | null;
769
+ "session_type"?: ClassroomShowSessionGetResponseDataSessionType | null;
516
770
  "name"?: string | null;
517
771
  "session_number"?: number | null;
518
772
  "duration_minutes"?: number | null;
519
773
  "description"?: string | null;
520
774
  "teacher_user_id"?: string | null;
521
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
775
+ "teacher_profile"?: ClassroomShowSessionGetResponseDataTeacherProfile | null;
522
776
  "locked": boolean;
523
777
  "auto_unlock": boolean;
524
778
  "auto_present": boolean;
@@ -554,20 +808,50 @@ export interface ClassroomUpdateSessionPatchInput extends JsonObject {
554
808
  "status"?: string | null;
555
809
  }
556
810
  /** Backend response type: models::SessionResponse. */
811
+ export interface ClassroomUpdateSessionPatchResponseDataCourseSession extends JsonObject {
812
+ "id": string;
813
+ "course_id": string;
814
+ "name": string;
815
+ "description"?: string | null;
816
+ "sort_order": number;
817
+ "session_type": string;
818
+ "session_type_id"?: string | null;
819
+ "duration_minutes"?: number | null;
820
+ "status": string;
821
+ }
822
+ export interface ClassroomUpdateSessionPatchResponseDataSessionType extends JsonObject {
823
+ "id": string;
824
+ "code": string;
825
+ "name": string;
826
+ "name_fa"?: string | null;
827
+ "is_online": boolean;
828
+ "status": string;
829
+ "sort_order": number;
830
+ "created_at": string;
831
+ "updated_at": string;
832
+ }
833
+ export interface ClassroomUpdateSessionPatchResponseDataTeacherProfile extends JsonObject {
834
+ "user_id": string;
835
+ "first_name"?: JsonValue | null;
836
+ "last_name"?: JsonValue | null;
837
+ "email"?: string | null;
838
+ "national_code"?: string | null;
839
+ "phone"?: string | null;
840
+ }
557
841
  export interface ClassroomUpdateSessionPatchResponseData extends JsonObject {
558
842
  "id": string;
559
843
  "classroom_id": string;
560
844
  "classroom_name"?: string | null;
561
845
  "course_session_id"?: string | null;
562
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
846
+ "course_session"?: ClassroomUpdateSessionPatchResponseDataCourseSession | null;
563
847
  "course_session_type_id"?: string | null;
564
- "session_type"?: import("./types.js").ClassroomSessionType | null;
848
+ "session_type"?: ClassroomUpdateSessionPatchResponseDataSessionType | null;
565
849
  "name"?: string | null;
566
850
  "session_number"?: number | null;
567
851
  "duration_minutes"?: number | null;
568
852
  "description"?: string | null;
569
853
  "teacher_user_id"?: string | null;
570
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
854
+ "teacher_profile"?: ClassroomUpdateSessionPatchResponseDataTeacherProfile | null;
571
855
  "locked": boolean;
572
856
  "auto_unlock": boolean;
573
857
  "auto_present": boolean;
@@ -590,11 +874,19 @@ export interface ClassroomIndexAttendanceGetQuery extends QueryParams {
590
874
  "page_size"?: number | null;
591
875
  }
592
876
  /** Backend response type: crate::models::PagedResult<models::AbsenceResponse>. */
877
+ export interface ClassroomIndexAttendanceGetResponseItemProfile extends JsonObject {
878
+ "user_id": string;
879
+ "first_name"?: JsonValue | null;
880
+ "last_name"?: JsonValue | null;
881
+ "email"?: string | null;
882
+ "national_code"?: string | null;
883
+ "phone"?: string | null;
884
+ }
593
885
  export interface ClassroomIndexAttendanceGetResponseItem extends JsonObject {
594
886
  "id": string;
595
887
  "classroom_session_id": string;
596
888
  "user_id": string;
597
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
889
+ "profile"?: ClassroomIndexAttendanceGetResponseItemProfile | null;
598
890
  "status": string;
599
891
  "absence_reason"?: string | null;
600
892
  "created_at": string;
@@ -612,8 +904,17 @@ export interface ClassroomIndexAttendanceGetResponseData extends JsonObject {
612
904
  export interface ClassroomIndexAttendanceGetResponse extends ApiEnvelope<ClassroomIndexAttendanceGetResponseData> {
613
905
  }
614
906
  /** Backend request type: models::BatchAttendanceRequest. */
907
+ export interface ClassroomRecordAttendancePutInputItems extends JsonObject {
908
+ "user_id": BackendJson<"uuid::Uuid">;
909
+ "status": string;
910
+ "absence_reason"?: string | null;
911
+ "ratings"?: JsonValue | null;
912
+ "description"?: string | null;
913
+ "online"?: boolean | null;
914
+ "attended_seconds"?: number | null;
915
+ }
615
916
  export interface ClassroomRecordAttendancePutInput extends JsonObject {
616
- "items": BackendJson<"AttendanceItem">[];
917
+ "items": ClassroomRecordAttendancePutInputItems[];
617
918
  "idempotency_key": string;
618
919
  }
619
920
  /** Backend response type: models::BatchAttendanceResponse. */
@@ -631,20 +932,50 @@ export interface ClassroomIndexTodaySessionsGetQuery extends QueryParams {
631
932
  "timezone_offset_minutes"?: number | null;
632
933
  }
633
934
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
935
+ export interface ClassroomIndexTodaySessionsGetResponseItemCourseSession extends JsonObject {
936
+ "id": string;
937
+ "course_id": string;
938
+ "name": string;
939
+ "description"?: string | null;
940
+ "sort_order": number;
941
+ "session_type": string;
942
+ "session_type_id"?: string | null;
943
+ "duration_minutes"?: number | null;
944
+ "status": string;
945
+ }
946
+ export interface ClassroomIndexTodaySessionsGetResponseItemSessionType extends JsonObject {
947
+ "id": string;
948
+ "code": string;
949
+ "name": string;
950
+ "name_fa"?: string | null;
951
+ "is_online": boolean;
952
+ "status": string;
953
+ "sort_order": number;
954
+ "created_at": string;
955
+ "updated_at": string;
956
+ }
957
+ export interface ClassroomIndexTodaySessionsGetResponseItemTeacherProfile extends JsonObject {
958
+ "user_id": string;
959
+ "first_name"?: JsonValue | null;
960
+ "last_name"?: JsonValue | null;
961
+ "email"?: string | null;
962
+ "national_code"?: string | null;
963
+ "phone"?: string | null;
964
+ }
634
965
  export interface ClassroomIndexTodaySessionsGetResponseItem extends JsonObject {
635
966
  "id": string;
636
967
  "classroom_id": string;
637
968
  "classroom_name"?: string | null;
638
969
  "course_session_id"?: string | null;
639
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
970
+ "course_session"?: ClassroomIndexTodaySessionsGetResponseItemCourseSession | null;
640
971
  "course_session_type_id"?: string | null;
641
- "session_type"?: import("./types.js").ClassroomSessionType | null;
972
+ "session_type"?: ClassroomIndexTodaySessionsGetResponseItemSessionType | null;
642
973
  "name"?: string | null;
643
974
  "session_number"?: number | null;
644
975
  "duration_minutes"?: number | null;
645
976
  "description"?: string | null;
646
977
  "teacher_user_id"?: string | null;
647
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
978
+ "teacher_profile"?: ClassroomIndexTodaySessionsGetResponseItemTeacherProfile | null;
648
979
  "locked": boolean;
649
980
  "auto_unlock": boolean;
650
981
  "auto_present": boolean;
@@ -687,11 +1018,19 @@ export interface ClassroomIndexAbsencesGetQuery extends QueryParams {
687
1018
  "page_size"?: number | null;
688
1019
  }
689
1020
  /** Backend response type: crate::models::PagedResult<models::AbsenceResponse>. */
1021
+ export interface ClassroomIndexAbsencesGetResponseItemProfile extends JsonObject {
1022
+ "user_id": string;
1023
+ "first_name"?: JsonValue | null;
1024
+ "last_name"?: JsonValue | null;
1025
+ "email"?: string | null;
1026
+ "national_code"?: string | null;
1027
+ "phone"?: string | null;
1028
+ }
690
1029
  export interface ClassroomIndexAbsencesGetResponseItem extends JsonObject {
691
1030
  "id": string;
692
1031
  "classroom_session_id": string;
693
1032
  "user_id": string;
694
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1033
+ "profile"?: ClassroomIndexAbsencesGetResponseItemProfile | null;
695
1034
  "status": string;
696
1035
  "absence_reason"?: string | null;
697
1036
  "created_at": string;
@@ -1133,20 +1472,50 @@ export interface CourseIndexSessionGetQuery extends QueryParams {
1133
1472
  "page_size"?: number | null;
1134
1473
  }
1135
1474
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
1475
+ export interface CourseIndexSessionGetResponseItemCourseSession extends JsonObject {
1476
+ "id": string;
1477
+ "course_id": string;
1478
+ "name": string;
1479
+ "description"?: string | null;
1480
+ "sort_order": number;
1481
+ "session_type": string;
1482
+ "session_type_id"?: string | null;
1483
+ "duration_minutes"?: number | null;
1484
+ "status": string;
1485
+ }
1486
+ export interface CourseIndexSessionGetResponseItemSessionType extends JsonObject {
1487
+ "id": string;
1488
+ "code": string;
1489
+ "name": string;
1490
+ "name_fa"?: string | null;
1491
+ "is_online": boolean;
1492
+ "status": string;
1493
+ "sort_order": number;
1494
+ "created_at": string;
1495
+ "updated_at": string;
1496
+ }
1497
+ export interface CourseIndexSessionGetResponseItemTeacherProfile extends JsonObject {
1498
+ "user_id": string;
1499
+ "first_name"?: JsonValue | null;
1500
+ "last_name"?: JsonValue | null;
1501
+ "email"?: string | null;
1502
+ "national_code"?: string | null;
1503
+ "phone"?: string | null;
1504
+ }
1136
1505
  export interface CourseIndexSessionGetResponseItem extends JsonObject {
1137
1506
  "id": string;
1138
1507
  "classroom_id": string;
1139
1508
  "classroom_name"?: string | null;
1140
1509
  "course_session_id"?: string | null;
1141
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
1510
+ "course_session"?: CourseIndexSessionGetResponseItemCourseSession | null;
1142
1511
  "course_session_type_id"?: string | null;
1143
- "session_type"?: import("./types.js").ClassroomSessionType | null;
1512
+ "session_type"?: CourseIndexSessionGetResponseItemSessionType | null;
1144
1513
  "name"?: string | null;
1145
1514
  "session_number"?: number | null;
1146
1515
  "duration_minutes"?: number | null;
1147
1516
  "description"?: string | null;
1148
1517
  "teacher_user_id"?: string | null;
1149
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1518
+ "teacher_profile"?: CourseIndexSessionGetResponseItemTeacherProfile | null;
1150
1519
  "locked": boolean;
1151
1520
  "auto_unlock": boolean;
1152
1521
  "auto_present": boolean;
@@ -1191,20 +1560,50 @@ export interface CourseStoreSessionPostInput extends JsonObject {
1191
1560
  "status": string;
1192
1561
  }
1193
1562
  /** Backend response type: models::SessionResponse. */
1563
+ export interface CourseStoreSessionPostResponseDataCourseSession extends JsonObject {
1564
+ "id": string;
1565
+ "course_id": string;
1566
+ "name": string;
1567
+ "description"?: string | null;
1568
+ "sort_order": number;
1569
+ "session_type": string;
1570
+ "session_type_id"?: string | null;
1571
+ "duration_minutes"?: number | null;
1572
+ "status": string;
1573
+ }
1574
+ export interface CourseStoreSessionPostResponseDataSessionType extends JsonObject {
1575
+ "id": string;
1576
+ "code": string;
1577
+ "name": string;
1578
+ "name_fa"?: string | null;
1579
+ "is_online": boolean;
1580
+ "status": string;
1581
+ "sort_order": number;
1582
+ "created_at": string;
1583
+ "updated_at": string;
1584
+ }
1585
+ export interface CourseStoreSessionPostResponseDataTeacherProfile extends JsonObject {
1586
+ "user_id": string;
1587
+ "first_name"?: JsonValue | null;
1588
+ "last_name"?: JsonValue | null;
1589
+ "email"?: string | null;
1590
+ "national_code"?: string | null;
1591
+ "phone"?: string | null;
1592
+ }
1194
1593
  export interface CourseStoreSessionPostResponseData extends JsonObject {
1195
1594
  "id": string;
1196
1595
  "classroom_id": string;
1197
1596
  "classroom_name"?: string | null;
1198
1597
  "course_session_id"?: string | null;
1199
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
1598
+ "course_session"?: CourseStoreSessionPostResponseDataCourseSession | null;
1200
1599
  "course_session_type_id"?: string | null;
1201
- "session_type"?: import("./types.js").ClassroomSessionType | null;
1600
+ "session_type"?: CourseStoreSessionPostResponseDataSessionType | null;
1202
1601
  "name"?: string | null;
1203
1602
  "session_number"?: number | null;
1204
1603
  "duration_minutes"?: number | null;
1205
1604
  "description"?: string | null;
1206
1605
  "teacher_user_id"?: string | null;
1207
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1606
+ "teacher_profile"?: CourseStoreSessionPostResponseDataTeacherProfile | null;
1208
1607
  "locked": boolean;
1209
1608
  "auto_unlock": boolean;
1210
1609
  "auto_present": boolean;
@@ -1225,20 +1624,50 @@ export interface CourseStoreSessionPostResponse extends ApiEnvelope<CourseStoreS
1225
1624
  export interface CourseDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
1226
1625
  }
1227
1626
  /** Backend response type: models::SessionResponse. */
1627
+ export interface CourseShowSessionGetResponseDataCourseSession extends JsonObject {
1628
+ "id": string;
1629
+ "course_id": string;
1630
+ "name": string;
1631
+ "description"?: string | null;
1632
+ "sort_order": number;
1633
+ "session_type": string;
1634
+ "session_type_id"?: string | null;
1635
+ "duration_minutes"?: number | null;
1636
+ "status": string;
1637
+ }
1638
+ export interface CourseShowSessionGetResponseDataSessionType extends JsonObject {
1639
+ "id": string;
1640
+ "code": string;
1641
+ "name": string;
1642
+ "name_fa"?: string | null;
1643
+ "is_online": boolean;
1644
+ "status": string;
1645
+ "sort_order": number;
1646
+ "created_at": string;
1647
+ "updated_at": string;
1648
+ }
1649
+ export interface CourseShowSessionGetResponseDataTeacherProfile extends JsonObject {
1650
+ "user_id": string;
1651
+ "first_name"?: JsonValue | null;
1652
+ "last_name"?: JsonValue | null;
1653
+ "email"?: string | null;
1654
+ "national_code"?: string | null;
1655
+ "phone"?: string | null;
1656
+ }
1228
1657
  export interface CourseShowSessionGetResponseData extends JsonObject {
1229
1658
  "id": string;
1230
1659
  "classroom_id": string;
1231
1660
  "classroom_name"?: string | null;
1232
1661
  "course_session_id"?: string | null;
1233
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
1662
+ "course_session"?: CourseShowSessionGetResponseDataCourseSession | null;
1234
1663
  "course_session_type_id"?: string | null;
1235
- "session_type"?: import("./types.js").ClassroomSessionType | null;
1664
+ "session_type"?: CourseShowSessionGetResponseDataSessionType | null;
1236
1665
  "name"?: string | null;
1237
1666
  "session_number"?: number | null;
1238
1667
  "duration_minutes"?: number | null;
1239
1668
  "description"?: string | null;
1240
1669
  "teacher_user_id"?: string | null;
1241
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1670
+ "teacher_profile"?: CourseShowSessionGetResponseDataTeacherProfile | null;
1242
1671
  "locked": boolean;
1243
1672
  "auto_unlock": boolean;
1244
1673
  "auto_present": boolean;
@@ -1274,20 +1703,50 @@ export interface CourseUpdateSessionPatchInput extends JsonObject {
1274
1703
  "status"?: string | null;
1275
1704
  }
1276
1705
  /** Backend response type: models::SessionResponse. */
1706
+ export interface CourseUpdateSessionPatchResponseDataCourseSession extends JsonObject {
1707
+ "id": string;
1708
+ "course_id": string;
1709
+ "name": string;
1710
+ "description"?: string | null;
1711
+ "sort_order": number;
1712
+ "session_type": string;
1713
+ "session_type_id"?: string | null;
1714
+ "duration_minutes"?: number | null;
1715
+ "status": string;
1716
+ }
1717
+ export interface CourseUpdateSessionPatchResponseDataSessionType extends JsonObject {
1718
+ "id": string;
1719
+ "code": string;
1720
+ "name": string;
1721
+ "name_fa"?: string | null;
1722
+ "is_online": boolean;
1723
+ "status": string;
1724
+ "sort_order": number;
1725
+ "created_at": string;
1726
+ "updated_at": string;
1727
+ }
1728
+ export interface CourseUpdateSessionPatchResponseDataTeacherProfile extends JsonObject {
1729
+ "user_id": string;
1730
+ "first_name"?: JsonValue | null;
1731
+ "last_name"?: JsonValue | null;
1732
+ "email"?: string | null;
1733
+ "national_code"?: string | null;
1734
+ "phone"?: string | null;
1735
+ }
1277
1736
  export interface CourseUpdateSessionPatchResponseData extends JsonObject {
1278
1737
  "id": string;
1279
1738
  "classroom_id": string;
1280
1739
  "classroom_name"?: string | null;
1281
1740
  "course_session_id"?: string | null;
1282
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
1741
+ "course_session"?: CourseUpdateSessionPatchResponseDataCourseSession | null;
1283
1742
  "course_session_type_id"?: string | null;
1284
- "session_type"?: import("./types.js").ClassroomSessionType | null;
1743
+ "session_type"?: CourseUpdateSessionPatchResponseDataSessionType | null;
1285
1744
  "name"?: string | null;
1286
1745
  "session_number"?: number | null;
1287
1746
  "duration_minutes"?: number | null;
1288
1747
  "description"?: string | null;
1289
1748
  "teacher_user_id"?: string | null;
1290
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1749
+ "teacher_profile"?: CourseUpdateSessionPatchResponseDataTeacherProfile | null;
1291
1750
  "locked": boolean;
1292
1751
  "auto_unlock": boolean;
1293
1752
  "auto_present": boolean;
@@ -1528,11 +1987,40 @@ export interface DrmRoutesIndexCompositionsGetResponseData extends JsonObject {
1528
1987
  export interface DrmRoutesIndexCompositionsGetResponse extends ApiEnvelope<DrmRoutesIndexCompositionsGetResponseData> {
1529
1988
  }
1530
1989
  /** Backend response type: models::EvaluationContext. */
1990
+ export interface EvaluationGetContextGetResponseDataTeacherRatingsTargetsProfile extends JsonObject {
1991
+ "user_id": string;
1992
+ "first_name"?: JsonValue | null;
1993
+ "last_name"?: JsonValue | null;
1994
+ "email"?: string | null;
1995
+ "national_code"?: string | null;
1996
+ "phone"?: string | null;
1997
+ }
1998
+ export interface EvaluationGetContextGetResponseDataTeacherRatingsTargets extends JsonObject {
1999
+ "user_id": string;
2000
+ "profile"?: EvaluationGetContextGetResponseDataTeacherRatingsTargetsProfile | null;
2001
+ "submitted": boolean;
2002
+ "scores"?: JsonValue | null;
2003
+ "description"?: string | null;
2004
+ }
2005
+ export interface EvaluationGetContextGetResponseDataTeacherRatings extends JsonObject {
2006
+ "enabled": boolean;
2007
+ "applicable": boolean;
2008
+ "targets": EvaluationGetContextGetResponseDataTeacherRatingsTargets[];
2009
+ "fields": string[];
2010
+ }
2011
+ export interface EvaluationGetContextGetResponseDataStudentFeedback extends JsonObject {
2012
+ "enabled": boolean;
2013
+ "applicable": boolean;
2014
+ "submitted": boolean;
2015
+ "scores"?: JsonValue | null;
2016
+ "description"?: string | null;
2017
+ "fields": string[];
2018
+ }
1531
2019
  export interface EvaluationGetContextGetResponseData extends JsonObject {
1532
2020
  "classroom_session_id": string;
1533
2021
  "available": boolean;
1534
- "teacher_ratings": BackendJson<"TeacherRatingState">;
1535
- "student_feedback": BackendJson<"StudentFeedbackState">;
2022
+ "teacher_ratings": EvaluationGetContextGetResponseDataTeacherRatings;
2023
+ "student_feedback": EvaluationGetContextGetResponseDataStudentFeedback;
1536
2024
  }
1537
2025
  export interface EvaluationGetContextGetResponse extends ApiEnvelope<EvaluationGetContextGetResponseData> {
1538
2026
  }
@@ -1727,6 +2215,14 @@ export interface ExamIndexAttemptGetQuery extends QueryParams {
1727
2215
  "to"?: string | null;
1728
2216
  }
1729
2217
  /** Backend response type: crate::models::PagedResult<models::AttemptResponse>. */
2218
+ export interface ExamIndexAttemptGetResponseItemProfile extends JsonObject {
2219
+ "user_id": string;
2220
+ "first_name"?: JsonValue | null;
2221
+ "last_name"?: JsonValue | null;
2222
+ "email"?: string | null;
2223
+ "national_code"?: string | null;
2224
+ "phone"?: string | null;
2225
+ }
1730
2226
  export interface ExamIndexAttemptGetResponseItem extends JsonObject {
1731
2227
  "id": string;
1732
2228
  "exam_session_id": string;
@@ -1737,7 +2233,7 @@ export interface ExamIndexAttemptGetResponseItem extends JsonObject {
1737
2233
  "course_id"?: string | null;
1738
2234
  "course_name"?: string | null;
1739
2235
  "user_id": string;
1740
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2236
+ "profile"?: ExamIndexAttemptGetResponseItemProfile | null;
1741
2237
  "score"?: number | null;
1742
2238
  "teacher_score"?: number | null;
1743
2239
  "description"?: string | null;
@@ -1762,6 +2258,14 @@ export interface ExamIndexAttemptGetResponseData extends JsonObject {
1762
2258
  export interface ExamIndexAttemptGetResponse extends ApiEnvelope<ExamIndexAttemptGetResponseData> {
1763
2259
  }
1764
2260
  /** Backend response type: models::AttemptResponse. */
2261
+ export interface ExamShowAttemptGetResponseDataProfile extends JsonObject {
2262
+ "user_id": string;
2263
+ "first_name"?: JsonValue | null;
2264
+ "last_name"?: JsonValue | null;
2265
+ "email"?: string | null;
2266
+ "national_code"?: string | null;
2267
+ "phone"?: string | null;
2268
+ }
1765
2269
  export interface ExamShowAttemptGetResponseData extends JsonObject {
1766
2270
  "id": string;
1767
2271
  "exam_session_id": string;
@@ -1772,7 +2276,7 @@ export interface ExamShowAttemptGetResponseData extends JsonObject {
1772
2276
  "course_id"?: string | null;
1773
2277
  "course_name"?: string | null;
1774
2278
  "user_id": string;
1775
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2279
+ "profile"?: ExamShowAttemptGetResponseDataProfile | null;
1776
2280
  "score"?: number | null;
1777
2281
  "teacher_score"?: number | null;
1778
2282
  "description"?: string | null;
@@ -1796,6 +2300,14 @@ export interface ExamUpdateAttemptPatchInput extends JsonObject {
1796
2300
  "status"?: string | null;
1797
2301
  }
1798
2302
  /** Backend response type: models::AttemptResponse. */
2303
+ export interface ExamUpdateAttemptPatchResponseDataProfile extends JsonObject {
2304
+ "user_id": string;
2305
+ "first_name"?: JsonValue | null;
2306
+ "last_name"?: JsonValue | null;
2307
+ "email"?: string | null;
2308
+ "national_code"?: string | null;
2309
+ "phone"?: string | null;
2310
+ }
1799
2311
  export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1800
2312
  "id": string;
1801
2313
  "exam_session_id": string;
@@ -1806,7 +2318,7 @@ export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1806
2318
  "course_id"?: string | null;
1807
2319
  "course_name"?: string | null;
1808
2320
  "user_id": string;
1809
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2321
+ "profile"?: ExamUpdateAttemptPatchResponseDataProfile | null;
1810
2322
  "score"?: number | null;
1811
2323
  "teacher_score"?: number | null;
1812
2324
  "description"?: string | null;
@@ -1833,11 +2345,33 @@ export interface ExamSaveAttemptAnswerPutResponseData extends JsonObject {
1833
2345
  export interface ExamSaveAttemptAnswerPutResponse extends ApiEnvelope<ExamSaveAttemptAnswerPutResponseData> {
1834
2346
  }
1835
2347
  /** Backend response type: models::AttemptDeliveryResponse. */
2348
+ export interface ExamShowAttemptDeliveryGetResponseDataProfile extends JsonObject {
2349
+ "user_id": string;
2350
+ "first_name"?: JsonValue | null;
2351
+ "last_name"?: JsonValue | null;
2352
+ "email"?: string | null;
2353
+ "national_code"?: string | null;
2354
+ "phone"?: string | null;
2355
+ }
2356
+ export interface ExamShowAttemptDeliveryGetResponseDataQuestions extends JsonObject {
2357
+ "position": number;
2358
+ "id": string;
2359
+ "text": string;
2360
+ "question_type": string;
2361
+ "options": JsonValue;
2362
+ "points": number;
2363
+ "media": JsonValue;
2364
+ "answer"?: JsonValue | null;
2365
+ "answered_at"?: string | null;
2366
+ "is_correct"?: boolean | null;
2367
+ "awarded_score"?: number | null;
2368
+ "correct_answer"?: string | null;
2369
+ }
1836
2370
  export interface ExamShowAttemptDeliveryGetResponseData extends JsonObject {
1837
2371
  "attempt_id": string;
1838
2372
  "exam_session_id": string;
1839
2373
  "user_id": string;
1840
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2374
+ "profile"?: ExamShowAttemptDeliveryGetResponseDataProfile | null;
1841
2375
  "exam_id": string;
1842
2376
  "exam_name": string;
1843
2377
  "exam_description"?: string | null;
@@ -1865,16 +2399,38 @@ export interface ExamShowAttemptDeliveryGetResponseData extends JsonObject {
1865
2399
  "total_questions": number;
1866
2400
  "can_start": boolean;
1867
2401
  "can_answer": boolean;
1868
- "questions": BackendJson<"DeliveryQuestionResponse">[];
2402
+ "questions": ExamShowAttemptDeliveryGetResponseDataQuestions[];
1869
2403
  }
1870
2404
  export interface ExamShowAttemptDeliveryGetResponse extends ApiEnvelope<ExamShowAttemptDeliveryGetResponseData> {
1871
2405
  }
1872
2406
  /** Backend response type: models::AttemptDeliveryResponse. */
2407
+ export interface ExamStartAttemptPostResponseDataProfile extends JsonObject {
2408
+ "user_id": string;
2409
+ "first_name"?: JsonValue | null;
2410
+ "last_name"?: JsonValue | null;
2411
+ "email"?: string | null;
2412
+ "national_code"?: string | null;
2413
+ "phone"?: string | null;
2414
+ }
2415
+ export interface ExamStartAttemptPostResponseDataQuestions extends JsonObject {
2416
+ "position": number;
2417
+ "id": string;
2418
+ "text": string;
2419
+ "question_type": string;
2420
+ "options": JsonValue;
2421
+ "points": number;
2422
+ "media": JsonValue;
2423
+ "answer"?: JsonValue | null;
2424
+ "answered_at"?: string | null;
2425
+ "is_correct"?: boolean | null;
2426
+ "awarded_score"?: number | null;
2427
+ "correct_answer"?: string | null;
2428
+ }
1873
2429
  export interface ExamStartAttemptPostResponseData extends JsonObject {
1874
2430
  "attempt_id": string;
1875
2431
  "exam_session_id": string;
1876
2432
  "user_id": string;
1877
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2433
+ "profile"?: ExamStartAttemptPostResponseDataProfile | null;
1878
2434
  "exam_id": string;
1879
2435
  "exam_name": string;
1880
2436
  "exam_description"?: string | null;
@@ -1902,16 +2458,38 @@ export interface ExamStartAttemptPostResponseData extends JsonObject {
1902
2458
  "total_questions": number;
1903
2459
  "can_start": boolean;
1904
2460
  "can_answer": boolean;
1905
- "questions": BackendJson<"DeliveryQuestionResponse">[];
2461
+ "questions": ExamStartAttemptPostResponseDataQuestions[];
1906
2462
  }
1907
2463
  export interface ExamStartAttemptPostResponse extends ApiEnvelope<ExamStartAttemptPostResponseData> {
1908
2464
  }
1909
- /** Backend response type: models::AttemptDeliveryResponse. */
2465
+ /** Backend response type: models::AttemptDeliveryResponse. */
2466
+ export interface ExamSubmitAttemptPostResponseDataProfile extends JsonObject {
2467
+ "user_id": string;
2468
+ "first_name"?: JsonValue | null;
2469
+ "last_name"?: JsonValue | null;
2470
+ "email"?: string | null;
2471
+ "national_code"?: string | null;
2472
+ "phone"?: string | null;
2473
+ }
2474
+ export interface ExamSubmitAttemptPostResponseDataQuestions extends JsonObject {
2475
+ "position": number;
2476
+ "id": string;
2477
+ "text": string;
2478
+ "question_type": string;
2479
+ "options": JsonValue;
2480
+ "points": number;
2481
+ "media": JsonValue;
2482
+ "answer"?: JsonValue | null;
2483
+ "answered_at"?: string | null;
2484
+ "is_correct"?: boolean | null;
2485
+ "awarded_score"?: number | null;
2486
+ "correct_answer"?: string | null;
2487
+ }
1910
2488
  export interface ExamSubmitAttemptPostResponseData extends JsonObject {
1911
2489
  "attempt_id": string;
1912
2490
  "exam_session_id": string;
1913
2491
  "user_id": string;
1914
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2492
+ "profile"?: ExamSubmitAttemptPostResponseDataProfile | null;
1915
2493
  "exam_id": string;
1916
2494
  "exam_name": string;
1917
2495
  "exam_description"?: string | null;
@@ -1939,7 +2517,7 @@ export interface ExamSubmitAttemptPostResponseData extends JsonObject {
1939
2517
  "total_questions": number;
1940
2518
  "can_start": boolean;
1941
2519
  "can_answer": boolean;
1942
- "questions": BackendJson<"DeliveryQuestionResponse">[];
2520
+ "questions": ExamSubmitAttemptPostResponseDataQuestions[];
1943
2521
  }
1944
2522
  export interface ExamSubmitAttemptPostResponse extends ApiEnvelope<ExamSubmitAttemptPostResponseData> {
1945
2523
  }
@@ -2070,20 +2648,50 @@ export interface ExamIndexSessionGetQuery extends QueryParams {
2070
2648
  "to"?: string | null;
2071
2649
  }
2072
2650
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
2651
+ export interface ExamIndexSessionGetResponseItemCourseSession extends JsonObject {
2652
+ "id": string;
2653
+ "course_id": string;
2654
+ "name": string;
2655
+ "description"?: string | null;
2656
+ "sort_order": number;
2657
+ "session_type": string;
2658
+ "session_type_id"?: string | null;
2659
+ "duration_minutes"?: number | null;
2660
+ "status": string;
2661
+ }
2662
+ export interface ExamIndexSessionGetResponseItemSessionType extends JsonObject {
2663
+ "id": string;
2664
+ "code": string;
2665
+ "name": string;
2666
+ "name_fa"?: string | null;
2667
+ "is_online": boolean;
2668
+ "status": string;
2669
+ "sort_order": number;
2670
+ "created_at": string;
2671
+ "updated_at": string;
2672
+ }
2673
+ export interface ExamIndexSessionGetResponseItemTeacherProfile extends JsonObject {
2674
+ "user_id": string;
2675
+ "first_name"?: JsonValue | null;
2676
+ "last_name"?: JsonValue | null;
2677
+ "email"?: string | null;
2678
+ "national_code"?: string | null;
2679
+ "phone"?: string | null;
2680
+ }
2073
2681
  export interface ExamIndexSessionGetResponseItem extends JsonObject {
2074
2682
  "id": string;
2075
2683
  "classroom_id": string;
2076
2684
  "classroom_name"?: string | null;
2077
2685
  "course_session_id"?: string | null;
2078
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
2686
+ "course_session"?: ExamIndexSessionGetResponseItemCourseSession | null;
2079
2687
  "course_session_type_id"?: string | null;
2080
- "session_type"?: import("./types.js").ClassroomSessionType | null;
2688
+ "session_type"?: ExamIndexSessionGetResponseItemSessionType | null;
2081
2689
  "name"?: string | null;
2082
2690
  "session_number"?: number | null;
2083
2691
  "duration_minutes"?: number | null;
2084
2692
  "description"?: string | null;
2085
2693
  "teacher_user_id"?: string | null;
2086
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2694
+ "teacher_profile"?: ExamIndexSessionGetResponseItemTeacherProfile | null;
2087
2695
  "locked": boolean;
2088
2696
  "auto_unlock": boolean;
2089
2697
  "auto_present": boolean;
@@ -2128,20 +2736,50 @@ export interface ExamStoreSessionPostInput extends JsonObject {
2128
2736
  "status": string;
2129
2737
  }
2130
2738
  /** Backend response type: models::SessionResponse. */
2739
+ export interface ExamStoreSessionPostResponseDataCourseSession extends JsonObject {
2740
+ "id": string;
2741
+ "course_id": string;
2742
+ "name": string;
2743
+ "description"?: string | null;
2744
+ "sort_order": number;
2745
+ "session_type": string;
2746
+ "session_type_id"?: string | null;
2747
+ "duration_minutes"?: number | null;
2748
+ "status": string;
2749
+ }
2750
+ export interface ExamStoreSessionPostResponseDataSessionType extends JsonObject {
2751
+ "id": string;
2752
+ "code": string;
2753
+ "name": string;
2754
+ "name_fa"?: string | null;
2755
+ "is_online": boolean;
2756
+ "status": string;
2757
+ "sort_order": number;
2758
+ "created_at": string;
2759
+ "updated_at": string;
2760
+ }
2761
+ export interface ExamStoreSessionPostResponseDataTeacherProfile extends JsonObject {
2762
+ "user_id": string;
2763
+ "first_name"?: JsonValue | null;
2764
+ "last_name"?: JsonValue | null;
2765
+ "email"?: string | null;
2766
+ "national_code"?: string | null;
2767
+ "phone"?: string | null;
2768
+ }
2131
2769
  export interface ExamStoreSessionPostResponseData extends JsonObject {
2132
2770
  "id": string;
2133
2771
  "classroom_id": string;
2134
2772
  "classroom_name"?: string | null;
2135
2773
  "course_session_id"?: string | null;
2136
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
2774
+ "course_session"?: ExamStoreSessionPostResponseDataCourseSession | null;
2137
2775
  "course_session_type_id"?: string | null;
2138
- "session_type"?: import("./types.js").ClassroomSessionType | null;
2776
+ "session_type"?: ExamStoreSessionPostResponseDataSessionType | null;
2139
2777
  "name"?: string | null;
2140
2778
  "session_number"?: number | null;
2141
2779
  "duration_minutes"?: number | null;
2142
2780
  "description"?: string | null;
2143
2781
  "teacher_user_id"?: string | null;
2144
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2782
+ "teacher_profile"?: ExamStoreSessionPostResponseDataTeacherProfile | null;
2145
2783
  "locked": boolean;
2146
2784
  "auto_unlock": boolean;
2147
2785
  "auto_present": boolean;
@@ -2162,20 +2800,50 @@ export interface ExamStoreSessionPostResponse extends ApiEnvelope<ExamStoreSessi
2162
2800
  export interface ExamDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
2163
2801
  }
2164
2802
  /** Backend response type: models::SessionResponse. */
2803
+ export interface ExamShowSessionGetResponseDataCourseSession extends JsonObject {
2804
+ "id": string;
2805
+ "course_id": string;
2806
+ "name": string;
2807
+ "description"?: string | null;
2808
+ "sort_order": number;
2809
+ "session_type": string;
2810
+ "session_type_id"?: string | null;
2811
+ "duration_minutes"?: number | null;
2812
+ "status": string;
2813
+ }
2814
+ export interface ExamShowSessionGetResponseDataSessionType extends JsonObject {
2815
+ "id": string;
2816
+ "code": string;
2817
+ "name": string;
2818
+ "name_fa"?: string | null;
2819
+ "is_online": boolean;
2820
+ "status": string;
2821
+ "sort_order": number;
2822
+ "created_at": string;
2823
+ "updated_at": string;
2824
+ }
2825
+ export interface ExamShowSessionGetResponseDataTeacherProfile extends JsonObject {
2826
+ "user_id": string;
2827
+ "first_name"?: JsonValue | null;
2828
+ "last_name"?: JsonValue | null;
2829
+ "email"?: string | null;
2830
+ "national_code"?: string | null;
2831
+ "phone"?: string | null;
2832
+ }
2165
2833
  export interface ExamShowSessionGetResponseData extends JsonObject {
2166
2834
  "id": string;
2167
2835
  "classroom_id": string;
2168
2836
  "classroom_name"?: string | null;
2169
2837
  "course_session_id"?: string | null;
2170
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
2838
+ "course_session"?: ExamShowSessionGetResponseDataCourseSession | null;
2171
2839
  "course_session_type_id"?: string | null;
2172
- "session_type"?: import("./types.js").ClassroomSessionType | null;
2840
+ "session_type"?: ExamShowSessionGetResponseDataSessionType | null;
2173
2841
  "name"?: string | null;
2174
2842
  "session_number"?: number | null;
2175
2843
  "duration_minutes"?: number | null;
2176
2844
  "description"?: string | null;
2177
2845
  "teacher_user_id"?: string | null;
2178
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2846
+ "teacher_profile"?: ExamShowSessionGetResponseDataTeacherProfile | null;
2179
2847
  "locked": boolean;
2180
2848
  "auto_unlock": boolean;
2181
2849
  "auto_present": boolean;
@@ -2211,20 +2879,50 @@ export interface ExamUpdateSessionPatchInput extends JsonObject {
2211
2879
  "status"?: string | null;
2212
2880
  }
2213
2881
  /** Backend response type: models::SessionResponse. */
2882
+ export interface ExamUpdateSessionPatchResponseDataCourseSession extends JsonObject {
2883
+ "id": string;
2884
+ "course_id": string;
2885
+ "name": string;
2886
+ "description"?: string | null;
2887
+ "sort_order": number;
2888
+ "session_type": string;
2889
+ "session_type_id"?: string | null;
2890
+ "duration_minutes"?: number | null;
2891
+ "status": string;
2892
+ }
2893
+ export interface ExamUpdateSessionPatchResponseDataSessionType extends JsonObject {
2894
+ "id": string;
2895
+ "code": string;
2896
+ "name": string;
2897
+ "name_fa"?: string | null;
2898
+ "is_online": boolean;
2899
+ "status": string;
2900
+ "sort_order": number;
2901
+ "created_at": string;
2902
+ "updated_at": string;
2903
+ }
2904
+ export interface ExamUpdateSessionPatchResponseDataTeacherProfile extends JsonObject {
2905
+ "user_id": string;
2906
+ "first_name"?: JsonValue | null;
2907
+ "last_name"?: JsonValue | null;
2908
+ "email"?: string | null;
2909
+ "national_code"?: string | null;
2910
+ "phone"?: string | null;
2911
+ }
2214
2912
  export interface ExamUpdateSessionPatchResponseData extends JsonObject {
2215
2913
  "id": string;
2216
2914
  "classroom_id": string;
2217
2915
  "classroom_name"?: string | null;
2218
2916
  "course_session_id"?: string | null;
2219
- "course_session"?: import("./types.js").ClassroomCourseSession | null;
2917
+ "course_session"?: ExamUpdateSessionPatchResponseDataCourseSession | null;
2220
2918
  "course_session_type_id"?: string | null;
2221
- "session_type"?: import("./types.js").ClassroomSessionType | null;
2919
+ "session_type"?: ExamUpdateSessionPatchResponseDataSessionType | null;
2222
2920
  "name"?: string | null;
2223
2921
  "session_number"?: number | null;
2224
2922
  "duration_minutes"?: number | null;
2225
2923
  "description"?: string | null;
2226
2924
  "teacher_user_id"?: string | null;
2227
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2925
+ "teacher_profile"?: ExamUpdateSessionPatchResponseDataTeacherProfile | null;
2228
2926
  "locked": boolean;
2229
2927
  "auto_unlock": boolean;
2230
2928
  "auto_present": boolean;
@@ -2352,6 +3050,38 @@ export interface HomeworkIndexAssignmentGetQuery extends QueryParams {
2352
3050
  "to"?: string | null;
2353
3051
  }
2354
3052
  /** Backend response type: crate::models::PagedResult<models::AssignmentResponse>. */
3053
+ export interface HomeworkIndexAssignmentGetResponseItemProfile extends JsonObject {
3054
+ "user_id": string;
3055
+ "first_name"?: JsonValue | null;
3056
+ "last_name"?: JsonValue | null;
3057
+ "email"?: string | null;
3058
+ "national_code"?: string | null;
3059
+ "phone"?: string | null;
3060
+ }
3061
+ export interface HomeworkIndexAssignmentGetResponseItemTeacherProfile extends JsonObject {
3062
+ "user_id": string;
3063
+ "first_name"?: JsonValue | null;
3064
+ "last_name"?: JsonValue | null;
3065
+ "email"?: string | null;
3066
+ "national_code"?: string | null;
3067
+ "phone"?: string | null;
3068
+ }
3069
+ export interface HomeworkIndexAssignmentGetResponseItemConsultantProfile extends JsonObject {
3070
+ "user_id": string;
3071
+ "first_name"?: JsonValue | null;
3072
+ "last_name"?: JsonValue | null;
3073
+ "email"?: string | null;
3074
+ "national_code"?: string | null;
3075
+ "phone"?: string | null;
3076
+ }
3077
+ export interface HomeworkIndexAssignmentGetResponseItemSupportProfile extends JsonObject {
3078
+ "user_id": string;
3079
+ "first_name"?: JsonValue | null;
3080
+ "last_name"?: JsonValue | null;
3081
+ "email"?: string | null;
3082
+ "national_code"?: string | null;
3083
+ "phone"?: string | null;
3084
+ }
2355
3085
  export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
2356
3086
  "id": string;
2357
3087
  "homework_id": string;
@@ -2359,13 +3089,13 @@ export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
2359
3089
  "classroom_id"?: string | null;
2360
3090
  "classroom_name"?: string | null;
2361
3091
  "user_id"?: string | null;
2362
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3092
+ "profile"?: HomeworkIndexAssignmentGetResponseItemProfile | null;
2363
3093
  "teacher_user_id"?: string | null;
2364
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3094
+ "teacher_profile"?: HomeworkIndexAssignmentGetResponseItemTeacherProfile | null;
2365
3095
  "consultant_user_id"?: string | null;
2366
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3096
+ "consultant_profile"?: HomeworkIndexAssignmentGetResponseItemConsultantProfile | null;
2367
3097
  "support_user_id"?: string | null;
2368
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3098
+ "support_profile"?: HomeworkIndexAssignmentGetResponseItemSupportProfile | null;
2369
3099
  "chat_conversation_id"?: string | null;
2370
3100
  "due_at"?: string | null;
2371
3101
  "status": string;
@@ -2400,6 +3130,38 @@ export interface HomeworkStoreAssignmentPostInput extends JsonObject {
2400
3130
  "score"?: number | null;
2401
3131
  }
2402
3132
  /** Backend response type: models::AssignmentResponse. */
3133
+ export interface HomeworkStoreAssignmentPostResponseDataProfile extends JsonObject {
3134
+ "user_id": string;
3135
+ "first_name"?: JsonValue | null;
3136
+ "last_name"?: JsonValue | null;
3137
+ "email"?: string | null;
3138
+ "national_code"?: string | null;
3139
+ "phone"?: string | null;
3140
+ }
3141
+ export interface HomeworkStoreAssignmentPostResponseDataTeacherProfile extends JsonObject {
3142
+ "user_id": string;
3143
+ "first_name"?: JsonValue | null;
3144
+ "last_name"?: JsonValue | null;
3145
+ "email"?: string | null;
3146
+ "national_code"?: string | null;
3147
+ "phone"?: string | null;
3148
+ }
3149
+ export interface HomeworkStoreAssignmentPostResponseDataConsultantProfile extends JsonObject {
3150
+ "user_id": string;
3151
+ "first_name"?: JsonValue | null;
3152
+ "last_name"?: JsonValue | null;
3153
+ "email"?: string | null;
3154
+ "national_code"?: string | null;
3155
+ "phone"?: string | null;
3156
+ }
3157
+ export interface HomeworkStoreAssignmentPostResponseDataSupportProfile extends JsonObject {
3158
+ "user_id": string;
3159
+ "first_name"?: JsonValue | null;
3160
+ "last_name"?: JsonValue | null;
3161
+ "email"?: string | null;
3162
+ "national_code"?: string | null;
3163
+ "phone"?: string | null;
3164
+ }
2403
3165
  export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
2404
3166
  "id": string;
2405
3167
  "homework_id": string;
@@ -2407,13 +3169,13 @@ export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
2407
3169
  "classroom_id"?: string | null;
2408
3170
  "classroom_name"?: string | null;
2409
3171
  "user_id"?: string | null;
2410
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3172
+ "profile"?: HomeworkStoreAssignmentPostResponseDataProfile | null;
2411
3173
  "teacher_user_id"?: string | null;
2412
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3174
+ "teacher_profile"?: HomeworkStoreAssignmentPostResponseDataTeacherProfile | null;
2413
3175
  "consultant_user_id"?: string | null;
2414
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3176
+ "consultant_profile"?: HomeworkStoreAssignmentPostResponseDataConsultantProfile | null;
2415
3177
  "support_user_id"?: string | null;
2416
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3178
+ "support_profile"?: HomeworkStoreAssignmentPostResponseDataSupportProfile | null;
2417
3179
  "chat_conversation_id"?: string | null;
2418
3180
  "due_at"?: string | null;
2419
3181
  "status": string;
@@ -2425,6 +3187,38 @@ export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
2425
3187
  export interface HomeworkStoreAssignmentPostResponse extends ApiEnvelope<HomeworkStoreAssignmentPostResponseData> {
2426
3188
  }
2427
3189
  /** Backend response type: models::AssignmentResponse. */
3190
+ export interface HomeworkShowAssignmentGetResponseDataProfile extends JsonObject {
3191
+ "user_id": string;
3192
+ "first_name"?: JsonValue | null;
3193
+ "last_name"?: JsonValue | null;
3194
+ "email"?: string | null;
3195
+ "national_code"?: string | null;
3196
+ "phone"?: string | null;
3197
+ }
3198
+ export interface HomeworkShowAssignmentGetResponseDataTeacherProfile extends JsonObject {
3199
+ "user_id": string;
3200
+ "first_name"?: JsonValue | null;
3201
+ "last_name"?: JsonValue | null;
3202
+ "email"?: string | null;
3203
+ "national_code"?: string | null;
3204
+ "phone"?: string | null;
3205
+ }
3206
+ export interface HomeworkShowAssignmentGetResponseDataConsultantProfile extends JsonObject {
3207
+ "user_id": string;
3208
+ "first_name"?: JsonValue | null;
3209
+ "last_name"?: JsonValue | null;
3210
+ "email"?: string | null;
3211
+ "national_code"?: string | null;
3212
+ "phone"?: string | null;
3213
+ }
3214
+ export interface HomeworkShowAssignmentGetResponseDataSupportProfile extends JsonObject {
3215
+ "user_id": string;
3216
+ "first_name"?: JsonValue | null;
3217
+ "last_name"?: JsonValue | null;
3218
+ "email"?: string | null;
3219
+ "national_code"?: string | null;
3220
+ "phone"?: string | null;
3221
+ }
2428
3222
  export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
2429
3223
  "id": string;
2430
3224
  "homework_id": string;
@@ -2432,13 +3226,13 @@ export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
2432
3226
  "classroom_id"?: string | null;
2433
3227
  "classroom_name"?: string | null;
2434
3228
  "user_id"?: string | null;
2435
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3229
+ "profile"?: HomeworkShowAssignmentGetResponseDataProfile | null;
2436
3230
  "teacher_user_id"?: string | null;
2437
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3231
+ "teacher_profile"?: HomeworkShowAssignmentGetResponseDataTeacherProfile | null;
2438
3232
  "consultant_user_id"?: string | null;
2439
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3233
+ "consultant_profile"?: HomeworkShowAssignmentGetResponseDataConsultantProfile | null;
2440
3234
  "support_user_id"?: string | null;
2441
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3235
+ "support_profile"?: HomeworkShowAssignmentGetResponseDataSupportProfile | null;
2442
3236
  "chat_conversation_id"?: string | null;
2443
3237
  "due_at"?: string | null;
2444
3238
  "status": string;
@@ -2464,6 +3258,38 @@ export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
2464
3258
  "score"?: number | null;
2465
3259
  }
2466
3260
  /** Backend response type: models::AssignmentResponse. */
3261
+ export interface HomeworkUpdateAssignmentPatchResponseDataProfile extends JsonObject {
3262
+ "user_id": string;
3263
+ "first_name"?: JsonValue | null;
3264
+ "last_name"?: JsonValue | null;
3265
+ "email"?: string | null;
3266
+ "national_code"?: string | null;
3267
+ "phone"?: string | null;
3268
+ }
3269
+ export interface HomeworkUpdateAssignmentPatchResponseDataTeacherProfile extends JsonObject {
3270
+ "user_id": string;
3271
+ "first_name"?: JsonValue | null;
3272
+ "last_name"?: JsonValue | null;
3273
+ "email"?: string | null;
3274
+ "national_code"?: string | null;
3275
+ "phone"?: string | null;
3276
+ }
3277
+ export interface HomeworkUpdateAssignmentPatchResponseDataConsultantProfile extends JsonObject {
3278
+ "user_id": string;
3279
+ "first_name"?: JsonValue | null;
3280
+ "last_name"?: JsonValue | null;
3281
+ "email"?: string | null;
3282
+ "national_code"?: string | null;
3283
+ "phone"?: string | null;
3284
+ }
3285
+ export interface HomeworkUpdateAssignmentPatchResponseDataSupportProfile extends JsonObject {
3286
+ "user_id": string;
3287
+ "first_name"?: JsonValue | null;
3288
+ "last_name"?: JsonValue | null;
3289
+ "email"?: string | null;
3290
+ "national_code"?: string | null;
3291
+ "phone"?: string | null;
3292
+ }
2467
3293
  export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
2468
3294
  "id": string;
2469
3295
  "homework_id": string;
@@ -2471,13 +3297,13 @@ export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
2471
3297
  "classroom_id"?: string | null;
2472
3298
  "classroom_name"?: string | null;
2473
3299
  "user_id"?: string | null;
2474
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3300
+ "profile"?: HomeworkUpdateAssignmentPatchResponseDataProfile | null;
2475
3301
  "teacher_user_id"?: string | null;
2476
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3302
+ "teacher_profile"?: HomeworkUpdateAssignmentPatchResponseDataTeacherProfile | null;
2477
3303
  "consultant_user_id"?: string | null;
2478
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3304
+ "consultant_profile"?: HomeworkUpdateAssignmentPatchResponseDataConsultantProfile | null;
2479
3305
  "support_user_id"?: string | null;
2480
- "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3306
+ "support_profile"?: HomeworkUpdateAssignmentPatchResponseDataSupportProfile | null;
2481
3307
  "chat_conversation_id"?: string | null;
2482
3308
  "due_at"?: string | null;
2483
3309
  "status": string;
@@ -2704,15 +3530,31 @@ export interface ReportClassroomsGetQuery extends QueryParams {
2704
3530
  "status"?: string | null;
2705
3531
  }
2706
3532
  /** Backend response type: Vec<models::ClassroomReport>. */
3533
+ export interface ReportClassroomsGetResponseItemTeacherProfile extends JsonObject {
3534
+ "user_id": string;
3535
+ "first_name"?: JsonValue | null;
3536
+ "last_name"?: JsonValue | null;
3537
+ "email"?: string | null;
3538
+ "national_code"?: string | null;
3539
+ "phone"?: string | null;
3540
+ }
3541
+ export interface ReportClassroomsGetResponseItemConsultantProfile extends JsonObject {
3542
+ "user_id": string;
3543
+ "first_name"?: JsonValue | null;
3544
+ "last_name"?: JsonValue | null;
3545
+ "email"?: string | null;
3546
+ "national_code"?: string | null;
3547
+ "phone"?: string | null;
3548
+ }
2707
3549
  export interface ReportClassroomsGetResponseItem extends JsonObject {
2708
3550
  "classroom_id": string;
2709
3551
  "course_id": string;
2710
3552
  "name": string;
2711
3553
  "status": string;
2712
3554
  "teacher_user_id"?: string | null;
2713
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3555
+ "teacher_profile"?: ReportClassroomsGetResponseItemTeacherProfile | null;
2714
3556
  "consultant_user_id"?: string | null;
2715
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3557
+ "consultant_profile"?: ReportClassroomsGetResponseItemConsultantProfile | null;
2716
3558
  "student_count": number;
2717
3559
  "session_count": number;
2718
3560
  "completed_session_count": number;
@@ -2729,9 +3571,17 @@ export interface ReportConsultantsGetQuery extends QueryParams {
2729
3571
  "status"?: string | null;
2730
3572
  }
2731
3573
  /** Backend response type: Vec<models::ConsultantReport>. */
3574
+ export interface ReportConsultantsGetResponseItemConsultantProfile extends JsonObject {
3575
+ "user_id": string;
3576
+ "first_name"?: JsonValue | null;
3577
+ "last_name"?: JsonValue | null;
3578
+ "email"?: string | null;
3579
+ "national_code"?: string | null;
3580
+ "phone"?: string | null;
3581
+ }
2732
3582
  export interface ReportConsultantsGetResponseItem extends JsonObject {
2733
3583
  "consultant_user_id": string;
2734
- "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3584
+ "consultant_profile"?: ReportConsultantsGetResponseItemConsultantProfile | null;
2735
3585
  "classroom_count": number;
2736
3586
  "active_classroom_count": number;
2737
3587
  "student_count": number;
@@ -2770,10 +3620,18 @@ export interface ReportStudentSummaryGetQuery extends QueryParams {
2770
3620
  "student_user_id"?: string | null;
2771
3621
  }
2772
3622
  /** Backend response type: models::StudentReport. */
3623
+ export interface ReportStudentSummaryGetResponseDataProfile extends JsonObject {
3624
+ "user_id": string;
3625
+ "first_name"?: JsonValue | null;
3626
+ "last_name"?: JsonValue | null;
3627
+ "email"?: string | null;
3628
+ "national_code"?: string | null;
3629
+ "phone"?: string | null;
3630
+ }
2773
3631
  export interface ReportStudentSummaryGetResponseData extends JsonObject {
2774
3632
  "courses"?: JsonValue[] | null;
2775
3633
  "user_id": string;
2776
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3634
+ "profile"?: ReportStudentSummaryGetResponseDataProfile | null;
2777
3635
  "classroom_count": number;
2778
3636
  "session_count": number;
2779
3637
  "attendance_count": number;
@@ -2789,10 +3647,18 @@ export interface ReportStudentsGetQuery extends QueryParams {
2789
3647
  "status"?: string | null;
2790
3648
  }
2791
3649
  /** Backend response type: Vec<models::StudentReport>. */
3650
+ export interface ReportStudentsGetResponseItemProfile extends JsonObject {
3651
+ "user_id": string;
3652
+ "first_name"?: JsonValue | null;
3653
+ "last_name"?: JsonValue | null;
3654
+ "email"?: string | null;
3655
+ "national_code"?: string | null;
3656
+ "phone"?: string | null;
3657
+ }
2792
3658
  export interface ReportStudentsGetResponseItem extends JsonObject {
2793
3659
  "courses"?: JsonValue[] | null;
2794
3660
  "user_id": string;
2795
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3661
+ "profile"?: ReportStudentsGetResponseItemProfile | null;
2796
3662
  "classroom_count": number;
2797
3663
  "session_count": number;
2798
3664
  "attendance_count": number;
@@ -2808,9 +3674,17 @@ export interface ReportTeachersGetQuery extends QueryParams {
2808
3674
  "status"?: string | null;
2809
3675
  }
2810
3676
  /** Backend response type: Vec<models::TeacherReport>. */
3677
+ export interface ReportTeachersGetResponseItemTeacherProfile extends JsonObject {
3678
+ "user_id": string;
3679
+ "first_name"?: JsonValue | null;
3680
+ "last_name"?: JsonValue | null;
3681
+ "email"?: string | null;
3682
+ "national_code"?: string | null;
3683
+ "phone"?: string | null;
3684
+ }
2811
3685
  export interface ReportTeachersGetResponseItem extends JsonObject {
2812
3686
  "teacher_user_id": string;
2813
- "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
3687
+ "teacher_profile"?: ReportTeachersGetResponseItemTeacherProfile | null;
2814
3688
  "classroom_count": number;
2815
3689
  "active_classroom_count": number;
2816
3690
  "student_count": number;