@faiber/faiber-lms 0.21.1 → 0.22.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.
@@ -167,6 +167,7 @@ export interface SessionGetSelfGetResponseDataProfile extends JsonObject {
167
167
  "email"?: string | null;
168
168
  "national_code"?: string | null;
169
169
  "phone"?: string | null;
170
+ "gender"?: string | null;
170
171
  }
171
172
  export interface SessionGetSelfGetResponseData extends JsonObject {
172
173
  "user_id": string;
@@ -232,6 +233,7 @@ export interface ClassroomIndexClassroomGetResponseItemTeacherProfile extends Js
232
233
  "email"?: string | null;
233
234
  "national_code"?: string | null;
234
235
  "phone"?: string | null;
236
+ "gender"?: string | null;
235
237
  }
236
238
  export interface ClassroomIndexClassroomGetResponseItemConsultantProfile extends JsonObject {
237
239
  "user_id": string;
@@ -240,6 +242,7 @@ export interface ClassroomIndexClassroomGetResponseItemConsultantProfile extends
240
242
  "email"?: string | null;
241
243
  "national_code"?: string | null;
242
244
  "phone"?: string | null;
245
+ "gender"?: string | null;
243
246
  }
244
247
  export interface ClassroomIndexClassroomGetResponseItemSupportProfile extends JsonObject {
245
248
  "user_id": string;
@@ -248,6 +251,7 @@ export interface ClassroomIndexClassroomGetResponseItemSupportProfile extends Js
248
251
  "email"?: string | null;
249
252
  "national_code"?: string | null;
250
253
  "phone"?: string | null;
254
+ "gender"?: string | null;
251
255
  }
252
256
  export interface ClassroomIndexClassroomGetResponseItem extends JsonObject {
253
257
  "id": string;
@@ -325,6 +329,7 @@ export interface ClassroomStoreClassroomPostResponseDataTeacherProfile extends J
325
329
  "email"?: string | null;
326
330
  "national_code"?: string | null;
327
331
  "phone"?: string | null;
332
+ "gender"?: string | null;
328
333
  }
329
334
  export interface ClassroomStoreClassroomPostResponseDataConsultantProfile extends JsonObject {
330
335
  "user_id": string;
@@ -333,6 +338,7 @@ export interface ClassroomStoreClassroomPostResponseDataConsultantProfile extend
333
338
  "email"?: string | null;
334
339
  "national_code"?: string | null;
335
340
  "phone"?: string | null;
341
+ "gender"?: string | null;
336
342
  }
337
343
  export interface ClassroomStoreClassroomPostResponseDataSupportProfile extends JsonObject {
338
344
  "user_id": string;
@@ -341,6 +347,7 @@ export interface ClassroomStoreClassroomPostResponseDataSupportProfile extends J
341
347
  "email"?: string | null;
342
348
  "national_code"?: string | null;
343
349
  "phone"?: string | null;
350
+ "gender"?: string | null;
344
351
  }
345
352
  export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
346
353
  "id": string;
@@ -390,6 +397,7 @@ export interface ClassroomShowClassroomGetResponseDataTeacherProfile extends Jso
390
397
  "email"?: string | null;
391
398
  "national_code"?: string | null;
392
399
  "phone"?: string | null;
400
+ "gender"?: string | null;
393
401
  }
394
402
  export interface ClassroomShowClassroomGetResponseDataConsultantProfile extends JsonObject {
395
403
  "user_id": string;
@@ -398,6 +406,7 @@ export interface ClassroomShowClassroomGetResponseDataConsultantProfile extends
398
406
  "email"?: string | null;
399
407
  "national_code"?: string | null;
400
408
  "phone"?: string | null;
409
+ "gender"?: string | null;
401
410
  }
402
411
  export interface ClassroomShowClassroomGetResponseDataSupportProfile extends JsonObject {
403
412
  "user_id": string;
@@ -406,6 +415,7 @@ export interface ClassroomShowClassroomGetResponseDataSupportProfile extends Jso
406
415
  "email"?: string | null;
407
416
  "national_code"?: string | null;
408
417
  "phone"?: string | null;
418
+ "gender"?: string | null;
409
419
  }
410
420
  export interface ClassroomShowClassroomGetResponseData extends JsonObject {
411
421
  "id": string;
@@ -473,6 +483,7 @@ export interface ClassroomUpdateClassroomPatchResponseDataTeacherProfile extends
473
483
  "email"?: string | null;
474
484
  "national_code"?: string | null;
475
485
  "phone"?: string | null;
486
+ "gender"?: string | null;
476
487
  }
477
488
  export interface ClassroomUpdateClassroomPatchResponseDataConsultantProfile extends JsonObject {
478
489
  "user_id": string;
@@ -481,6 +492,7 @@ export interface ClassroomUpdateClassroomPatchResponseDataConsultantProfile exte
481
492
  "email"?: string | null;
482
493
  "national_code"?: string | null;
483
494
  "phone"?: string | null;
495
+ "gender"?: string | null;
484
496
  }
485
497
  export interface ClassroomUpdateClassroomPatchResponseDataSupportProfile extends JsonObject {
486
498
  "user_id": string;
@@ -489,6 +501,7 @@ export interface ClassroomUpdateClassroomPatchResponseDataSupportProfile extends
489
501
  "email"?: string | null;
490
502
  "national_code"?: string | null;
491
503
  "phone"?: string | null;
504
+ "gender"?: string | null;
492
505
  }
493
506
  export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
494
507
  "id": string;
@@ -544,6 +557,7 @@ export interface ClassroomShowCompletionGetResponseDataStudentsProfile extends J
544
557
  "email"?: string | null;
545
558
  "national_code"?: string | null;
546
559
  "phone"?: string | null;
560
+ "gender"?: string | null;
547
561
  }
548
562
  export interface ClassroomShowCompletionGetResponseDataStudentsExamScores extends JsonObject {
549
563
  "exam_session_id": string;
@@ -575,7 +589,7 @@ export interface ClassroomShowCompletionGetResponse extends ApiEnvelope<Classroo
575
589
  }
576
590
  /** Backend request type: models::FinalizeClassroomRequest. */
577
591
  export interface ClassroomFinalizeClassroomPostInputStudents extends JsonObject {
578
- "user_id": BackendJson<"uuid::Uuid">;
592
+ "user_id": string;
579
593
  "final_score": number;
580
594
  }
581
595
  export interface ClassroomFinalizeClassroomPostInput extends JsonObject {
@@ -604,6 +618,7 @@ export interface ClassroomIndexClassroomUsersGetResponseItemProfile extends Json
604
618
  "email"?: string | null;
605
619
  "national_code"?: string | null;
606
620
  "phone"?: string | null;
621
+ "gender"?: string | null;
607
622
  }
608
623
  export interface ClassroomIndexClassroomUsersGetResponseItem extends JsonObject {
609
624
  "id": string;
@@ -641,6 +656,7 @@ export interface ClassroomEnrollClassroomUserPostResponseDataProfile extends Jso
641
656
  "email"?: string | null;
642
657
  "national_code"?: string | null;
643
658
  "phone"?: string | null;
659
+ "gender"?: string | null;
644
660
  }
645
661
  export interface ClassroomEnrollClassroomUserPostResponseData extends JsonObject {
646
662
  "id": string;
@@ -670,6 +686,7 @@ export interface ClassroomUpdateClassroomUserPatchResponseDataProfile extends Js
670
686
  "email"?: string | null;
671
687
  "national_code"?: string | null;
672
688
  "phone"?: string | null;
689
+ "gender"?: string | null;
673
690
  }
674
691
  export interface ClassroomUpdateClassroomUserPatchResponseData extends JsonObject {
675
692
  "id": string;
@@ -744,6 +761,7 @@ export interface ClassroomIndexSessionGetResponseItemTeacherProfile extends Json
744
761
  "email"?: string | null;
745
762
  "national_code"?: string | null;
746
763
  "phone"?: string | null;
764
+ "gender"?: string | null;
747
765
  }
748
766
  export interface ClassroomIndexSessionGetResponseItem extends JsonObject {
749
767
  "id": string;
@@ -763,10 +781,12 @@ export interface ClassroomIndexSessionGetResponseItem extends JsonObject {
763
781
  "auto_unlock": boolean;
764
782
  "auto_present": boolean;
765
783
  "invited": boolean;
784
+ "student_user_ids"?: string[] | null;
766
785
  "session_room_id"?: string | null;
767
786
  "session_lifecycle_status"?: string | null;
768
787
  "session_access_mode": string;
769
788
  "session_archive_ready": boolean;
789
+ "legacy_source_id"?: number | null;
770
790
  "starts_at"?: string | null;
771
791
  "ends_at"?: string | null;
772
792
  "status": string;
@@ -787,6 +807,7 @@ export interface ClassroomIndexSessionGetResponse extends ApiEnvelope<ClassroomI
787
807
  }
788
808
  /** Backend request type: models::CreateSessionRequest. */
789
809
  export interface ClassroomStoreSessionPostInput extends JsonObject {
810
+ "student_user_ids"?: string[] | null;
790
811
  "classroom_id": string;
791
812
  "course_session_id"?: string | null;
792
813
  "course_session_type_id"?: string | null;
@@ -832,6 +853,7 @@ export interface ClassroomStoreSessionPostResponseDataTeacherProfile extends Jso
832
853
  "email"?: string | null;
833
854
  "national_code"?: string | null;
834
855
  "phone"?: string | null;
856
+ "gender"?: string | null;
835
857
  }
836
858
  export interface ClassroomStoreSessionPostResponseData extends JsonObject {
837
859
  "id": string;
@@ -851,10 +873,12 @@ export interface ClassroomStoreSessionPostResponseData extends JsonObject {
851
873
  "auto_unlock": boolean;
852
874
  "auto_present": boolean;
853
875
  "invited": boolean;
876
+ "student_user_ids"?: string[] | null;
854
877
  "session_room_id"?: string | null;
855
878
  "session_lifecycle_status"?: string | null;
856
879
  "session_access_mode": string;
857
880
  "session_archive_ready": boolean;
881
+ "legacy_source_id"?: number | null;
858
882
  "starts_at"?: string | null;
859
883
  "ends_at"?: string | null;
860
884
  "status": string;
@@ -893,6 +917,7 @@ export interface ClassroomShowSessionGetResponseDataTeacherProfile extends JsonO
893
917
  "email"?: string | null;
894
918
  "national_code"?: string | null;
895
919
  "phone"?: string | null;
920
+ "gender"?: string | null;
896
921
  }
897
922
  export interface ClassroomShowSessionGetResponseData extends JsonObject {
898
923
  "id": string;
@@ -912,10 +937,12 @@ export interface ClassroomShowSessionGetResponseData extends JsonObject {
912
937
  "auto_unlock": boolean;
913
938
  "auto_present": boolean;
914
939
  "invited": boolean;
940
+ "student_user_ids"?: string[] | null;
915
941
  "session_room_id"?: string | null;
916
942
  "session_lifecycle_status"?: string | null;
917
943
  "session_access_mode": string;
918
944
  "session_archive_ready": boolean;
945
+ "legacy_source_id"?: number | null;
919
946
  "starts_at"?: string | null;
920
947
  "ends_at"?: string | null;
921
948
  "status": string;
@@ -973,6 +1000,7 @@ export interface ClassroomUpdateSessionPatchResponseDataTeacherProfile extends J
973
1000
  "email"?: string | null;
974
1001
  "national_code"?: string | null;
975
1002
  "phone"?: string | null;
1003
+ "gender"?: string | null;
976
1004
  }
977
1005
  export interface ClassroomUpdateSessionPatchResponseData extends JsonObject {
978
1006
  "id": string;
@@ -992,10 +1020,12 @@ export interface ClassroomUpdateSessionPatchResponseData extends JsonObject {
992
1020
  "auto_unlock": boolean;
993
1021
  "auto_present": boolean;
994
1022
  "invited": boolean;
1023
+ "student_user_ids"?: string[] | null;
995
1024
  "session_room_id"?: string | null;
996
1025
  "session_lifecycle_status"?: string | null;
997
1026
  "session_access_mode": string;
998
1027
  "session_archive_ready": boolean;
1028
+ "legacy_source_id"?: number | null;
999
1029
  "starts_at"?: string | null;
1000
1030
  "ends_at"?: string | null;
1001
1031
  "status": string;
@@ -1017,6 +1047,7 @@ export interface ClassroomIndexAttendanceGetResponseItemProfile extends JsonObje
1017
1047
  "email"?: string | null;
1018
1048
  "national_code"?: string | null;
1019
1049
  "phone"?: string | null;
1050
+ "gender"?: string | null;
1020
1051
  }
1021
1052
  export interface ClassroomIndexAttendanceGetResponseItem extends JsonObject {
1022
1053
  "id": string;
@@ -1047,7 +1078,7 @@ export interface ClassroomIndexAttendanceGetResponse extends ApiEnvelope<Classro
1047
1078
  }
1048
1079
  /** Backend request type: models::BatchAttendanceRequest. */
1049
1080
  export interface ClassroomRecordAttendancePutInputItems extends JsonObject {
1050
- "user_id": BackendJson<"uuid::Uuid">;
1081
+ "user_id": string;
1051
1082
  "status": string;
1052
1083
  "absence_reason"?: string | null;
1053
1084
  "ratings"?: JsonValue | null;
@@ -1103,6 +1134,7 @@ export interface ClassroomIndexTodaySessionsGetResponseItemTeacherProfile extend
1103
1134
  "email"?: string | null;
1104
1135
  "national_code"?: string | null;
1105
1136
  "phone"?: string | null;
1137
+ "gender"?: string | null;
1106
1138
  }
1107
1139
  export interface ClassroomIndexTodaySessionsGetResponseItem extends JsonObject {
1108
1140
  "id": string;
@@ -1122,10 +1154,12 @@ export interface ClassroomIndexTodaySessionsGetResponseItem extends JsonObject {
1122
1154
  "auto_unlock": boolean;
1123
1155
  "auto_present": boolean;
1124
1156
  "invited": boolean;
1157
+ "student_user_ids"?: string[] | null;
1125
1158
  "session_room_id"?: string | null;
1126
1159
  "session_lifecycle_status"?: string | null;
1127
1160
  "session_access_mode": string;
1128
1161
  "session_archive_ready": boolean;
1162
+ "legacy_source_id"?: number | null;
1129
1163
  "starts_at"?: string | null;
1130
1164
  "ends_at"?: string | null;
1131
1165
  "status": string;
@@ -1167,6 +1201,7 @@ export interface ClassroomIndexAbsencesGetResponseItemProfile extends JsonObject
1167
1201
  "email"?: string | null;
1168
1202
  "national_code"?: string | null;
1169
1203
  "phone"?: string | null;
1204
+ "gender"?: string | null;
1170
1205
  }
1171
1206
  export interface ClassroomIndexAbsencesGetResponseItem extends JsonObject {
1172
1207
  "id": string;
@@ -1198,7 +1233,7 @@ export interface ClassroomIndexAbsencesGetResponse extends ApiEnvelope<Classroom
1198
1233
  /** Backend response type: Branding. */
1199
1234
  export interface BrandingShowGetResponseData extends JsonObject {
1200
1235
  "title"?: string | null;
1201
- "localizations": Record<string, JsonValue>;
1236
+ "localizations": Record<string, BackendJson<"BrandText">>;
1202
1237
  "icon_asset_key"?: string | null;
1203
1238
  "icon_url"?: string | null;
1204
1239
  }
@@ -1207,14 +1242,14 @@ export interface BrandingShowGetResponse extends ApiEnvelope<BrandingShowGetResp
1207
1242
  /** Backend request type: Branding. */
1208
1243
  export interface BrandingUpdatePutInput extends JsonObject {
1209
1244
  "title"?: string | null;
1210
- "localizations": Record<string, JsonValue>;
1245
+ "localizations": Record<string, BackendJson<"BrandText">>;
1211
1246
  "icon_asset_key"?: string | null;
1212
1247
  "icon_url"?: string | null;
1213
1248
  }
1214
1249
  /** Backend response type: Branding. */
1215
1250
  export interface BrandingUpdatePutResponseData extends JsonObject {
1216
1251
  "title"?: string | null;
1217
- "localizations": Record<string, JsonValue>;
1252
+ "localizations": Record<string, BackendJson<"BrandText">>;
1218
1253
  "icon_asset_key"?: string | null;
1219
1254
  "icon_url"?: string | null;
1220
1255
  }
@@ -1626,7 +1661,7 @@ export interface CourseIndexSessionGetQuery extends QueryParams {
1626
1661
  "page_size"?: number | null;
1627
1662
  }
1628
1663
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
1629
- export interface CourseIndexSessionGetResponseItemCourseSession extends JsonObject {
1664
+ export interface CourseIndexSessionGetResponseItem extends JsonObject {
1630
1665
  "id": string;
1631
1666
  "course_id": string;
1632
1667
  "name": string;
@@ -1634,52 +1669,13 @@ export interface CourseIndexSessionGetResponseItemCourseSession extends JsonObje
1634
1669
  "sort_order": number;
1635
1670
  "session_type": string;
1636
1671
  "session_type_id"?: string | null;
1672
+ "exam_id"?: string | null;
1637
1673
  "duration_minutes"?: number | null;
1638
- "status": string;
1639
- }
1640
- export interface CourseIndexSessionGetResponseItemSessionType extends JsonObject {
1641
- "id": string;
1642
- "code": string;
1643
- "name": string;
1644
- "name_fa"?: string | null;
1645
- "is_online": boolean;
1646
- "status": string;
1647
- "sort_order": number;
1648
- "created_at": string;
1649
- "updated_at": string;
1650
- }
1651
- export interface CourseIndexSessionGetResponseItemTeacherProfile extends JsonObject {
1652
- "user_id": string;
1653
- "first_name"?: JsonValue | null;
1654
- "last_name"?: JsonValue | null;
1655
- "email"?: string | null;
1656
- "national_code"?: string | null;
1657
- "phone"?: string | null;
1658
- }
1659
- export interface CourseIndexSessionGetResponseItem extends JsonObject {
1660
- "id": string;
1661
- "classroom_id": string;
1662
- "classroom_name"?: string | null;
1663
- "course_session_id"?: string | null;
1664
- "course_session"?: CourseIndexSessionGetResponseItemCourseSession | null;
1665
- "course_session_type_id"?: string | null;
1666
- "session_type"?: CourseIndexSessionGetResponseItemSessionType | null;
1667
- "name"?: string | null;
1668
- "session_number"?: number | null;
1669
- "duration_minutes"?: number | null;
1670
- "description"?: string | null;
1671
- "teacher_user_id"?: string | null;
1672
- "teacher_profile"?: CourseIndexSessionGetResponseItemTeacherProfile | null;
1673
- "locked": boolean;
1674
1674
  "auto_unlock": boolean;
1675
- "auto_present": boolean;
1676
- "invited": boolean;
1677
- "session_room_id"?: string | null;
1678
- "session_lifecycle_status"?: string | null;
1679
- "session_access_mode": string;
1680
- "session_archive_ready": boolean;
1681
- "starts_at"?: string | null;
1682
- "ends_at"?: string | null;
1675
+ "info"?: string | null;
1676
+ "video_type"?: string | null;
1677
+ "external_url"?: string | null;
1678
+ "drm_mixed_media_id"?: string | null;
1683
1679
  "status": string;
1684
1680
  "created_at": string;
1685
1681
  "updated_at": string;
@@ -1698,76 +1694,37 @@ export interface CourseIndexSessionGetResponse extends ApiEnvelope<CourseIndexSe
1698
1694
  }
1699
1695
  /** Backend request type: models::CreateSessionRequest. */
1700
1696
  export interface CourseStoreSessionPostInput extends JsonObject {
1701
- "classroom_id": string;
1702
- "course_session_id"?: string | null;
1703
- "course_session_type_id"?: string | null;
1704
- "name"?: string | null;
1705
- "session_number"?: number | null;
1706
- "duration_minutes"?: number | null;
1707
- "description"?: string | null;
1708
- "teacher_user_id"?: string | null;
1709
- "locked"?: boolean | null;
1710
- "auto_unlock"?: boolean | null;
1711
- "auto_present"?: boolean | null;
1712
- "invited"?: boolean | null;
1713
- "starts_at"?: string | null;
1714
- "status": string;
1715
- }
1716
- /** Backend response type: models::SessionResponse. */
1717
- export interface CourseStoreSessionPostResponseDataCourseSession extends JsonObject {
1718
- "id": string;
1719
1697
  "course_id": string;
1720
1698
  "name": string;
1721
1699
  "description"?: string | null;
1722
1700
  "sort_order": number;
1723
- "session_type": string;
1701
+ "session_type"?: string;
1724
1702
  "session_type_id"?: string | null;
1703
+ "exam_id"?: string | null;
1725
1704
  "duration_minutes"?: number | null;
1705
+ "auto_unlock": boolean;
1706
+ "info"?: string | null;
1707
+ "video_type"?: string | null;
1708
+ "external_url"?: string | null;
1709
+ "drm_mixed_media_id"?: string | null;
1726
1710
  "status": string;
1727
1711
  }
1728
- export interface CourseStoreSessionPostResponseDataSessionType extends JsonObject {
1712
+ /** Backend response type: models::SessionResponse. */
1713
+ export interface CourseStoreSessionPostResponseData extends JsonObject {
1729
1714
  "id": string;
1730
- "code": string;
1715
+ "course_id": string;
1731
1716
  "name": string;
1732
- "name_fa"?: string | null;
1733
- "is_online": boolean;
1734
- "status": string;
1717
+ "description"?: string | null;
1735
1718
  "sort_order": number;
1736
- "created_at": string;
1737
- "updated_at": string;
1738
- }
1739
- export interface CourseStoreSessionPostResponseDataTeacherProfile extends JsonObject {
1740
- "user_id": string;
1741
- "first_name"?: JsonValue | null;
1742
- "last_name"?: JsonValue | null;
1743
- "email"?: string | null;
1744
- "national_code"?: string | null;
1745
- "phone"?: string | null;
1746
- }
1747
- export interface CourseStoreSessionPostResponseData extends JsonObject {
1748
- "id": string;
1749
- "classroom_id": string;
1750
- "classroom_name"?: string | null;
1751
- "course_session_id"?: string | null;
1752
- "course_session"?: CourseStoreSessionPostResponseDataCourseSession | null;
1753
- "course_session_type_id"?: string | null;
1754
- "session_type"?: CourseStoreSessionPostResponseDataSessionType | null;
1755
- "name"?: string | null;
1756
- "session_number"?: number | null;
1719
+ "session_type": string;
1720
+ "session_type_id"?: string | null;
1721
+ "exam_id"?: string | null;
1757
1722
  "duration_minutes"?: number | null;
1758
- "description"?: string | null;
1759
- "teacher_user_id"?: string | null;
1760
- "teacher_profile"?: CourseStoreSessionPostResponseDataTeacherProfile | null;
1761
- "locked": boolean;
1762
1723
  "auto_unlock": boolean;
1763
- "auto_present": boolean;
1764
- "invited": boolean;
1765
- "session_room_id"?: string | null;
1766
- "session_lifecycle_status"?: string | null;
1767
- "session_access_mode": string;
1768
- "session_archive_ready": boolean;
1769
- "starts_at"?: string | null;
1770
- "ends_at"?: string | null;
1724
+ "info"?: string | null;
1725
+ "video_type"?: string | null;
1726
+ "external_url"?: string | null;
1727
+ "drm_mixed_media_id"?: string | null;
1771
1728
  "status": string;
1772
1729
  "created_at": string;
1773
1730
  "updated_at": string;
@@ -1778,7 +1735,7 @@ export interface CourseStoreSessionPostResponse extends ApiEnvelope<CourseStoreS
1778
1735
  export interface CourseDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
1779
1736
  }
1780
1737
  /** Backend response type: models::SessionResponse. */
1781
- export interface CourseShowSessionGetResponseDataCourseSession extends JsonObject {
1738
+ export interface CourseShowSessionGetResponseData extends JsonObject {
1782
1739
  "id": string;
1783
1740
  "course_id": string;
1784
1741
  "name": string;
@@ -1786,52 +1743,13 @@ export interface CourseShowSessionGetResponseDataCourseSession extends JsonObjec
1786
1743
  "sort_order": number;
1787
1744
  "session_type": string;
1788
1745
  "session_type_id"?: string | null;
1746
+ "exam_id"?: string | null;
1789
1747
  "duration_minutes"?: number | null;
1790
- "status": string;
1791
- }
1792
- export interface CourseShowSessionGetResponseDataSessionType extends JsonObject {
1793
- "id": string;
1794
- "code": string;
1795
- "name": string;
1796
- "name_fa"?: string | null;
1797
- "is_online": boolean;
1798
- "status": string;
1799
- "sort_order": number;
1800
- "created_at": string;
1801
- "updated_at": string;
1802
- }
1803
- export interface CourseShowSessionGetResponseDataTeacherProfile extends JsonObject {
1804
- "user_id": string;
1805
- "first_name"?: JsonValue | null;
1806
- "last_name"?: JsonValue | null;
1807
- "email"?: string | null;
1808
- "national_code"?: string | null;
1809
- "phone"?: string | null;
1810
- }
1811
- export interface CourseShowSessionGetResponseData extends JsonObject {
1812
- "id": string;
1813
- "classroom_id": string;
1814
- "classroom_name"?: string | null;
1815
- "course_session_id"?: string | null;
1816
- "course_session"?: CourseShowSessionGetResponseDataCourseSession | null;
1817
- "course_session_type_id"?: string | null;
1818
- "session_type"?: CourseShowSessionGetResponseDataSessionType | null;
1819
- "name"?: string | null;
1820
- "session_number"?: number | null;
1821
- "duration_minutes"?: number | null;
1822
- "description"?: string | null;
1823
- "teacher_user_id"?: string | null;
1824
- "teacher_profile"?: CourseShowSessionGetResponseDataTeacherProfile | null;
1825
- "locked": boolean;
1826
1748
  "auto_unlock": boolean;
1827
- "auto_present": boolean;
1828
- "invited": boolean;
1829
- "session_room_id"?: string | null;
1830
- "session_lifecycle_status"?: string | null;
1831
- "session_access_mode": string;
1832
- "session_archive_ready": boolean;
1833
- "starts_at"?: string | null;
1834
- "ends_at"?: string | null;
1749
+ "info"?: string | null;
1750
+ "video_type"?: string | null;
1751
+ "external_url"?: string | null;
1752
+ "drm_mixed_media_id"?: string | null;
1835
1753
  "status": string;
1836
1754
  "created_at": string;
1837
1755
  "updated_at": string;
@@ -1840,25 +1758,22 @@ export interface CourseShowSessionGetResponse extends ApiEnvelope<CourseShowSess
1840
1758
  }
1841
1759
  /** Backend request type: models::UpdateSessionRequest. */
1842
1760
  export interface CourseUpdateSessionPatchInput extends JsonObject {
1843
- "confirm_recording_reset"?: boolean;
1844
- "shift_following_sessions"?: boolean;
1845
- "classroom_id"?: string | null;
1846
- "course_session_id"?: string | null;
1847
- "course_session_type_id"?: string | null;
1848
1761
  "name"?: string | null;
1849
- "session_number"?: number | null;
1850
- "duration_minutes"?: number | null;
1851
1762
  "description"?: string | null;
1852
- "teacher_user_id"?: string | null;
1853
- "locked"?: boolean | null;
1763
+ "sort_order"?: number | null;
1764
+ "session_type"?: string | null;
1765
+ "session_type_id"?: string | null;
1766
+ "exam_id"?: string | null;
1767
+ "duration_minutes"?: number | null;
1854
1768
  "auto_unlock"?: boolean | null;
1855
- "auto_present"?: boolean | null;
1856
- "invited"?: boolean | null;
1857
- "starts_at"?: string | null;
1769
+ "info"?: string | null;
1770
+ "video_type"?: string | null;
1771
+ "external_url"?: string | null;
1772
+ "drm_mixed_media_id"?: string | null;
1858
1773
  "status"?: string | null;
1859
1774
  }
1860
1775
  /** Backend response type: models::SessionResponse. */
1861
- export interface CourseUpdateSessionPatchResponseDataCourseSession extends JsonObject {
1776
+ export interface CourseUpdateSessionPatchResponseData extends JsonObject {
1862
1777
  "id": string;
1863
1778
  "course_id": string;
1864
1779
  "name": string;
@@ -1866,52 +1781,13 @@ export interface CourseUpdateSessionPatchResponseDataCourseSession extends JsonO
1866
1781
  "sort_order": number;
1867
1782
  "session_type": string;
1868
1783
  "session_type_id"?: string | null;
1784
+ "exam_id"?: string | null;
1869
1785
  "duration_minutes"?: number | null;
1870
- "status": string;
1871
- }
1872
- export interface CourseUpdateSessionPatchResponseDataSessionType extends JsonObject {
1873
- "id": string;
1874
- "code": string;
1875
- "name": string;
1876
- "name_fa"?: string | null;
1877
- "is_online": boolean;
1878
- "status": string;
1879
- "sort_order": number;
1880
- "created_at": string;
1881
- "updated_at": string;
1882
- }
1883
- export interface CourseUpdateSessionPatchResponseDataTeacherProfile extends JsonObject {
1884
- "user_id": string;
1885
- "first_name"?: JsonValue | null;
1886
- "last_name"?: JsonValue | null;
1887
- "email"?: string | null;
1888
- "national_code"?: string | null;
1889
- "phone"?: string | null;
1890
- }
1891
- export interface CourseUpdateSessionPatchResponseData extends JsonObject {
1892
- "id": string;
1893
- "classroom_id": string;
1894
- "classroom_name"?: string | null;
1895
- "course_session_id"?: string | null;
1896
- "course_session"?: CourseUpdateSessionPatchResponseDataCourseSession | null;
1897
- "course_session_type_id"?: string | null;
1898
- "session_type"?: CourseUpdateSessionPatchResponseDataSessionType | null;
1899
- "name"?: string | null;
1900
- "session_number"?: number | null;
1901
- "duration_minutes"?: number | null;
1902
- "description"?: string | null;
1903
- "teacher_user_id"?: string | null;
1904
- "teacher_profile"?: CourseUpdateSessionPatchResponseDataTeacherProfile | null;
1905
- "locked": boolean;
1906
1786
  "auto_unlock": boolean;
1907
- "auto_present": boolean;
1908
- "invited": boolean;
1909
- "session_room_id"?: string | null;
1910
- "session_lifecycle_status"?: string | null;
1911
- "session_access_mode": string;
1912
- "session_archive_ready": boolean;
1913
- "starts_at"?: string | null;
1914
- "ends_at"?: string | null;
1787
+ "info"?: string | null;
1788
+ "video_type"?: string | null;
1789
+ "external_url"?: string | null;
1790
+ "drm_mixed_media_id"?: string | null;
1915
1791
  "status": string;
1916
1792
  "created_at": string;
1917
1793
  "updated_at": string;
@@ -2155,6 +2031,7 @@ export interface EvaluationGetContextGetResponseDataTeacherRatingsTargetsProfile
2155
2031
  "email"?: string | null;
2156
2032
  "national_code"?: string | null;
2157
2033
  "phone"?: string | null;
2034
+ "gender"?: string | null;
2158
2035
  }
2159
2036
  export interface EvaluationGetContextGetResponseDataTeacherRatingsTargetsQuestions extends JsonObject {
2160
2037
  "stable_id": string;
@@ -2472,6 +2349,7 @@ export interface ExamIndexAttemptGetResponseItemProfile extends JsonObject {
2472
2349
  "email"?: string | null;
2473
2350
  "national_code"?: string | null;
2474
2351
  "phone"?: string | null;
2352
+ "gender"?: string | null;
2475
2353
  }
2476
2354
  export interface ExamIndexAttemptGetResponseItem extends JsonObject {
2477
2355
  "id": string;
@@ -2515,6 +2393,7 @@ export interface ExamShowAttemptGetResponseDataProfile extends JsonObject {
2515
2393
  "email"?: string | null;
2516
2394
  "national_code"?: string | null;
2517
2395
  "phone"?: string | null;
2396
+ "gender"?: string | null;
2518
2397
  }
2519
2398
  export interface ExamShowAttemptGetResponseData extends JsonObject {
2520
2399
  "id": string;
@@ -2557,6 +2436,7 @@ export interface ExamUpdateAttemptPatchResponseDataProfile extends JsonObject {
2557
2436
  "email"?: string | null;
2558
2437
  "national_code"?: string | null;
2559
2438
  "phone"?: string | null;
2439
+ "gender"?: string | null;
2560
2440
  }
2561
2441
  export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
2562
2442
  "id": string;
@@ -2602,6 +2482,7 @@ export interface ExamShowAttemptDeliveryGetResponseDataProfile extends JsonObjec
2602
2482
  "email"?: string | null;
2603
2483
  "national_code"?: string | null;
2604
2484
  "phone"?: string | null;
2485
+ "gender"?: string | null;
2605
2486
  }
2606
2487
  export interface ExamShowAttemptDeliveryGetResponseDataQuestions extends JsonObject {
2607
2488
  "position": number;
@@ -2661,6 +2542,7 @@ export interface ExamStartAttemptPostResponseDataProfile extends JsonObject {
2661
2542
  "email"?: string | null;
2662
2543
  "national_code"?: string | null;
2663
2544
  "phone"?: string | null;
2545
+ "gender"?: string | null;
2664
2546
  }
2665
2547
  export interface ExamStartAttemptPostResponseDataQuestions extends JsonObject {
2666
2548
  "position": number;
@@ -2720,6 +2602,7 @@ export interface ExamSubmitAttemptPostResponseDataProfile extends JsonObject {
2720
2602
  "email"?: string | null;
2721
2603
  "national_code"?: string | null;
2722
2604
  "phone"?: string | null;
2605
+ "gender"?: string | null;
2723
2606
  }
2724
2607
  export interface ExamSubmitAttemptPostResponseDataQuestions extends JsonObject {
2725
2608
  "position": number;
@@ -2905,61 +2788,62 @@ export interface ExamIndexSessionGetQuery extends QueryParams {
2905
2788
  "to"?: string | null;
2906
2789
  }
2907
2790
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
2908
- export interface ExamIndexSessionGetResponseItemCourseSession extends JsonObject {
2909
- "id": string;
2910
- "course_id": string;
2911
- "name": string;
2912
- "description"?: string | null;
2913
- "sort_order": number;
2914
- "session_type": string;
2915
- "session_type_id"?: string | null;
2916
- "duration_minutes"?: number | null;
2917
- "status": string;
2791
+ export interface ExamIndexSessionGetResponseItemTeacherProfile extends JsonObject {
2792
+ "user_id": string;
2793
+ "first_name"?: JsonValue | null;
2794
+ "last_name"?: JsonValue | null;
2795
+ "email"?: string | null;
2796
+ "national_code"?: string | null;
2797
+ "phone"?: string | null;
2798
+ "gender"?: string | null;
2918
2799
  }
2919
- export interface ExamIndexSessionGetResponseItemSessionType extends JsonObject {
2920
- "id": string;
2921
- "code": string;
2922
- "name": string;
2923
- "name_fa"?: string | null;
2924
- "is_online": boolean;
2925
- "status": string;
2926
- "sort_order": number;
2927
- "created_at": string;
2928
- "updated_at": string;
2800
+ export interface ExamIndexSessionGetResponseItemConsultantProfile extends JsonObject {
2801
+ "user_id": string;
2802
+ "first_name"?: JsonValue | null;
2803
+ "last_name"?: JsonValue | null;
2804
+ "email"?: string | null;
2805
+ "national_code"?: string | null;
2806
+ "phone"?: string | null;
2807
+ "gender"?: string | null;
2929
2808
  }
2930
- export interface ExamIndexSessionGetResponseItemTeacherProfile extends JsonObject {
2809
+ export interface ExamIndexSessionGetResponseItemSupportProfile extends JsonObject {
2931
2810
  "user_id": string;
2932
2811
  "first_name"?: JsonValue | null;
2933
2812
  "last_name"?: JsonValue | null;
2934
2813
  "email"?: string | null;
2935
2814
  "national_code"?: string | null;
2936
2815
  "phone"?: string | null;
2816
+ "gender"?: string | null;
2937
2817
  }
2938
2818
  export interface ExamIndexSessionGetResponseItem extends JsonObject {
2939
2819
  "id": string;
2940
- "classroom_id": string;
2820
+ "exam_id": string;
2821
+ "exam_name"?: string | null;
2822
+ "classroom_id"?: string | null;
2941
2823
  "classroom_name"?: string | null;
2942
- "course_session_id"?: string | null;
2943
- "course_session"?: ExamIndexSessionGetResponseItemCourseSession | null;
2944
- "course_session_type_id"?: string | null;
2945
- "session_type"?: ExamIndexSessionGetResponseItemSessionType | null;
2824
+ "classroom_session_id"?: string | null;
2946
2825
  "name"?: string | null;
2947
- "session_number"?: number | null;
2948
- "duration_minutes"?: number | null;
2949
2826
  "description"?: string | null;
2827
+ "info"?: string | null;
2828
+ "duration_minutes"?: number | null;
2829
+ "questions_count"?: number | null;
2830
+ "easy_count"?: number | null;
2831
+ "medium_count"?: number | null;
2832
+ "hard_count"?: number | null;
2833
+ "selection_mode": string;
2950
2834
  "teacher_user_id"?: string | null;
2951
2835
  "teacher_profile"?: ExamIndexSessionGetResponseItemTeacherProfile | null;
2952
- "locked": boolean;
2953
- "auto_unlock": boolean;
2954
- "auto_present": boolean;
2955
- "invited": boolean;
2956
- "session_room_id"?: string | null;
2957
- "session_lifecycle_status"?: string | null;
2958
- "session_access_mode": string;
2959
- "session_archive_ready": boolean;
2836
+ "consultant_user_id"?: string | null;
2837
+ "consultant_profile"?: ExamIndexSessionGetResponseItemConsultantProfile | null;
2838
+ "support_user_id"?: string | null;
2839
+ "support_profile"?: ExamIndexSessionGetResponseItemSupportProfile | null;
2960
2840
  "starts_at"?: string | null;
2961
2841
  "ends_at"?: string | null;
2962
2842
  "status": string;
2843
+ "attempts_total": number;
2844
+ "attempts_active": number;
2845
+ "attempts_completed": number;
2846
+ "average_score"?: number | null;
2963
2847
  "created_at": string;
2964
2848
  "updated_at": string;
2965
2849
  }
@@ -2977,77 +2861,82 @@ export interface ExamIndexSessionGetResponse extends ApiEnvelope<ExamIndexSessio
2977
2861
  }
2978
2862
  /** Backend request type: models::CreateSessionRequest. */
2979
2863
  export interface ExamStoreSessionPostInput extends JsonObject {
2980
- "classroom_id": string;
2981
- "course_session_id"?: string | null;
2982
- "course_session_type_id"?: string | null;
2864
+ "exam_id": string;
2865
+ "classroom_id"?: string | null;
2866
+ "classroom_session_id"?: string | null;
2983
2867
  "name"?: string | null;
2984
- "session_number"?: number | null;
2985
- "duration_minutes"?: number | null;
2986
2868
  "description"?: string | null;
2869
+ "info"?: string | null;
2870
+ "duration_minutes"?: number | null;
2871
+ "questions_count"?: number | null;
2872
+ "easy_count"?: number | null;
2873
+ "medium_count"?: number | null;
2874
+ "hard_count"?: number | null;
2875
+ "selection_mode"?: string | null;
2987
2876
  "teacher_user_id"?: string | null;
2988
- "locked"?: boolean | null;
2989
- "auto_unlock"?: boolean | null;
2990
- "auto_present"?: boolean | null;
2991
- "invited"?: boolean | null;
2877
+ "consultant_user_id"?: string | null;
2878
+ "support_user_id"?: string | null;
2992
2879
  "starts_at"?: string | null;
2880
+ "ends_at"?: string | null;
2993
2881
  "status": string;
2994
2882
  }
2995
2883
  /** Backend response type: models::SessionResponse. */
2996
- export interface ExamStoreSessionPostResponseDataCourseSession extends JsonObject {
2997
- "id": string;
2998
- "course_id": string;
2999
- "name": string;
3000
- "description"?: string | null;
3001
- "sort_order": number;
3002
- "session_type": string;
3003
- "session_type_id"?: string | null;
3004
- "duration_minutes"?: number | null;
3005
- "status": string;
2884
+ export interface ExamStoreSessionPostResponseDataTeacherProfile extends JsonObject {
2885
+ "user_id": string;
2886
+ "first_name"?: JsonValue | null;
2887
+ "last_name"?: JsonValue | null;
2888
+ "email"?: string | null;
2889
+ "national_code"?: string | null;
2890
+ "phone"?: string | null;
2891
+ "gender"?: string | null;
3006
2892
  }
3007
- export interface ExamStoreSessionPostResponseDataSessionType extends JsonObject {
3008
- "id": string;
3009
- "code": string;
3010
- "name": string;
3011
- "name_fa"?: string | null;
3012
- "is_online": boolean;
3013
- "status": string;
3014
- "sort_order": number;
3015
- "created_at": string;
3016
- "updated_at": string;
2893
+ export interface ExamStoreSessionPostResponseDataConsultantProfile extends JsonObject {
2894
+ "user_id": string;
2895
+ "first_name"?: JsonValue | null;
2896
+ "last_name"?: JsonValue | null;
2897
+ "email"?: string | null;
2898
+ "national_code"?: string | null;
2899
+ "phone"?: string | null;
2900
+ "gender"?: string | null;
3017
2901
  }
3018
- export interface ExamStoreSessionPostResponseDataTeacherProfile extends JsonObject {
2902
+ export interface ExamStoreSessionPostResponseDataSupportProfile extends JsonObject {
3019
2903
  "user_id": string;
3020
2904
  "first_name"?: JsonValue | null;
3021
2905
  "last_name"?: JsonValue | null;
3022
2906
  "email"?: string | null;
3023
2907
  "national_code"?: string | null;
3024
2908
  "phone"?: string | null;
2909
+ "gender"?: string | null;
3025
2910
  }
3026
2911
  export interface ExamStoreSessionPostResponseData extends JsonObject {
3027
2912
  "id": string;
3028
- "classroom_id": string;
2913
+ "exam_id": string;
2914
+ "exam_name"?: string | null;
2915
+ "classroom_id"?: string | null;
3029
2916
  "classroom_name"?: string | null;
3030
- "course_session_id"?: string | null;
3031
- "course_session"?: ExamStoreSessionPostResponseDataCourseSession | null;
3032
- "course_session_type_id"?: string | null;
3033
- "session_type"?: ExamStoreSessionPostResponseDataSessionType | null;
2917
+ "classroom_session_id"?: string | null;
3034
2918
  "name"?: string | null;
3035
- "session_number"?: number | null;
3036
- "duration_minutes"?: number | null;
3037
2919
  "description"?: string | null;
2920
+ "info"?: string | null;
2921
+ "duration_minutes"?: number | null;
2922
+ "questions_count"?: number | null;
2923
+ "easy_count"?: number | null;
2924
+ "medium_count"?: number | null;
2925
+ "hard_count"?: number | null;
2926
+ "selection_mode": string;
3038
2927
  "teacher_user_id"?: string | null;
3039
2928
  "teacher_profile"?: ExamStoreSessionPostResponseDataTeacherProfile | null;
3040
- "locked": boolean;
3041
- "auto_unlock": boolean;
3042
- "auto_present": boolean;
3043
- "invited": boolean;
3044
- "session_room_id"?: string | null;
3045
- "session_lifecycle_status"?: string | null;
3046
- "session_access_mode": string;
3047
- "session_archive_ready": boolean;
2929
+ "consultant_user_id"?: string | null;
2930
+ "consultant_profile"?: ExamStoreSessionPostResponseDataConsultantProfile | null;
2931
+ "support_user_id"?: string | null;
2932
+ "support_profile"?: ExamStoreSessionPostResponseDataSupportProfile | null;
3048
2933
  "starts_at"?: string | null;
3049
2934
  "ends_at"?: string | null;
3050
2935
  "status": string;
2936
+ "attempts_total": number;
2937
+ "attempts_active": number;
2938
+ "attempts_completed": number;
2939
+ "average_score"?: number | null;
3051
2940
  "created_at": string;
3052
2941
  "updated_at": string;
3053
2942
  }
@@ -3057,61 +2946,62 @@ export interface ExamStoreSessionPostResponse extends ApiEnvelope<ExamStoreSessi
3057
2946
  export interface ExamDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
3058
2947
  }
3059
2948
  /** Backend response type: models::SessionResponse. */
3060
- export interface ExamShowSessionGetResponseDataCourseSession extends JsonObject {
3061
- "id": string;
3062
- "course_id": string;
3063
- "name": string;
3064
- "description"?: string | null;
3065
- "sort_order": number;
3066
- "session_type": string;
3067
- "session_type_id"?: string | null;
3068
- "duration_minutes"?: number | null;
3069
- "status": string;
2949
+ export interface ExamShowSessionGetResponseDataTeacherProfile extends JsonObject {
2950
+ "user_id": string;
2951
+ "first_name"?: JsonValue | null;
2952
+ "last_name"?: JsonValue | null;
2953
+ "email"?: string | null;
2954
+ "national_code"?: string | null;
2955
+ "phone"?: string | null;
2956
+ "gender"?: string | null;
3070
2957
  }
3071
- export interface ExamShowSessionGetResponseDataSessionType extends JsonObject {
3072
- "id": string;
3073
- "code": string;
3074
- "name": string;
3075
- "name_fa"?: string | null;
3076
- "is_online": boolean;
3077
- "status": string;
3078
- "sort_order": number;
3079
- "created_at": string;
3080
- "updated_at": string;
2958
+ export interface ExamShowSessionGetResponseDataConsultantProfile extends JsonObject {
2959
+ "user_id": string;
2960
+ "first_name"?: JsonValue | null;
2961
+ "last_name"?: JsonValue | null;
2962
+ "email"?: string | null;
2963
+ "national_code"?: string | null;
2964
+ "phone"?: string | null;
2965
+ "gender"?: string | null;
3081
2966
  }
3082
- export interface ExamShowSessionGetResponseDataTeacherProfile extends JsonObject {
2967
+ export interface ExamShowSessionGetResponseDataSupportProfile extends JsonObject {
3083
2968
  "user_id": string;
3084
2969
  "first_name"?: JsonValue | null;
3085
2970
  "last_name"?: JsonValue | null;
3086
2971
  "email"?: string | null;
3087
2972
  "national_code"?: string | null;
3088
2973
  "phone"?: string | null;
2974
+ "gender"?: string | null;
3089
2975
  }
3090
2976
  export interface ExamShowSessionGetResponseData extends JsonObject {
3091
2977
  "id": string;
3092
- "classroom_id": string;
2978
+ "exam_id": string;
2979
+ "exam_name"?: string | null;
2980
+ "classroom_id"?: string | null;
3093
2981
  "classroom_name"?: string | null;
3094
- "course_session_id"?: string | null;
3095
- "course_session"?: ExamShowSessionGetResponseDataCourseSession | null;
3096
- "course_session_type_id"?: string | null;
3097
- "session_type"?: ExamShowSessionGetResponseDataSessionType | null;
2982
+ "classroom_session_id"?: string | null;
3098
2983
  "name"?: string | null;
3099
- "session_number"?: number | null;
3100
- "duration_minutes"?: number | null;
3101
2984
  "description"?: string | null;
2985
+ "info"?: string | null;
2986
+ "duration_minutes"?: number | null;
2987
+ "questions_count"?: number | null;
2988
+ "easy_count"?: number | null;
2989
+ "medium_count"?: number | null;
2990
+ "hard_count"?: number | null;
2991
+ "selection_mode": string;
3102
2992
  "teacher_user_id"?: string | null;
3103
2993
  "teacher_profile"?: ExamShowSessionGetResponseDataTeacherProfile | null;
3104
- "locked": boolean;
3105
- "auto_unlock": boolean;
3106
- "auto_present": boolean;
3107
- "invited": boolean;
3108
- "session_room_id"?: string | null;
3109
- "session_lifecycle_status"?: string | null;
3110
- "session_access_mode": string;
3111
- "session_archive_ready": boolean;
2994
+ "consultant_user_id"?: string | null;
2995
+ "consultant_profile"?: ExamShowSessionGetResponseDataConsultantProfile | null;
2996
+ "support_user_id"?: string | null;
2997
+ "support_profile"?: ExamShowSessionGetResponseDataSupportProfile | null;
3112
2998
  "starts_at"?: string | null;
3113
2999
  "ends_at"?: string | null;
3114
3000
  "status": string;
3001
+ "attempts_total": number;
3002
+ "attempts_active": number;
3003
+ "attempts_completed": number;
3004
+ "average_score"?: number | null;
3115
3005
  "created_at": string;
3116
3006
  "updated_at": string;
3117
3007
  }
@@ -3119,79 +3009,82 @@ export interface ExamShowSessionGetResponse extends ApiEnvelope<ExamShowSessionG
3119
3009
  }
3120
3010
  /** Backend request type: models::UpdateSessionRequest. */
3121
3011
  export interface ExamUpdateSessionPatchInput extends JsonObject {
3122
- "confirm_recording_reset"?: boolean;
3123
- "shift_following_sessions"?: boolean;
3124
- "classroom_id"?: string | null;
3125
- "course_session_id"?: string | null;
3126
- "course_session_type_id"?: string | null;
3127
- "name"?: string | null;
3128
- "session_number"?: number | null;
3129
- "duration_minutes"?: number | null;
3130
- "description"?: string | null;
3131
- "teacher_user_id"?: string | null;
3132
- "locked"?: boolean | null;
3133
- "auto_unlock"?: boolean | null;
3134
- "auto_present"?: boolean | null;
3135
- "invited"?: boolean | null;
3136
- "starts_at"?: string | null;
3012
+ "exam_id"?: string | null;
3013
+ "classroom_id"?: BackendJson<"PatchField<Uuid>">;
3014
+ "classroom_session_id"?: BackendJson<"PatchField<Uuid>">;
3015
+ "name"?: BackendJson<"PatchField<String>">;
3016
+ "description"?: BackendJson<"PatchField<String>">;
3017
+ "info"?: BackendJson<"PatchField<String>">;
3018
+ "duration_minutes"?: BackendJson<"PatchField<i32>">;
3019
+ "questions_count"?: BackendJson<"PatchField<i32>">;
3020
+ "easy_count"?: BackendJson<"PatchField<i32>">;
3021
+ "medium_count"?: BackendJson<"PatchField<i32>">;
3022
+ "hard_count"?: BackendJson<"PatchField<i32>">;
3023
+ "selection_mode"?: string | null;
3024
+ "teacher_user_id"?: BackendJson<"PatchField<String>">;
3025
+ "consultant_user_id"?: BackendJson<"PatchField<String>">;
3026
+ "support_user_id"?: BackendJson<"PatchField<String>">;
3027
+ "starts_at"?: BackendJson<"PatchField<String>">;
3028
+ "ends_at"?: BackendJson<"PatchField<String>">;
3137
3029
  "status"?: string | null;
3138
3030
  }
3139
3031
  /** Backend response type: models::SessionResponse. */
3140
- export interface ExamUpdateSessionPatchResponseDataCourseSession extends JsonObject {
3141
- "id": string;
3142
- "course_id": string;
3143
- "name": string;
3144
- "description"?: string | null;
3145
- "sort_order": number;
3146
- "session_type": string;
3147
- "session_type_id"?: string | null;
3148
- "duration_minutes"?: number | null;
3149
- "status": string;
3032
+ export interface ExamUpdateSessionPatchResponseDataTeacherProfile extends JsonObject {
3033
+ "user_id": string;
3034
+ "first_name"?: JsonValue | null;
3035
+ "last_name"?: JsonValue | null;
3036
+ "email"?: string | null;
3037
+ "national_code"?: string | null;
3038
+ "phone"?: string | null;
3039
+ "gender"?: string | null;
3150
3040
  }
3151
- export interface ExamUpdateSessionPatchResponseDataSessionType extends JsonObject {
3152
- "id": string;
3153
- "code": string;
3154
- "name": string;
3155
- "name_fa"?: string | null;
3156
- "is_online": boolean;
3157
- "status": string;
3158
- "sort_order": number;
3159
- "created_at": string;
3160
- "updated_at": string;
3041
+ export interface ExamUpdateSessionPatchResponseDataConsultantProfile extends JsonObject {
3042
+ "user_id": string;
3043
+ "first_name"?: JsonValue | null;
3044
+ "last_name"?: JsonValue | null;
3045
+ "email"?: string | null;
3046
+ "national_code"?: string | null;
3047
+ "phone"?: string | null;
3048
+ "gender"?: string | null;
3161
3049
  }
3162
- export interface ExamUpdateSessionPatchResponseDataTeacherProfile extends JsonObject {
3050
+ export interface ExamUpdateSessionPatchResponseDataSupportProfile extends JsonObject {
3163
3051
  "user_id": string;
3164
3052
  "first_name"?: JsonValue | null;
3165
3053
  "last_name"?: JsonValue | null;
3166
3054
  "email"?: string | null;
3167
3055
  "national_code"?: string | null;
3168
3056
  "phone"?: string | null;
3057
+ "gender"?: string | null;
3169
3058
  }
3170
3059
  export interface ExamUpdateSessionPatchResponseData extends JsonObject {
3171
3060
  "id": string;
3172
- "classroom_id": string;
3061
+ "exam_id": string;
3062
+ "exam_name"?: string | null;
3063
+ "classroom_id"?: string | null;
3173
3064
  "classroom_name"?: string | null;
3174
- "course_session_id"?: string | null;
3175
- "course_session"?: ExamUpdateSessionPatchResponseDataCourseSession | null;
3176
- "course_session_type_id"?: string | null;
3177
- "session_type"?: ExamUpdateSessionPatchResponseDataSessionType | null;
3065
+ "classroom_session_id"?: string | null;
3178
3066
  "name"?: string | null;
3179
- "session_number"?: number | null;
3180
- "duration_minutes"?: number | null;
3181
3067
  "description"?: string | null;
3068
+ "info"?: string | null;
3069
+ "duration_minutes"?: number | null;
3070
+ "questions_count"?: number | null;
3071
+ "easy_count"?: number | null;
3072
+ "medium_count"?: number | null;
3073
+ "hard_count"?: number | null;
3074
+ "selection_mode": string;
3182
3075
  "teacher_user_id"?: string | null;
3183
3076
  "teacher_profile"?: ExamUpdateSessionPatchResponseDataTeacherProfile | null;
3184
- "locked": boolean;
3185
- "auto_unlock": boolean;
3186
- "auto_present": boolean;
3187
- "invited": boolean;
3188
- "session_room_id"?: string | null;
3189
- "session_lifecycle_status"?: string | null;
3190
- "session_access_mode": string;
3191
- "session_archive_ready": boolean;
3077
+ "consultant_user_id"?: string | null;
3078
+ "consultant_profile"?: ExamUpdateSessionPatchResponseDataConsultantProfile | null;
3079
+ "support_user_id"?: string | null;
3080
+ "support_profile"?: ExamUpdateSessionPatchResponseDataSupportProfile | null;
3192
3081
  "starts_at"?: string | null;
3193
3082
  "ends_at"?: string | null;
3194
3083
  "status": string;
3084
+ "attempts_total": number;
3085
+ "attempts_active": number;
3086
+ "attempts_completed": number;
3087
+ "average_score"?: number | null;
3195
3088
  "created_at": string;
3196
3089
  "updated_at": string;
3197
3090
  }
@@ -3272,18 +3165,21 @@ export interface HomeworkIndexBankHomeworkGetQuery extends QueryParams {
3272
3165
  "search"?: string | null;
3273
3166
  "status"?: string | null;
3274
3167
  "question_type"?: string | null;
3275
- "kind"?: "todo" | "project" | null;
3168
+ "kind"?: string | null;
3276
3169
  }
3277
3170
  /** Backend response type: crate::models::PagedResult<models::QuestionResponse>. */
3278
3171
  export interface HomeworkIndexBankHomeworkGetResponseItem extends JsonObject {
3279
3172
  "id": string;
3280
3173
  "homework_id": string;
3281
3174
  "name": string;
3175
+ "bank_name"?: string | null;
3176
+ "assignable": boolean;
3177
+ "assignment_block_reason"?: string | null;
3282
3178
  "question_text": string;
3283
3179
  "description"?: string | null;
3284
3180
  "answer"?: string | null;
3285
3181
  "question_type": string;
3286
- "kind": "todo" | "project";
3182
+ "kind": string;
3287
3183
  "points": number;
3288
3184
  "is_final": boolean;
3289
3185
  "media": JsonValue;
@@ -3311,7 +3207,7 @@ export interface HomeworkStoreBankHomeworkPostInput extends JsonObject {
3311
3207
  "description"?: string | null;
3312
3208
  "answer"?: string | null;
3313
3209
  "question_type"?: string;
3314
- "kind"?: "todo" | "project";
3210
+ "kind"?: string;
3315
3211
  "points"?: number;
3316
3212
  "is_final"?: boolean;
3317
3213
  "media"?: JsonValue | null;
@@ -3323,11 +3219,14 @@ export interface HomeworkStoreBankHomeworkPostResponseData extends JsonObject {
3323
3219
  "id": string;
3324
3220
  "homework_id": string;
3325
3221
  "name": string;
3222
+ "bank_name"?: string | null;
3223
+ "assignable": boolean;
3224
+ "assignment_block_reason"?: string | null;
3326
3225
  "question_text": string;
3327
3226
  "description"?: string | null;
3328
3227
  "answer"?: string | null;
3329
3228
  "question_type": string;
3330
- "kind": "todo" | "project";
3229
+ "kind": string;
3331
3230
  "points": number;
3332
3231
  "is_final": boolean;
3333
3232
  "media": JsonValue;
@@ -3346,11 +3245,14 @@ export interface HomeworkShowBankHomeworkGetResponseData extends JsonObject {
3346
3245
  "id": string;
3347
3246
  "homework_id": string;
3348
3247
  "name": string;
3248
+ "bank_name"?: string | null;
3249
+ "assignable": boolean;
3250
+ "assignment_block_reason"?: string | null;
3349
3251
  "question_text": string;
3350
3252
  "description"?: string | null;
3351
3253
  "answer"?: string | null;
3352
3254
  "question_type": string;
3353
- "kind": "todo" | "project";
3255
+ "kind": string;
3354
3256
  "points": number;
3355
3257
  "is_final": boolean;
3356
3258
  "media": JsonValue;
@@ -3368,7 +3270,7 @@ export interface HomeworkUpdateBankHomeworkPatchInput extends JsonObject {
3368
3270
  "description"?: string | null;
3369
3271
  "answer"?: string | null;
3370
3272
  "question_type"?: string | null;
3371
- "kind"?: "todo" | "project" | null;
3273
+ "kind"?: string | null;
3372
3274
  "points"?: number | null;
3373
3275
  "is_final"?: boolean | null;
3374
3276
  "media"?: JsonValue | null;
@@ -3380,11 +3282,14 @@ export interface HomeworkUpdateBankHomeworkPatchResponseData extends JsonObject
3380
3282
  "id": string;
3381
3283
  "homework_id": string;
3382
3284
  "name": string;
3285
+ "bank_name"?: string | null;
3286
+ "assignable": boolean;
3287
+ "assignment_block_reason"?: string | null;
3383
3288
  "question_text": string;
3384
3289
  "description"?: string | null;
3385
3290
  "answer"?: string | null;
3386
3291
  "question_type": string;
3387
- "kind": "todo" | "project";
3292
+ "kind": string;
3388
3293
  "points": number;
3389
3294
  "is_final": boolean;
3390
3295
  "media": JsonValue;
@@ -3465,7 +3370,7 @@ export interface HomeworkIndexHomeworkGetQuery extends QueryParams {
3465
3370
  /** Backend response type: crate::models::PagedResult<models::HomeworkResponse>. */
3466
3371
  export interface HomeworkIndexHomeworkGetResponseItem extends JsonObject {
3467
3372
  "id": string;
3468
- "homework_bank_id": string | null;
3373
+ "homework_bank_id"?: string | null;
3469
3374
  "course_id"?: string | null;
3470
3375
  "course_name"?: string | null;
3471
3376
  "grade_id"?: string | null;
@@ -3509,7 +3414,7 @@ export interface HomeworkStoreHomeworkPostInput extends JsonObject {
3509
3414
  /** Backend response type: models::HomeworkResponse. */
3510
3415
  export interface HomeworkStoreHomeworkPostResponseData extends JsonObject {
3511
3416
  "id": string;
3512
- "homework_bank_id": string | null;
3417
+ "homework_bank_id"?: string | null;
3513
3418
  "course_id"?: string | null;
3514
3419
  "course_name"?: string | null;
3515
3420
  "grade_id"?: string | null;
@@ -3532,7 +3437,7 @@ export interface HomeworkDestroyHomeworkDeleteResponse extends ApiEnvelope<JsonV
3532
3437
  /** Backend response type: models::HomeworkResponse. */
3533
3438
  export interface HomeworkShowHomeworkGetResponseData extends JsonObject {
3534
3439
  "id": string;
3535
- "homework_bank_id": string | null;
3440
+ "homework_bank_id"?: string | null;
3536
3441
  "course_id"?: string | null;
3537
3442
  "course_name"?: string | null;
3538
3443
  "grade_id"?: string | null;
@@ -3566,7 +3471,7 @@ export interface HomeworkUpdateHomeworkPatchInput extends JsonObject {
3566
3471
  /** Backend response type: models::HomeworkResponse. */
3567
3472
  export interface HomeworkUpdateHomeworkPatchResponseData extends JsonObject {
3568
3473
  "id": string;
3569
- "homework_bank_id": string | null;
3474
+ "homework_bank_id"?: string | null;
3570
3475
  "course_id"?: string | null;
3571
3476
  "course_name"?: string | null;
3572
3477
  "grade_id"?: string | null;
@@ -3589,6 +3494,7 @@ export interface HomeworkIndexAssignmentGetQuery extends QueryParams {
3589
3494
  "page_size"?: number | null;
3590
3495
  "status"?: string | null;
3591
3496
  "homework_id"?: string | null;
3497
+ "course_id"?: string | null;
3592
3498
  "classroom_id"?: string | null;
3593
3499
  "user_id"?: string | null;
3594
3500
  "student_user_id"?: string | null;
@@ -3606,6 +3512,7 @@ export interface HomeworkIndexAssignmentGetResponseItemProfile extends JsonObjec
3606
3512
  "email"?: string | null;
3607
3513
  "national_code"?: string | null;
3608
3514
  "phone"?: string | null;
3515
+ "gender"?: string | null;
3609
3516
  }
3610
3517
  export interface HomeworkIndexAssignmentGetResponseItemTeacherProfile extends JsonObject {
3611
3518
  "user_id": string;
@@ -3614,6 +3521,7 @@ export interface HomeworkIndexAssignmentGetResponseItemTeacherProfile extends Js
3614
3521
  "email"?: string | null;
3615
3522
  "national_code"?: string | null;
3616
3523
  "phone"?: string | null;
3524
+ "gender"?: string | null;
3617
3525
  }
3618
3526
  export interface HomeworkIndexAssignmentGetResponseItemConsultantProfile extends JsonObject {
3619
3527
  "user_id": string;
@@ -3622,6 +3530,7 @@ export interface HomeworkIndexAssignmentGetResponseItemConsultantProfile extends
3622
3530
  "email"?: string | null;
3623
3531
  "national_code"?: string | null;
3624
3532
  "phone"?: string | null;
3533
+ "gender"?: string | null;
3625
3534
  }
3626
3535
  export interface HomeworkIndexAssignmentGetResponseItemSupportProfile extends JsonObject {
3627
3536
  "user_id": string;
@@ -3630,6 +3539,7 @@ export interface HomeworkIndexAssignmentGetResponseItemSupportProfile extends Js
3630
3539
  "email"?: string | null;
3631
3540
  "national_code"?: string | null;
3632
3541
  "phone"?: string | null;
3542
+ "gender"?: string | null;
3633
3543
  }
3634
3544
  export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
3635
3545
  "id": string;
@@ -3638,6 +3548,7 @@ export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
3638
3548
  "homework_name"?: string | null;
3639
3549
  "homework"?: import("./types.js").Homework | null;
3640
3550
  "homework_question"?: import("./types.js").HomeworkQuestion | null;
3551
+ "course_id"?: string | null;
3641
3552
  "classroom_id"?: string | null;
3642
3553
  "classroom_name"?: string | null;
3643
3554
  "user_id"?: string | null;
@@ -3692,6 +3603,7 @@ export interface HomeworkStoreAssignmentPostResponseDataProfile extends JsonObje
3692
3603
  "email"?: string | null;
3693
3604
  "national_code"?: string | null;
3694
3605
  "phone"?: string | null;
3606
+ "gender"?: string | null;
3695
3607
  }
3696
3608
  export interface HomeworkStoreAssignmentPostResponseDataTeacherProfile extends JsonObject {
3697
3609
  "user_id": string;
@@ -3700,6 +3612,7 @@ export interface HomeworkStoreAssignmentPostResponseDataTeacherProfile extends J
3700
3612
  "email"?: string | null;
3701
3613
  "national_code"?: string | null;
3702
3614
  "phone"?: string | null;
3615
+ "gender"?: string | null;
3703
3616
  }
3704
3617
  export interface HomeworkStoreAssignmentPostResponseDataConsultantProfile extends JsonObject {
3705
3618
  "user_id": string;
@@ -3708,6 +3621,7 @@ export interface HomeworkStoreAssignmentPostResponseDataConsultantProfile extend
3708
3621
  "email"?: string | null;
3709
3622
  "national_code"?: string | null;
3710
3623
  "phone"?: string | null;
3624
+ "gender"?: string | null;
3711
3625
  }
3712
3626
  export interface HomeworkStoreAssignmentPostResponseDataSupportProfile extends JsonObject {
3713
3627
  "user_id": string;
@@ -3716,6 +3630,7 @@ export interface HomeworkStoreAssignmentPostResponseDataSupportProfile extends J
3716
3630
  "email"?: string | null;
3717
3631
  "national_code"?: string | null;
3718
3632
  "phone"?: string | null;
3633
+ "gender"?: string | null;
3719
3634
  }
3720
3635
  export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
3721
3636
  "id": string;
@@ -3724,6 +3639,7 @@ export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
3724
3639
  "homework_name"?: string | null;
3725
3640
  "homework"?: import("./types.js").Homework | null;
3726
3641
  "homework_question"?: import("./types.js").HomeworkQuestion | null;
3642
+ "course_id"?: string | null;
3727
3643
  "classroom_id"?: string | null;
3728
3644
  "classroom_name"?: string | null;
3729
3645
  "user_id"?: string | null;
@@ -3758,6 +3674,7 @@ export interface HomeworkShowAssignmentGetResponseDataProfile extends JsonObject
3758
3674
  "email"?: string | null;
3759
3675
  "national_code"?: string | null;
3760
3676
  "phone"?: string | null;
3677
+ "gender"?: string | null;
3761
3678
  }
3762
3679
  export interface HomeworkShowAssignmentGetResponseDataTeacherProfile extends JsonObject {
3763
3680
  "user_id": string;
@@ -3766,6 +3683,7 @@ export interface HomeworkShowAssignmentGetResponseDataTeacherProfile extends Jso
3766
3683
  "email"?: string | null;
3767
3684
  "national_code"?: string | null;
3768
3685
  "phone"?: string | null;
3686
+ "gender"?: string | null;
3769
3687
  }
3770
3688
  export interface HomeworkShowAssignmentGetResponseDataConsultantProfile extends JsonObject {
3771
3689
  "user_id": string;
@@ -3774,6 +3692,7 @@ export interface HomeworkShowAssignmentGetResponseDataConsultantProfile extends
3774
3692
  "email"?: string | null;
3775
3693
  "national_code"?: string | null;
3776
3694
  "phone"?: string | null;
3695
+ "gender"?: string | null;
3777
3696
  }
3778
3697
  export interface HomeworkShowAssignmentGetResponseDataSupportProfile extends JsonObject {
3779
3698
  "user_id": string;
@@ -3782,6 +3701,7 @@ export interface HomeworkShowAssignmentGetResponseDataSupportProfile extends Jso
3782
3701
  "email"?: string | null;
3783
3702
  "national_code"?: string | null;
3784
3703
  "phone"?: string | null;
3704
+ "gender"?: string | null;
3785
3705
  }
3786
3706
  export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
3787
3707
  "id": string;
@@ -3790,6 +3710,7 @@ export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
3790
3710
  "homework_name"?: string | null;
3791
3711
  "homework"?: import("./types.js").Homework | null;
3792
3712
  "homework_question"?: import("./types.js").HomeworkQuestion | null;
3713
+ "course_id"?: string | null;
3793
3714
  "classroom_id"?: string | null;
3794
3715
  "classroom_name"?: string | null;
3795
3716
  "user_id"?: string | null;
@@ -3826,6 +3747,8 @@ export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
3826
3747
  "status"?: string | null;
3827
3748
  "answer_text"?: string | null;
3828
3749
  "score"?: number | null;
3750
+ "reward_tier"?: string | null;
3751
+ "verification_reason"?: string | null;
3829
3752
  }
3830
3753
  /** Backend response type: models::AssignmentResponse. */
3831
3754
  export interface HomeworkUpdateAssignmentPatchResponseDataProfile extends JsonObject {
@@ -3835,6 +3758,7 @@ export interface HomeworkUpdateAssignmentPatchResponseDataProfile extends JsonOb
3835
3758
  "email"?: string | null;
3836
3759
  "national_code"?: string | null;
3837
3760
  "phone"?: string | null;
3761
+ "gender"?: string | null;
3838
3762
  }
3839
3763
  export interface HomeworkUpdateAssignmentPatchResponseDataTeacherProfile extends JsonObject {
3840
3764
  "user_id": string;
@@ -3843,6 +3767,7 @@ export interface HomeworkUpdateAssignmentPatchResponseDataTeacherProfile extends
3843
3767
  "email"?: string | null;
3844
3768
  "national_code"?: string | null;
3845
3769
  "phone"?: string | null;
3770
+ "gender"?: string | null;
3846
3771
  }
3847
3772
  export interface HomeworkUpdateAssignmentPatchResponseDataConsultantProfile extends JsonObject {
3848
3773
  "user_id": string;
@@ -3851,6 +3776,7 @@ export interface HomeworkUpdateAssignmentPatchResponseDataConsultantProfile exte
3851
3776
  "email"?: string | null;
3852
3777
  "national_code"?: string | null;
3853
3778
  "phone"?: string | null;
3779
+ "gender"?: string | null;
3854
3780
  }
3855
3781
  export interface HomeworkUpdateAssignmentPatchResponseDataSupportProfile extends JsonObject {
3856
3782
  "user_id": string;
@@ -3859,6 +3785,7 @@ export interface HomeworkUpdateAssignmentPatchResponseDataSupportProfile extends
3859
3785
  "email"?: string | null;
3860
3786
  "national_code"?: string | null;
3861
3787
  "phone"?: string | null;
3788
+ "gender"?: string | null;
3862
3789
  }
3863
3790
  export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
3864
3791
  "id": string;
@@ -3867,6 +3794,7 @@ export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
3867
3794
  "homework_name"?: string | null;
3868
3795
  "homework"?: import("./types.js").Homework | null;
3869
3796
  "homework_question"?: import("./types.js").HomeworkQuestion | null;
3797
+ "course_id"?: string | null;
3870
3798
  "classroom_id"?: string | null;
3871
3799
  "classroom_name"?: string | null;
3872
3800
  "user_id"?: string | null;
@@ -3890,6 +3818,100 @@ export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
3890
3818
  }
3891
3819
  export interface HomeworkUpdateAssignmentPatchResponse extends ApiEnvelope<HomeworkUpdateAssignmentPatchResponseData> {
3892
3820
  }
3821
+ /** Backend query type: models::AssignmentListQuery. */
3822
+ export interface HomeworkIndexCurrentTermAssignmentGetQuery extends QueryParams {
3823
+ "page_number"?: number | null;
3824
+ "page_size"?: number | null;
3825
+ "status"?: string | null;
3826
+ "homework_id"?: string | null;
3827
+ "course_id"?: string | null;
3828
+ "classroom_id"?: string | null;
3829
+ "user_id"?: string | null;
3830
+ "student_user_id"?: string | null;
3831
+ "teacher_user_id"?: string | null;
3832
+ "consultant_user_id"?: string | null;
3833
+ "support_user_id"?: string | null;
3834
+ "from"?: string | null;
3835
+ "to"?: string | null;
3836
+ }
3837
+ /** Backend response type: crate::models::PagedResult<models::AssignmentResponse>. */
3838
+ export interface HomeworkIndexCurrentTermAssignmentGetResponseItemProfile extends JsonObject {
3839
+ "user_id": string;
3840
+ "first_name"?: JsonValue | null;
3841
+ "last_name"?: JsonValue | null;
3842
+ "email"?: string | null;
3843
+ "national_code"?: string | null;
3844
+ "phone"?: string | null;
3845
+ "gender"?: string | null;
3846
+ }
3847
+ export interface HomeworkIndexCurrentTermAssignmentGetResponseItemTeacherProfile extends JsonObject {
3848
+ "user_id": string;
3849
+ "first_name"?: JsonValue | null;
3850
+ "last_name"?: JsonValue | null;
3851
+ "email"?: string | null;
3852
+ "national_code"?: string | null;
3853
+ "phone"?: string | null;
3854
+ "gender"?: string | null;
3855
+ }
3856
+ export interface HomeworkIndexCurrentTermAssignmentGetResponseItemConsultantProfile extends JsonObject {
3857
+ "user_id": string;
3858
+ "first_name"?: JsonValue | null;
3859
+ "last_name"?: JsonValue | null;
3860
+ "email"?: string | null;
3861
+ "national_code"?: string | null;
3862
+ "phone"?: string | null;
3863
+ "gender"?: string | null;
3864
+ }
3865
+ export interface HomeworkIndexCurrentTermAssignmentGetResponseItemSupportProfile extends JsonObject {
3866
+ "user_id": string;
3867
+ "first_name"?: JsonValue | null;
3868
+ "last_name"?: JsonValue | null;
3869
+ "email"?: string | null;
3870
+ "national_code"?: string | null;
3871
+ "phone"?: string | null;
3872
+ "gender"?: string | null;
3873
+ }
3874
+ export interface HomeworkIndexCurrentTermAssignmentGetResponseItem extends JsonObject {
3875
+ "id": string;
3876
+ "homework_id": string;
3877
+ "homework_question_id"?: string | null;
3878
+ "homework_name"?: string | null;
3879
+ "homework"?: import("./types.js").Homework | null;
3880
+ "homework_question"?: import("./types.js").HomeworkQuestion | null;
3881
+ "course_id"?: string | null;
3882
+ "classroom_id"?: string | null;
3883
+ "classroom_name"?: string | null;
3884
+ "user_id"?: string | null;
3885
+ "profile"?: HomeworkIndexCurrentTermAssignmentGetResponseItemProfile | null;
3886
+ "teacher_user_id"?: string | null;
3887
+ "teacher_profile"?: HomeworkIndexCurrentTermAssignmentGetResponseItemTeacherProfile | null;
3888
+ "consultant_user_id"?: string | null;
3889
+ "consultant_profile"?: HomeworkIndexCurrentTermAssignmentGetResponseItemConsultantProfile | null;
3890
+ "support_user_id"?: string | null;
3891
+ "support_profile"?: HomeworkIndexCurrentTermAssignmentGetResponseItemSupportProfile | null;
3892
+ "chat_conversation_id"?: string | null;
3893
+ "due_at"?: string | null;
3894
+ "status": string;
3895
+ "answer_text"?: string | null;
3896
+ "description"?: string | null;
3897
+ "score"?: number | null;
3898
+ "active_until"?: string | null;
3899
+ "resolved_at"?: string | null;
3900
+ "created_at": string;
3901
+ "updated_at": string;
3902
+ }
3903
+ export interface HomeworkIndexCurrentTermAssignmentGetResponsePageMeta extends JsonObject {
3904
+ "page": number;
3905
+ "page_size": number;
3906
+ "total_items": number;
3907
+ "total_pages": number;
3908
+ }
3909
+ export interface HomeworkIndexCurrentTermAssignmentGetResponseData extends JsonObject {
3910
+ "data": HomeworkIndexCurrentTermAssignmentGetResponseItem[];
3911
+ "meta": HomeworkIndexCurrentTermAssignmentGetResponsePageMeta;
3912
+ }
3913
+ export interface HomeworkIndexCurrentTermAssignmentGetResponse extends ApiEnvelope<HomeworkIndexCurrentTermAssignmentGetResponseData> {
3914
+ }
3893
3915
  /** Backend query type: models::QuestionListQuery. */
3894
3916
  export interface HomeworkIndexQuestionGetQuery extends QueryParams {
3895
3917
  "page_number"?: number | null;
@@ -3898,18 +3920,21 @@ export interface HomeworkIndexQuestionGetQuery extends QueryParams {
3898
3920
  "search"?: string | null;
3899
3921
  "status"?: string | null;
3900
3922
  "question_type"?: string | null;
3901
- "kind"?: "todo" | "project" | null;
3923
+ "kind"?: string | null;
3902
3924
  }
3903
3925
  /** Backend response type: crate::models::PagedResult<models::QuestionResponse>. */
3904
3926
  export interface HomeworkIndexQuestionGetResponseItem extends JsonObject {
3905
3927
  "id": string;
3906
3928
  "homework_id": string;
3907
3929
  "name": string;
3930
+ "bank_name"?: string | null;
3931
+ "assignable": boolean;
3932
+ "assignment_block_reason"?: string | null;
3908
3933
  "question_text": string;
3909
3934
  "description"?: string | null;
3910
3935
  "answer"?: string | null;
3911
3936
  "question_type": string;
3912
- "kind": "todo" | "project";
3937
+ "kind": string;
3913
3938
  "points": number;
3914
3939
  "is_final": boolean;
3915
3940
  "media": JsonValue;
@@ -3938,7 +3963,7 @@ export interface HomeworkStoreQuestionPostInput extends JsonObject {
3938
3963
  "description"?: string | null;
3939
3964
  "answer"?: string | null;
3940
3965
  "question_type"?: string;
3941
- "kind"?: "todo" | "project";
3966
+ "kind"?: string;
3942
3967
  "points"?: number;
3943
3968
  "is_final"?: boolean;
3944
3969
  "media"?: JsonValue | null;
@@ -3950,11 +3975,14 @@ export interface HomeworkStoreQuestionPostResponseData extends JsonObject {
3950
3975
  "id": string;
3951
3976
  "homework_id": string;
3952
3977
  "name": string;
3978
+ "bank_name"?: string | null;
3979
+ "assignable": boolean;
3980
+ "assignment_block_reason"?: string | null;
3953
3981
  "question_text": string;
3954
3982
  "description"?: string | null;
3955
3983
  "answer"?: string | null;
3956
3984
  "question_type": string;
3957
- "kind": "todo" | "project";
3985
+ "kind": string;
3958
3986
  "points": number;
3959
3987
  "is_final": boolean;
3960
3988
  "media": JsonValue;
@@ -3970,11 +3998,14 @@ export interface HomeworkShowQuestionGetResponseData extends JsonObject {
3970
3998
  "id": string;
3971
3999
  "homework_id": string;
3972
4000
  "name": string;
4001
+ "bank_name"?: string | null;
4002
+ "assignable": boolean;
4003
+ "assignment_block_reason"?: string | null;
3973
4004
  "question_text": string;
3974
4005
  "description"?: string | null;
3975
4006
  "answer"?: string | null;
3976
4007
  "question_type": string;
3977
- "kind": "todo" | "project";
4008
+ "kind": string;
3978
4009
  "points": number;
3979
4010
  "is_final": boolean;
3980
4011
  "media": JsonValue;
@@ -3993,7 +4024,7 @@ export interface HomeworkUpdateQuestionPatchInput extends JsonObject {
3993
4024
  "description"?: string | null;
3994
4025
  "answer"?: string | null;
3995
4026
  "question_type"?: string | null;
3996
- "kind"?: "todo" | "project" | null;
4027
+ "kind"?: string | null;
3997
4028
  "points"?: number | null;
3998
4029
  "is_final"?: boolean | null;
3999
4030
  "media"?: JsonValue | null;
@@ -4005,11 +4036,14 @@ export interface HomeworkUpdateQuestionPatchResponseData extends JsonObject {
4005
4036
  "id": string;
4006
4037
  "homework_id": string;
4007
4038
  "name": string;
4039
+ "bank_name"?: string | null;
4040
+ "assignable": boolean;
4041
+ "assignment_block_reason"?: string | null;
4008
4042
  "question_text": string;
4009
4043
  "description"?: string | null;
4010
4044
  "answer"?: string | null;
4011
4045
  "question_type": string;
4012
- "kind": "todo" | "project";
4046
+ "kind": string;
4013
4047
  "points": number;
4014
4048
  "is_final": boolean;
4015
4049
  "media": JsonValue;
@@ -4020,6 +4054,10 @@ export interface HomeworkUpdateQuestionPatchResponseData extends JsonObject {
4020
4054
  }
4021
4055
  export interface HomeworkUpdateQuestionPatchResponse extends ApiEnvelope<HomeworkUpdateQuestionPatchResponseData> {
4022
4056
  }
4057
+ /** Backend request type: TransferUserDataInput. */
4058
+ export type TransferTransferUserDataPostInput = import("./types.js").TransferUserDataInput;
4059
+ /** Backend response type: TransferUserDataResponse. */
4060
+ export type TransferTransferUserDataPostResponse = import("./types.js").TransferUserDataResponse;
4023
4061
  /** Backend response type: infera_flow_sdk::FlowIntegrationResponse. */
4024
4062
  export interface IntegrationFlowIntegrationShowGetResponse extends ApiEnvelope<BackendJson<"infera_flow_sdk::FlowIntegrationResponse">> {
4025
4063
  }
@@ -4031,6 +4069,46 @@ export interface IntegrationResolveLegacyIdsPostInput extends JsonObject {
4031
4069
  /** Backend response type: Value. */
4032
4070
  export interface IntegrationResolveLegacyIdsPostResponse extends ApiEnvelope<JsonValue> {
4033
4071
  }
4072
+ /** Backend response type: Value. */
4073
+ export type InteractiveCatalogGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningCatalogItem[]>;
4074
+ /** Backend response type: Vec<Value>. */
4075
+ export type InteractiveMyCertificatesGetResponse = import("./contracts.types.js").LearningCertificatesResponse;
4076
+ /** Backend response type: Value. */
4077
+ export type InteractiveClaimCertificatePostResponse = import("./contracts.types.js").LearningCertificateClaimResponse;
4078
+ /** Backend response type: Vec<DefinitionRecord>. */
4079
+ export type InteractiveDefinitionsGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningDefinitionRecord[]>;
4080
+ /** Backend response type: DefinitionRecord. */
4081
+ export type InteractiveDefinitionGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningDefinitionRecord>;
4082
+ /** Backend response type: DefinitionRecord. */
4083
+ export type InteractivePublishPostResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningDefinitionRecord>;
4084
+ /** Backend response type: DefinitionRecord. */
4085
+ export type InteractiveLessonGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningDefinitionRecord>;
4086
+ /** Backend request type: SaveDefinition. */
4087
+ export type InteractiveSaveDefinitionPostInput = import("./interactive.js").SaveLearningDefinitionInput;
4088
+ /** Backend response type: DefinitionRecord. */
4089
+ export type InteractiveSaveDefinitionPostResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningDefinitionRecord>;
4090
+ /** Backend request type: StartRun. */
4091
+ export type InteractiveStartPostInput = import("./interactive.js").StartLearningInput;
4092
+ /** Backend response type: RunResponse. */
4093
+ export type InteractiveStartPostResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningRun>;
4094
+ /** Backend response type: Vec<RunState>. */
4095
+ export type InteractiveRunsGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningState[]>;
4096
+ /** Backend response type: RunResponse. */
4097
+ export type InteractiveRunGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningRun>;
4098
+ /** Backend request type: AttemptInput. */
4099
+ export type InteractiveSubmitPostInput = import("./interactive.js").LearningAttemptInput;
4100
+ /** Backend response type: AttemptResponse. */
4101
+ export type InteractiveSubmitPostResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningAttempt>;
4102
+ /** Backend request type: DraftInput. */
4103
+ export type InteractiveDraftPutInput = import("./interactive.js").LearningDraftInput;
4104
+ /** Backend response type: RunResponse. */
4105
+ export type InteractiveDraftPutResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningRun>;
4106
+ /** Backend request type: HintInput. */
4107
+ export type InteractiveHintPostInput = import("./interactive.js").LearningHintInput;
4108
+ /** Backend response type: HintResponse. */
4109
+ export type InteractiveHintPostResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningHint>;
4110
+ /** Backend response type: Value. */
4111
+ export type InteractiveTeacherContextGetResponse = import("./interactive.js").LearningEnvelope<import("./interactive.js").LearningTeacherContext>;
4034
4112
  /** Backend request type: multipart/form-data. */
4035
4113
  export type MediaUploadImagePostInput = FormData;
4036
4114
  /** Backend response type: UploadResponse. */
@@ -4057,6 +4135,7 @@ export interface ProfileRoutesIndexGetResponseItem extends JsonObject {
4057
4135
  "email"?: string | null;
4058
4136
  "national_code"?: string | null;
4059
4137
  "phone"?: string | null;
4138
+ "gender"?: string | null;
4060
4139
  }
4061
4140
  export interface ProfileRoutesIndexGetResponsePageMeta extends JsonObject {
4062
4141
  "page": number;
@@ -4076,7 +4155,7 @@ export interface ProfileRoutesShowGetResponse extends ApiEnvelope<BackendJson<"P
4076
4155
  /** Backend response type: Branding. */
4077
4156
  export interface BrandingPublicShowGetResponseData extends JsonObject {
4078
4157
  "title"?: string | null;
4079
- "localizations": Record<string, JsonValue>;
4158
+ "localizations": Record<string, BackendJson<"BrandText">>;
4080
4159
  "icon_asset_key"?: string | null;
4081
4160
  "icon_url"?: string | null;
4082
4161
  }
@@ -4090,6 +4169,35 @@ export type CertificateVerifyCertificateGetResponse = import("./types.js").Publi
4090
4169
  /** Backend response type: raw-response. */
4091
4170
  export type CertificateRenderCertificateImageGetResponse = import("./types.js").CertificateSvgResponse;
4092
4171
  /** Backend query type: models::AssignedStudentsQuery. */
4172
+ export interface ReportAssignedChatContactsGetQuery extends QueryParams {
4173
+ "page_number"?: number | null;
4174
+ "page_size"?: number | null;
4175
+ "search"?: string | null;
4176
+ }
4177
+ /** Backend response type: crate::models::PagedResult<models::AssignedChatContact>. */
4178
+ export interface ReportAssignedChatContactsGetResponseItem extends JsonObject {
4179
+ "user_id": string;
4180
+ "first_name"?: JsonValue | null;
4181
+ "last_name"?: JsonValue | null;
4182
+ "email"?: string | null;
4183
+ "national_code"?: string | null;
4184
+ "phone"?: string | null;
4185
+ "gender"?: string | null;
4186
+ "contact_role": string;
4187
+ }
4188
+ export interface ReportAssignedChatContactsGetResponsePageMeta extends JsonObject {
4189
+ "page": number;
4190
+ "page_size": number;
4191
+ "total_items": number;
4192
+ "total_pages": number;
4193
+ }
4194
+ export interface ReportAssignedChatContactsGetResponseData extends JsonObject {
4195
+ "data": ReportAssignedChatContactsGetResponseItem[];
4196
+ "meta": ReportAssignedChatContactsGetResponsePageMeta;
4197
+ }
4198
+ export interface ReportAssignedChatContactsGetResponse extends ApiEnvelope<ReportAssignedChatContactsGetResponseData> {
4199
+ }
4200
+ /** Backend query type: models::AssignedStudentsQuery. */
4093
4201
  export interface ReportAssignedStudentsGetQuery extends QueryParams {
4094
4202
  "page_number"?: number | null;
4095
4203
  "page_size"?: number | null;
@@ -4103,6 +4211,7 @@ export interface ReportAssignedStudentsGetResponseItem extends JsonObject {
4103
4211
  "email"?: string | null;
4104
4212
  "national_code"?: string | null;
4105
4213
  "phone"?: string | null;
4214
+ "gender"?: string | null;
4106
4215
  }
4107
4216
  export interface ReportAssignedStudentsGetResponsePageMeta extends JsonObject {
4108
4217
  "page": number;
@@ -4130,6 +4239,7 @@ export interface ReportClassroomsGetResponseItemTeacherProfile extends JsonObjec
4130
4239
  "email"?: string | null;
4131
4240
  "national_code"?: string | null;
4132
4241
  "phone"?: string | null;
4242
+ "gender"?: string | null;
4133
4243
  }
4134
4244
  export interface ReportClassroomsGetResponseItemConsultantProfile extends JsonObject {
4135
4245
  "user_id": string;
@@ -4138,6 +4248,7 @@ export interface ReportClassroomsGetResponseItemConsultantProfile extends JsonOb
4138
4248
  "email"?: string | null;
4139
4249
  "national_code"?: string | null;
4140
4250
  "phone"?: string | null;
4251
+ "gender"?: string | null;
4141
4252
  }
4142
4253
  export interface ReportClassroomsGetResponseItem extends JsonObject {
4143
4254
  "classroom_id": string;
@@ -4171,6 +4282,7 @@ export interface ReportConsultantsGetResponseItemConsultantProfile extends JsonO
4171
4282
  "email"?: string | null;
4172
4283
  "national_code"?: string | null;
4173
4284
  "phone"?: string | null;
4285
+ "gender"?: string | null;
4174
4286
  }
4175
4287
  export interface ReportConsultantsGetResponseItem extends JsonObject {
4176
4288
  "consultant_user_id": string;
@@ -4202,6 +4314,7 @@ export interface ReportMyStudentsGetResponseItem extends JsonObject {
4202
4314
  "email"?: string | null;
4203
4315
  "national_code"?: string | null;
4204
4316
  "phone"?: string | null;
4317
+ "gender"?: string | null;
4205
4318
  }
4206
4319
  export interface ReportMyStudentsGetResponse extends ApiEnvelope<ReportMyStudentsGetResponseItem[]> {
4207
4320
  }
@@ -4220,6 +4333,7 @@ export interface ReportStudentSummaryGetResponseDataProfile extends JsonObject {
4220
4333
  "email"?: string | null;
4221
4334
  "national_code"?: string | null;
4222
4335
  "phone"?: string | null;
4336
+ "gender"?: string | null;
4223
4337
  }
4224
4338
  export interface ReportStudentSummaryGetResponseData extends JsonObject {
4225
4339
  "courses"?: JsonValue[] | null;
@@ -4247,6 +4361,7 @@ export interface ReportStudentsGetResponseItemProfile extends JsonObject {
4247
4361
  "email"?: string | null;
4248
4362
  "national_code"?: string | null;
4249
4363
  "phone"?: string | null;
4364
+ "gender"?: string | null;
4250
4365
  }
4251
4366
  export interface ReportStudentsGetResponseItem extends JsonObject {
4252
4367
  "courses"?: JsonValue[] | null;
@@ -4274,6 +4389,7 @@ export interface ReportTeachersGetResponseItemTeacherProfile extends JsonObject
4274
4389
  "email"?: string | null;
4275
4390
  "national_code"?: string | null;
4276
4391
  "phone"?: string | null;
4392
+ "gender"?: string | null;
4277
4393
  }
4278
4394
  export interface ReportTeachersGetResponseItem extends JsonObject {
4279
4395
  "teacher_user_id": string;