@faiber/faiber-lms 0.9.0 → 0.10.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.
@@ -48,10 +48,14 @@ export interface CertificateIndexCertificateGetResponseItem extends JsonObject {
48
48
  "user_id": string;
49
49
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
50
50
  "course_id"?: string | null;
51
+ "course_name"?: string | null;
51
52
  "classroom_id"?: string | null;
53
+ "classroom_name"?: string | null;
52
54
  "title": string;
53
55
  "certificate_template_id"?: string | null;
54
56
  "grade_id"?: string | null;
57
+ "score"?: number | null;
58
+ "passing_mark"?: number | null;
55
59
  "status": string;
56
60
  "verification_code"?: string | null;
57
61
  "legacy_code"?: string | null;
@@ -98,10 +102,14 @@ export interface CertificateStoreCertificatePostResponseData extends JsonObject
98
102
  "user_id": string;
99
103
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
100
104
  "course_id"?: string | null;
105
+ "course_name"?: string | null;
101
106
  "classroom_id"?: string | null;
107
+ "classroom_name"?: string | null;
102
108
  "title": string;
103
109
  "certificate_template_id"?: string | null;
104
110
  "grade_id"?: string | null;
111
+ "score"?: number | null;
112
+ "passing_mark"?: number | null;
105
113
  "status": string;
106
114
  "verification_code"?: string | null;
107
115
  "legacy_code"?: string | null;
@@ -116,9 +124,6 @@ export interface CertificateStoreCertificatePostResponseData extends JsonObject
116
124
  }
117
125
  export interface CertificateStoreCertificatePostResponse extends ApiEnvelope<CertificateStoreCertificatePostResponseData> {
118
126
  }
119
- /** Backend response type: raw-response. */
120
- export interface CertificateRenderCertificateImageGetResponse extends ApiEnvelope<JsonValue> {
121
- }
122
127
  /** Backend response type: models::CertificateResponse. */
123
128
  export interface CertificateShowCertificateGetResponseData extends JsonObject {
124
129
  "id": string;
@@ -126,10 +131,14 @@ export interface CertificateShowCertificateGetResponseData extends JsonObject {
126
131
  "user_id": string;
127
132
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
128
133
  "course_id"?: string | null;
134
+ "course_name"?: string | null;
129
135
  "classroom_id"?: string | null;
136
+ "classroom_name"?: string | null;
130
137
  "title": string;
131
138
  "certificate_template_id"?: string | null;
132
139
  "grade_id"?: string | null;
140
+ "score"?: number | null;
141
+ "passing_mark"?: number | null;
133
142
  "status": string;
134
143
  "verification_code"?: string | null;
135
144
  "legacy_code"?: string | null;
@@ -162,10 +171,14 @@ export interface CertificateUpdateCertificatePatchResponseData extends JsonObjec
162
171
  "user_id": string;
163
172
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
164
173
  "course_id"?: string | null;
174
+ "course_name"?: string | null;
165
175
  "classroom_id"?: string | null;
176
+ "classroom_name"?: string | null;
166
177
  "title": string;
167
178
  "certificate_template_id"?: string | null;
168
179
  "grade_id"?: string | null;
180
+ "score"?: number | null;
181
+ "passing_mark"?: number | null;
169
182
  "status": string;
170
183
  "verification_code"?: string | null;
171
184
  "legacy_code"?: string | null;
@@ -282,15 +295,23 @@ export interface ClassroomIndexClassroomGetQuery extends QueryParams {
282
295
  "search"?: string | null;
283
296
  "status"?: string | null;
284
297
  "course_id"?: string | null;
298
+ "user_id"?: string | null;
285
299
  "teacher_user_id"?: string | null;
286
300
  "consultant_user_id"?: string | null;
287
301
  "support_user_id"?: string | null;
302
+ "from"?: string | null;
303
+ "to"?: string | null;
288
304
  }
289
305
  /** Backend response type: crate::models::PagedResult<models::ClassroomResponse>. */
290
306
  export interface ClassroomIndexClassroomGetResponseItem extends JsonObject {
291
307
  "id": string;
292
308
  "course_id": string;
293
309
  "course_name"?: string | null;
310
+ "course_category_id"?: string | null;
311
+ "course_sort_order"?: number | null;
312
+ "course_passing_mark"?: number | null;
313
+ "current_user_score"?: number | null;
314
+ "current_user_passed"?: boolean | null;
294
315
  "name": string;
295
316
  "code"?: string | null;
296
317
  "description"?: string | null;
@@ -352,6 +373,11 @@ export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
352
373
  "id": string;
353
374
  "course_id": string;
354
375
  "course_name"?: string | null;
376
+ "course_category_id"?: string | null;
377
+ "course_sort_order"?: number | null;
378
+ "course_passing_mark"?: number | null;
379
+ "current_user_score"?: number | null;
380
+ "current_user_passed"?: boolean | null;
355
381
  "name": string;
356
382
  "code"?: string | null;
357
383
  "description"?: string | null;
@@ -382,6 +408,11 @@ export interface ClassroomShowClassroomGetResponseData extends JsonObject {
382
408
  "id": string;
383
409
  "course_id": string;
384
410
  "course_name"?: string | null;
411
+ "course_category_id"?: string | null;
412
+ "course_sort_order"?: number | null;
413
+ "course_passing_mark"?: number | null;
414
+ "current_user_score"?: number | null;
415
+ "current_user_passed"?: boolean | null;
385
416
  "name": string;
386
417
  "code"?: string | null;
387
418
  "description"?: string | null;
@@ -433,6 +464,11 @@ export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
433
464
  "id": string;
434
465
  "course_id": string;
435
466
  "course_name"?: string | null;
467
+ "course_category_id"?: string | null;
468
+ "course_sort_order"?: number | null;
469
+ "course_passing_mark"?: number | null;
470
+ "current_user_score"?: number | null;
471
+ "current_user_passed"?: boolean | null;
436
472
  "name": string;
437
473
  "code"?: string | null;
438
474
  "description"?: string | null;
@@ -574,6 +610,7 @@ export interface ClassroomIndexSessionGetQuery extends QueryParams {
574
610
  "page_size"?: number | null;
575
611
  "status"?: string | null;
576
612
  "classroom_id"?: string | null;
613
+ "user_id"?: string | null;
577
614
  "from"?: string | null;
578
615
  "to"?: string | null;
579
616
  }
@@ -583,8 +620,9 @@ export interface ClassroomIndexSessionGetResponseItem extends JsonObject {
583
620
  "classroom_id": string;
584
621
  "classroom_name"?: string | null;
585
622
  "course_session_id"?: string | null;
623
+ "course_session"?: import("./types.js").ClassroomCourseSession | null;
586
624
  "course_session_type_id"?: string | null;
587
- "session_type"?: ClassroomIndexSessionTypesGetResponseItem | null;
625
+ "session_type"?: import("./types.js").ClassroomSessionType | null;
588
626
  "name"?: string | null;
589
627
  "session_number"?: number | null;
590
628
  "duration_minutes"?: number | null;
@@ -637,8 +675,9 @@ export interface ClassroomStoreSessionPostResponseData extends JsonObject {
637
675
  "classroom_id": string;
638
676
  "classroom_name"?: string | null;
639
677
  "course_session_id"?: string | null;
678
+ "course_session"?: import("./types.js").ClassroomCourseSession | null;
640
679
  "course_session_type_id"?: string | null;
641
- "session_type"?: ClassroomIndexSessionTypesGetResponseItem | null;
680
+ "session_type"?: import("./types.js").ClassroomSessionType | null;
642
681
  "name"?: string | null;
643
682
  "session_number"?: number | null;
644
683
  "duration_minutes"?: number | null;
@@ -664,8 +703,9 @@ export interface ClassroomShowSessionGetResponseData extends JsonObject {
664
703
  "classroom_id": string;
665
704
  "classroom_name"?: string | null;
666
705
  "course_session_id"?: string | null;
706
+ "course_session"?: import("./types.js").ClassroomCourseSession | null;
667
707
  "course_session_type_id"?: string | null;
668
- "session_type"?: ClassroomIndexSessionTypesGetResponseItem | null;
708
+ "session_type"?: import("./types.js").ClassroomSessionType | null;
669
709
  "name"?: string | null;
670
710
  "session_number"?: number | null;
671
711
  "duration_minutes"?: number | null;
@@ -708,8 +748,9 @@ export interface ClassroomUpdateSessionPatchResponseData extends JsonObject {
708
748
  "classroom_id": string;
709
749
  "classroom_name"?: string | null;
710
750
  "course_session_id"?: string | null;
751
+ "course_session"?: import("./types.js").ClassroomCourseSession | null;
711
752
  "course_session_type_id"?: string | null;
712
- "session_type"?: ClassroomIndexSessionTypesGetResponseItem | null;
753
+ "session_type"?: import("./types.js").ClassroomSessionType | null;
713
754
  "name"?: string | null;
714
755
  "session_number"?: number | null;
715
756
  "duration_minutes"?: number | null;
@@ -781,8 +822,9 @@ export interface ClassroomIndexTodaySessionsGetResponseItem extends JsonObject {
781
822
  "classroom_id": string;
782
823
  "classroom_name"?: string | null;
783
824
  "course_session_id"?: string | null;
825
+ "course_session"?: import("./types.js").ClassroomCourseSession | null;
784
826
  "course_session_type_id"?: string | null;
785
- "session_type"?: ClassroomIndexSessionTypesGetResponseItem | null;
827
+ "session_type"?: import("./types.js").ClassroomSessionType | null;
786
828
  "name"?: string | null;
787
829
  "session_number"?: number | null;
788
830
  "duration_minutes"?: number | null;
@@ -1246,6 +1288,8 @@ export interface CourseIndexSessionGetResponseItem extends JsonObject {
1246
1288
  "duration_minutes"?: number | null;
1247
1289
  "auto_unlock": boolean;
1248
1290
  "info"?: string | null;
1291
+ "video_type"?: string | null;
1292
+ "external_url"?: string | null;
1249
1293
  "drm_mixed_media_id"?: BackendJson<"uuid::Uuid"> | null;
1250
1294
  "status": string;
1251
1295
  "created_at": string;
@@ -1275,6 +1319,8 @@ export interface CourseStoreSessionPostInput extends JsonObject {
1275
1319
  "duration_minutes"?: number | null;
1276
1320
  "auto_unlock": boolean;
1277
1321
  "info"?: string | null;
1322
+ "video_type"?: string | null;
1323
+ "external_url"?: string | null;
1278
1324
  "drm_mixed_media_id"?: BackendJson<"uuid::Uuid"> | null;
1279
1325
  "status": string;
1280
1326
  }
@@ -1291,6 +1337,8 @@ export interface CourseStoreSessionPostResponseData extends JsonObject {
1291
1337
  "duration_minutes"?: number | null;
1292
1338
  "auto_unlock": boolean;
1293
1339
  "info"?: string | null;
1340
+ "video_type"?: string | null;
1341
+ "external_url"?: string | null;
1294
1342
  "drm_mixed_media_id"?: BackendJson<"uuid::Uuid"> | null;
1295
1343
  "status": string;
1296
1344
  "created_at": string;
@@ -1314,6 +1362,8 @@ export interface CourseShowSessionGetResponseData extends JsonObject {
1314
1362
  "duration_minutes"?: number | null;
1315
1363
  "auto_unlock": boolean;
1316
1364
  "info"?: string | null;
1365
+ "video_type"?: string | null;
1366
+ "external_url"?: string | null;
1317
1367
  "drm_mixed_media_id"?: BackendJson<"uuid::Uuid"> | null;
1318
1368
  "status": string;
1319
1369
  "created_at": string;
@@ -1332,6 +1382,8 @@ export interface CourseUpdateSessionPatchInput extends JsonObject {
1332
1382
  "duration_minutes"?: number | null;
1333
1383
  "auto_unlock"?: boolean | null;
1334
1384
  "info"?: string | null;
1385
+ "video_type"?: string | null;
1386
+ "external_url"?: string | null;
1335
1387
  "drm_mixed_media_id"?: BackendJson<"uuid::Uuid"> | null;
1336
1388
  "status"?: string | null;
1337
1389
  }
@@ -1348,6 +1400,8 @@ export interface CourseUpdateSessionPatchResponseData extends JsonObject {
1348
1400
  "duration_minutes"?: number | null;
1349
1401
  "auto_unlock": boolean;
1350
1402
  "info"?: string | null;
1403
+ "video_type"?: string | null;
1404
+ "external_url"?: string | null;
1351
1405
  "drm_mixed_media_id"?: BackendJson<"uuid::Uuid"> | null;
1352
1406
  "status": string;
1353
1407
  "created_at": string;
@@ -1572,6 +1626,9 @@ export interface ExamIndexExamGetQuery extends QueryParams {
1572
1626
  "status"?: string | null;
1573
1627
  "course_id"?: string | null;
1574
1628
  "grade_id"?: string | null;
1629
+ "user_id"?: string | null;
1630
+ "from"?: string | null;
1631
+ "to"?: string | null;
1575
1632
  }
1576
1633
  /** Backend response type: crate::models::PagedResult<models::ExamResponse>. */
1577
1634
  export interface ExamIndexExamGetResponseItem extends JsonObject {
@@ -1714,6 +1771,9 @@ export interface ExamIndexAttemptGetQuery extends QueryParams {
1714
1771
  "page_size"?: number | null;
1715
1772
  "status"?: string | null;
1716
1773
  "exam_session_id"?: string | null;
1774
+ "user_id"?: string | null;
1775
+ "from"?: string | null;
1776
+ "to"?: string | null;
1717
1777
  }
1718
1778
  /** Backend response type: crate::models::PagedResult<models::AttemptResponse>. */
1719
1779
  export interface ExamIndexAttemptGetResponseItem extends JsonObject {
@@ -1723,6 +1783,8 @@ export interface ExamIndexAttemptGetResponseItem extends JsonObject {
1723
1783
  "exam_name"?: string | null;
1724
1784
  "classroom_id"?: string | null;
1725
1785
  "classroom_name"?: string | null;
1786
+ "course_id"?: string | null;
1787
+ "course_name"?: string | null;
1726
1788
  "user_id": string;
1727
1789
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1728
1790
  "score"?: number | null;
@@ -1756,6 +1818,8 @@ export interface ExamShowAttemptGetResponseData extends JsonObject {
1756
1818
  "exam_name"?: string | null;
1757
1819
  "classroom_id"?: string | null;
1758
1820
  "classroom_name"?: string | null;
1821
+ "course_id"?: string | null;
1822
+ "course_name"?: string | null;
1759
1823
  "user_id": string;
1760
1824
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1761
1825
  "score"?: number | null;
@@ -1788,6 +1852,8 @@ export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1788
1852
  "exam_name"?: string | null;
1789
1853
  "classroom_id"?: string | null;
1790
1854
  "classroom_name"?: string | null;
1855
+ "course_id"?: string | null;
1856
+ "course_name"?: string | null;
1791
1857
  "user_id": string;
1792
1858
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1793
1859
  "score"?: number | null;
@@ -1803,6 +1869,129 @@ export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1803
1869
  }
1804
1870
  export interface ExamUpdateAttemptPatchResponse extends ApiEnvelope<ExamUpdateAttemptPatchResponseData> {
1805
1871
  }
1872
+ /** Backend request type: models::SaveAttemptAnswerRequest. */
1873
+ export interface ExamSaveAttemptAnswerPutInput extends JsonObject {
1874
+ "answer": JsonValue;
1875
+ }
1876
+ /** Backend response type: models::SavedAttemptAnswerResponse. */
1877
+ export interface ExamSaveAttemptAnswerPutResponseData extends JsonObject {
1878
+ "position": number;
1879
+ "saved_at": string;
1880
+ "answered_count": number;
1881
+ }
1882
+ export interface ExamSaveAttemptAnswerPutResponse extends ApiEnvelope<ExamSaveAttemptAnswerPutResponseData> {
1883
+ }
1884
+ /** Backend response type: models::AttemptDeliveryResponse. */
1885
+ export interface ExamShowAttemptDeliveryGetResponseData extends JsonObject {
1886
+ "attempt_id": string;
1887
+ "exam_session_id": string;
1888
+ "user_id": string;
1889
+ "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1890
+ "exam_id": string;
1891
+ "exam_name": string;
1892
+ "exam_description"?: string | null;
1893
+ "exam_info"?: string | null;
1894
+ "cover_url"?: string | null;
1895
+ "classroom_id"?: string | null;
1896
+ "classroom_name"?: string | null;
1897
+ "access": string;
1898
+ "state": string;
1899
+ "server_now": string;
1900
+ "starts_at"?: string | null;
1901
+ "closes_at"?: string | null;
1902
+ "started_at"?: string | null;
1903
+ "finished_at"?: string | null;
1904
+ "duration_minutes"?: number | null;
1905
+ "remaining_seconds": number;
1906
+ "score"?: number | null;
1907
+ "teacher_score"?: number | null;
1908
+ "passing_mark"?: number | null;
1909
+ "passed"?: boolean | null;
1910
+ "answered_count": number;
1911
+ "correct_count": number;
1912
+ "incorrect_count": number;
1913
+ "unanswered_count": number;
1914
+ "total_questions": number;
1915
+ "can_start": boolean;
1916
+ "can_answer": boolean;
1917
+ "questions": BackendJson<"DeliveryQuestionResponse">[];
1918
+ }
1919
+ export interface ExamShowAttemptDeliveryGetResponse extends ApiEnvelope<ExamShowAttemptDeliveryGetResponseData> {
1920
+ }
1921
+ /** Backend response type: models::AttemptDeliveryResponse. */
1922
+ export interface ExamStartAttemptPostResponseData extends JsonObject {
1923
+ "attempt_id": string;
1924
+ "exam_session_id": string;
1925
+ "user_id": string;
1926
+ "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1927
+ "exam_id": string;
1928
+ "exam_name": string;
1929
+ "exam_description"?: string | null;
1930
+ "exam_info"?: string | null;
1931
+ "cover_url"?: string | null;
1932
+ "classroom_id"?: string | null;
1933
+ "classroom_name"?: string | null;
1934
+ "access": string;
1935
+ "state": string;
1936
+ "server_now": string;
1937
+ "starts_at"?: string | null;
1938
+ "closes_at"?: string | null;
1939
+ "started_at"?: string | null;
1940
+ "finished_at"?: string | null;
1941
+ "duration_minutes"?: number | null;
1942
+ "remaining_seconds": number;
1943
+ "score"?: number | null;
1944
+ "teacher_score"?: number | null;
1945
+ "passing_mark"?: number | null;
1946
+ "passed"?: boolean | null;
1947
+ "answered_count": number;
1948
+ "correct_count": number;
1949
+ "incorrect_count": number;
1950
+ "unanswered_count": number;
1951
+ "total_questions": number;
1952
+ "can_start": boolean;
1953
+ "can_answer": boolean;
1954
+ "questions": BackendJson<"DeliveryQuestionResponse">[];
1955
+ }
1956
+ export interface ExamStartAttemptPostResponse extends ApiEnvelope<ExamStartAttemptPostResponseData> {
1957
+ }
1958
+ /** Backend response type: models::AttemptDeliveryResponse. */
1959
+ export interface ExamSubmitAttemptPostResponseData extends JsonObject {
1960
+ "attempt_id": string;
1961
+ "exam_session_id": string;
1962
+ "user_id": string;
1963
+ "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1964
+ "exam_id": string;
1965
+ "exam_name": string;
1966
+ "exam_description"?: string | null;
1967
+ "exam_info"?: string | null;
1968
+ "cover_url"?: string | null;
1969
+ "classroom_id"?: string | null;
1970
+ "classroom_name"?: string | null;
1971
+ "access": string;
1972
+ "state": string;
1973
+ "server_now": string;
1974
+ "starts_at"?: string | null;
1975
+ "closes_at"?: string | null;
1976
+ "started_at"?: string | null;
1977
+ "finished_at"?: string | null;
1978
+ "duration_minutes"?: number | null;
1979
+ "remaining_seconds": number;
1980
+ "score"?: number | null;
1981
+ "teacher_score"?: number | null;
1982
+ "passing_mark"?: number | null;
1983
+ "passed"?: boolean | null;
1984
+ "answered_count": number;
1985
+ "correct_count": number;
1986
+ "incorrect_count": number;
1987
+ "unanswered_count": number;
1988
+ "total_questions": number;
1989
+ "can_start": boolean;
1990
+ "can_answer": boolean;
1991
+ "questions": BackendJson<"DeliveryQuestionResponse">[];
1992
+ }
1993
+ export interface ExamSubmitAttemptPostResponse extends ApiEnvelope<ExamSubmitAttemptPostResponseData> {
1994
+ }
1806
1995
  /** Backend query type: PaginationQuery. */
1807
1996
  export interface ExamIndexQuestionGetQuery extends QueryParams {
1808
1997
  "page_number"?: number | null;
@@ -1923,9 +2112,14 @@ export interface ExamUpdateQuestionPatchResponse extends ApiEnvelope<ExamUpdateQ
1923
2112
  export interface ExamIndexSessionGetQuery extends QueryParams {
1924
2113
  "page_number"?: number | null;
1925
2114
  "page_size"?: number | null;
2115
+ "search"?: string | null;
1926
2116
  "status"?: string | null;
1927
2117
  "exam_id"?: string | null;
1928
2118
  "classroom_id"?: string | null;
2119
+ "user_id"?: string | null;
2120
+ "teacher_user_id"?: string | null;
2121
+ "consultant_user_id"?: string | null;
2122
+ "support_user_id"?: string | null;
1929
2123
  "from"?: string | null;
1930
2124
  "to"?: string | null;
1931
2125
  }
@@ -1936,6 +2130,16 @@ export interface ExamIndexSessionGetResponseItem extends JsonObject {
1936
2130
  "exam_name"?: string | null;
1937
2131
  "classroom_id"?: string | null;
1938
2132
  "classroom_name"?: string | null;
2133
+ "classroom_session_id"?: string | null;
2134
+ "name"?: string | null;
2135
+ "description"?: string | null;
2136
+ "info"?: string | null;
2137
+ "duration_minutes"?: number | null;
2138
+ "questions_count"?: number | null;
2139
+ "easy_count"?: number | null;
2140
+ "medium_count"?: number | null;
2141
+ "hard_count"?: number | null;
2142
+ "selection_mode": string;
1939
2143
  "teacher_user_id"?: string | null;
1940
2144
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1941
2145
  "consultant_user_id"?: string | null;
@@ -1945,7 +2149,12 @@ export interface ExamIndexSessionGetResponseItem extends JsonObject {
1945
2149
  "starts_at"?: string | null;
1946
2150
  "ends_at"?: string | null;
1947
2151
  "status": string;
2152
+ "attempts_total": number;
2153
+ "attempts_active": number;
2154
+ "attempts_completed": number;
2155
+ "average_score"?: number | null;
1948
2156
  "created_at": string;
2157
+ "updated_at": string;
1949
2158
  }
1950
2159
  export interface ExamIndexSessionGetResponsePageMeta extends JsonObject {
1951
2160
  "page": number;
@@ -1963,6 +2172,16 @@ export interface ExamIndexSessionGetResponse extends ApiEnvelope<ExamIndexSessio
1963
2172
  export interface ExamStoreSessionPostInput extends JsonObject {
1964
2173
  "exam_id": string;
1965
2174
  "classroom_id"?: string | null;
2175
+ "classroom_session_id"?: string | null;
2176
+ "name"?: string | null;
2177
+ "description"?: string | null;
2178
+ "info"?: string | null;
2179
+ "duration_minutes"?: number | null;
2180
+ "questions_count"?: number | null;
2181
+ "easy_count"?: number | null;
2182
+ "medium_count"?: number | null;
2183
+ "hard_count"?: number | null;
2184
+ "selection_mode"?: string | null;
1966
2185
  "teacher_user_id"?: string | null;
1967
2186
  "consultant_user_id"?: string | null;
1968
2187
  "support_user_id"?: string | null;
@@ -1977,6 +2196,16 @@ export interface ExamStoreSessionPostResponseData extends JsonObject {
1977
2196
  "exam_name"?: string | null;
1978
2197
  "classroom_id"?: string | null;
1979
2198
  "classroom_name"?: string | null;
2199
+ "classroom_session_id"?: string | null;
2200
+ "name"?: string | null;
2201
+ "description"?: string | null;
2202
+ "info"?: string | null;
2203
+ "duration_minutes"?: number | null;
2204
+ "questions_count"?: number | null;
2205
+ "easy_count"?: number | null;
2206
+ "medium_count"?: number | null;
2207
+ "hard_count"?: number | null;
2208
+ "selection_mode": string;
1980
2209
  "teacher_user_id"?: string | null;
1981
2210
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1982
2211
  "consultant_user_id"?: string | null;
@@ -1986,10 +2215,18 @@ export interface ExamStoreSessionPostResponseData extends JsonObject {
1986
2215
  "starts_at"?: string | null;
1987
2216
  "ends_at"?: string | null;
1988
2217
  "status": string;
2218
+ "attempts_total": number;
2219
+ "attempts_active": number;
2220
+ "attempts_completed": number;
2221
+ "average_score"?: number | null;
1989
2222
  "created_at": string;
2223
+ "updated_at": string;
1990
2224
  }
1991
2225
  export interface ExamStoreSessionPostResponse extends ApiEnvelope<ExamStoreSessionPostResponseData> {
1992
2226
  }
2227
+ /** Backend response type: serde_json::Value. */
2228
+ export interface ExamDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
2229
+ }
1993
2230
  /** Backend response type: models::SessionResponse. */
1994
2231
  export interface ExamShowSessionGetResponseData extends JsonObject {
1995
2232
  "id": string;
@@ -1997,6 +2234,16 @@ export interface ExamShowSessionGetResponseData extends JsonObject {
1997
2234
  "exam_name"?: string | null;
1998
2235
  "classroom_id"?: string | null;
1999
2236
  "classroom_name"?: string | null;
2237
+ "classroom_session_id"?: string | null;
2238
+ "name"?: string | null;
2239
+ "description"?: string | null;
2240
+ "info"?: string | null;
2241
+ "duration_minutes"?: number | null;
2242
+ "questions_count"?: number | null;
2243
+ "easy_count"?: number | null;
2244
+ "medium_count"?: number | null;
2245
+ "hard_count"?: number | null;
2246
+ "selection_mode": string;
2000
2247
  "teacher_user_id"?: string | null;
2001
2248
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2002
2249
  "consultant_user_id"?: string | null;
@@ -2006,19 +2253,34 @@ export interface ExamShowSessionGetResponseData extends JsonObject {
2006
2253
  "starts_at"?: string | null;
2007
2254
  "ends_at"?: string | null;
2008
2255
  "status": string;
2256
+ "attempts_total": number;
2257
+ "attempts_active": number;
2258
+ "attempts_completed": number;
2259
+ "average_score"?: number | null;
2009
2260
  "created_at": string;
2261
+ "updated_at": string;
2010
2262
  }
2011
2263
  export interface ExamShowSessionGetResponse extends ApiEnvelope<ExamShowSessionGetResponseData> {
2012
2264
  }
2013
2265
  /** Backend request type: models::UpdateSessionRequest. */
2014
2266
  export interface ExamUpdateSessionPatchInput extends JsonObject {
2015
2267
  "exam_id"?: string | null;
2016
- "classroom_id"?: string | null;
2017
- "teacher_user_id"?: string | null;
2018
- "consultant_user_id"?: string | null;
2019
- "support_user_id"?: string | null;
2020
- "starts_at"?: string | null;
2021
- "ends_at"?: string | null;
2268
+ "classroom_id"?: BackendJson<"PatchField<Uuid>">;
2269
+ "classroom_session_id"?: BackendJson<"PatchField<Uuid>">;
2270
+ "name"?: BackendJson<"PatchField<String>">;
2271
+ "description"?: BackendJson<"PatchField<String>">;
2272
+ "info"?: BackendJson<"PatchField<String>">;
2273
+ "duration_minutes"?: BackendJson<"PatchField<i32>">;
2274
+ "questions_count"?: BackendJson<"PatchField<i32>">;
2275
+ "easy_count"?: BackendJson<"PatchField<i32>">;
2276
+ "medium_count"?: BackendJson<"PatchField<i32>">;
2277
+ "hard_count"?: BackendJson<"PatchField<i32>">;
2278
+ "selection_mode"?: string | null;
2279
+ "teacher_user_id"?: BackendJson<"PatchField<String>">;
2280
+ "consultant_user_id"?: BackendJson<"PatchField<String>">;
2281
+ "support_user_id"?: BackendJson<"PatchField<String>">;
2282
+ "starts_at"?: BackendJson<"PatchField<String>">;
2283
+ "ends_at"?: BackendJson<"PatchField<String>">;
2022
2284
  "status"?: string | null;
2023
2285
  }
2024
2286
  /** Backend response type: models::SessionResponse. */
@@ -2028,6 +2290,16 @@ export interface ExamUpdateSessionPatchResponseData extends JsonObject {
2028
2290
  "exam_name"?: string | null;
2029
2291
  "classroom_id"?: string | null;
2030
2292
  "classroom_name"?: string | null;
2293
+ "classroom_session_id"?: string | null;
2294
+ "name"?: string | null;
2295
+ "description"?: string | null;
2296
+ "info"?: string | null;
2297
+ "duration_minutes"?: number | null;
2298
+ "questions_count"?: number | null;
2299
+ "easy_count"?: number | null;
2300
+ "medium_count"?: number | null;
2301
+ "hard_count"?: number | null;
2302
+ "selection_mode": string;
2031
2303
  "teacher_user_id"?: string | null;
2032
2304
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2033
2305
  "consultant_user_id"?: string | null;
@@ -2037,7 +2309,12 @@ export interface ExamUpdateSessionPatchResponseData extends JsonObject {
2037
2309
  "starts_at"?: string | null;
2038
2310
  "ends_at"?: string | null;
2039
2311
  "status": string;
2312
+ "attempts_total": number;
2313
+ "attempts_active": number;
2314
+ "attempts_completed": number;
2315
+ "average_score"?: number | null;
2040
2316
  "created_at": string;
2317
+ "updated_at": string;
2041
2318
  }
2042
2319
  export interface ExamUpdateSessionPatchResponse extends ApiEnvelope<ExamUpdateSessionPatchResponseData> {
2043
2320
  }
@@ -2048,6 +2325,9 @@ export interface HomeworkIndexHomeworkGetQuery extends QueryParams {
2048
2325
  "search"?: string | null;
2049
2326
  "status"?: string | null;
2050
2327
  "course_id"?: string | null;
2328
+ "user_id"?: string | null;
2329
+ "from"?: string | null;
2330
+ "to"?: string | null;
2051
2331
  }
2052
2332
  /** Backend response type: crate::models::PagedResult<models::HomeworkResponse>. */
2053
2333
  export interface HomeworkIndexHomeworkGetResponseItem extends JsonObject {
@@ -2144,6 +2424,9 @@ export interface HomeworkIndexAssignmentGetQuery extends QueryParams {
2144
2424
  "status"?: string | null;
2145
2425
  "homework_id"?: string | null;
2146
2426
  "classroom_id"?: string | null;
2427
+ "user_id"?: string | null;
2428
+ "from"?: string | null;
2429
+ "to"?: string | null;
2147
2430
  }
2148
2431
  /** Backend response type: crate::models::PagedResult<models::AssignmentResponse>. */
2149
2432
  export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
@@ -2160,6 +2443,7 @@ export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
2160
2443
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2161
2444
  "support_user_id"?: string | null;
2162
2445
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2446
+ "chat_conversation_id"?: string | null;
2163
2447
  "due_at"?: string | null;
2164
2448
  "status": string;
2165
2449
  "answer_text"?: string | null;
@@ -2207,6 +2491,7 @@ export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
2207
2491
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2208
2492
  "support_user_id"?: string | null;
2209
2493
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2494
+ "chat_conversation_id"?: string | null;
2210
2495
  "due_at"?: string | null;
2211
2496
  "status": string;
2212
2497
  "answer_text"?: string | null;
@@ -2231,6 +2516,7 @@ export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
2231
2516
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2232
2517
  "support_user_id"?: string | null;
2233
2518
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2519
+ "chat_conversation_id"?: string | null;
2234
2520
  "due_at"?: string | null;
2235
2521
  "status": string;
2236
2522
  "answer_text"?: string | null;
@@ -2248,6 +2534,7 @@ export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
2248
2534
  "teacher_user_id"?: string | null;
2249
2535
  "consultant_user_id"?: string | null;
2250
2536
  "support_user_id"?: string | null;
2537
+ "chat_conversation_id"?: string | null;
2251
2538
  "due_at"?: string | null;
2252
2539
  "status"?: string | null;
2253
2540
  "answer_text"?: string | null;
@@ -2268,6 +2555,7 @@ export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
2268
2555
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2269
2556
  "support_user_id"?: string | null;
2270
2557
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2558
+ "chat_conversation_id"?: string | null;
2271
2559
  "due_at"?: string | null;
2272
2560
  "status": string;
2273
2561
  "answer_text"?: string | null;
@@ -2435,31 +2723,26 @@ export interface ProfileRoutesIndexGetResponse extends ApiEnvelope<ProfileRoutes
2435
2723
  /** Backend response type: Option<ProfileSummary>. */
2436
2724
  export interface ProfileRoutesShowGetResponse extends ApiEnvelope<BackendJson<"ProfileSummary"> | null> {
2437
2725
  }
2438
- /** Backend response type: models::CertificateResponse. */
2726
+ /** Backend response type: models::PublicCertificateResponse. */
2439
2727
  export interface CertificateVerifyCertificateGetResponseData extends JsonObject {
2440
- "id": string;
2441
2728
  "public_id": string;
2442
- "user_id": string;
2443
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2444
- "course_id"?: string | null;
2445
- "classroom_id"?: string | null;
2446
2729
  "title": string;
2447
- "certificate_template_id"?: string | null;
2448
- "grade_id"?: string | null;
2730
+ "student_name": string;
2731
+ "course_name": string;
2732
+ "classroom_name": string;
2733
+ "score"?: number | null;
2734
+ "passing_mark"?: number | null;
2449
2735
  "status": string;
2450
- "verification_code"?: string | null;
2451
- "legacy_code"?: string | null;
2452
- "issued_by"?: string | null;
2736
+ "valid": boolean;
2737
+ "verification_code": string;
2453
2738
  "issued_at": string;
2454
- "media_url"?: string | null;
2455
- "revoked_at"?: string | null;
2456
- "revoke_reason"?: string | null;
2457
- "render_snapshot": JsonValue;
2458
- "created_at": string;
2459
- "updated_at": string;
2739
+ "image_url": string;
2460
2740
  }
2461
2741
  export interface CertificateVerifyCertificateGetResponse extends ApiEnvelope<CertificateVerifyCertificateGetResponseData> {
2462
2742
  }
2743
+ /** Backend response type: raw-response. */
2744
+ export interface CertificateRenderCertificateImageGetResponse extends ApiEnvelope<JsonValue> {
2745
+ }
2463
2746
  /** Backend query type: models::ReportQuery. */
2464
2747
  export interface ReportClassroomsGetQuery extends QueryParams {
2465
2748
  "from"?: string | null;