@faiber/faiber-lms 0.9.1 → 0.10.1

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;
@@ -1584,6 +1626,9 @@ export interface ExamIndexExamGetQuery extends QueryParams {
1584
1626
  "status"?: string | null;
1585
1627
  "course_id"?: string | null;
1586
1628
  "grade_id"?: string | null;
1629
+ "user_id"?: string | null;
1630
+ "from"?: string | null;
1631
+ "to"?: string | null;
1587
1632
  }
1588
1633
  /** Backend response type: crate::models::PagedResult<models::ExamResponse>. */
1589
1634
  export interface ExamIndexExamGetResponseItem extends JsonObject {
@@ -1726,6 +1771,9 @@ export interface ExamIndexAttemptGetQuery extends QueryParams {
1726
1771
  "page_size"?: number | null;
1727
1772
  "status"?: string | null;
1728
1773
  "exam_session_id"?: string | null;
1774
+ "user_id"?: string | null;
1775
+ "from"?: string | null;
1776
+ "to"?: string | null;
1729
1777
  }
1730
1778
  /** Backend response type: crate::models::PagedResult<models::AttemptResponse>. */
1731
1779
  export interface ExamIndexAttemptGetResponseItem extends JsonObject {
@@ -1735,6 +1783,8 @@ export interface ExamIndexAttemptGetResponseItem extends JsonObject {
1735
1783
  "exam_name"?: string | null;
1736
1784
  "classroom_id"?: string | null;
1737
1785
  "classroom_name"?: string | null;
1786
+ "course_id"?: string | null;
1787
+ "course_name"?: string | null;
1738
1788
  "user_id": string;
1739
1789
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1740
1790
  "score"?: number | null;
@@ -1768,6 +1818,8 @@ export interface ExamShowAttemptGetResponseData extends JsonObject {
1768
1818
  "exam_name"?: string | null;
1769
1819
  "classroom_id"?: string | null;
1770
1820
  "classroom_name"?: string | null;
1821
+ "course_id"?: string | null;
1822
+ "course_name"?: string | null;
1771
1823
  "user_id": string;
1772
1824
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1773
1825
  "score"?: number | null;
@@ -1800,6 +1852,8 @@ export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1800
1852
  "exam_name"?: string | null;
1801
1853
  "classroom_id"?: string | null;
1802
1854
  "classroom_name"?: string | null;
1855
+ "course_id"?: string | null;
1856
+ "course_name"?: string | null;
1803
1857
  "user_id": string;
1804
1858
  "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1805
1859
  "score"?: number | null;
@@ -1815,6 +1869,129 @@ export interface ExamUpdateAttemptPatchResponseData extends JsonObject {
1815
1869
  }
1816
1870
  export interface ExamUpdateAttemptPatchResponse extends ApiEnvelope<ExamUpdateAttemptPatchResponseData> {
1817
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
+ }
1818
1995
  /** Backend query type: PaginationQuery. */
1819
1996
  export interface ExamIndexQuestionGetQuery extends QueryParams {
1820
1997
  "page_number"?: number | null;
@@ -1935,9 +2112,14 @@ export interface ExamUpdateQuestionPatchResponse extends ApiEnvelope<ExamUpdateQ
1935
2112
  export interface ExamIndexSessionGetQuery extends QueryParams {
1936
2113
  "page_number"?: number | null;
1937
2114
  "page_size"?: number | null;
2115
+ "search"?: string | null;
1938
2116
  "status"?: string | null;
1939
2117
  "exam_id"?: string | null;
1940
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;
1941
2123
  "from"?: string | null;
1942
2124
  "to"?: string | null;
1943
2125
  }
@@ -1948,6 +2130,16 @@ export interface ExamIndexSessionGetResponseItem extends JsonObject {
1948
2130
  "exam_name"?: string | null;
1949
2131
  "classroom_id"?: string | null;
1950
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;
1951
2143
  "teacher_user_id"?: string | null;
1952
2144
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1953
2145
  "consultant_user_id"?: string | null;
@@ -1957,7 +2149,12 @@ export interface ExamIndexSessionGetResponseItem extends JsonObject {
1957
2149
  "starts_at"?: string | null;
1958
2150
  "ends_at"?: string | null;
1959
2151
  "status": string;
2152
+ "attempts_total": number;
2153
+ "attempts_active": number;
2154
+ "attempts_completed": number;
2155
+ "average_score"?: number | null;
1960
2156
  "created_at": string;
2157
+ "updated_at": string;
1961
2158
  }
1962
2159
  export interface ExamIndexSessionGetResponsePageMeta extends JsonObject {
1963
2160
  "page": number;
@@ -1975,6 +2172,16 @@ export interface ExamIndexSessionGetResponse extends ApiEnvelope<ExamIndexSessio
1975
2172
  export interface ExamStoreSessionPostInput extends JsonObject {
1976
2173
  "exam_id": string;
1977
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;
1978
2185
  "teacher_user_id"?: string | null;
1979
2186
  "consultant_user_id"?: string | null;
1980
2187
  "support_user_id"?: string | null;
@@ -1989,6 +2196,16 @@ export interface ExamStoreSessionPostResponseData extends JsonObject {
1989
2196
  "exam_name"?: string | null;
1990
2197
  "classroom_id"?: string | null;
1991
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;
1992
2209
  "teacher_user_id"?: string | null;
1993
2210
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
1994
2211
  "consultant_user_id"?: string | null;
@@ -1998,10 +2215,18 @@ export interface ExamStoreSessionPostResponseData extends JsonObject {
1998
2215
  "starts_at"?: string | null;
1999
2216
  "ends_at"?: string | null;
2000
2217
  "status": string;
2218
+ "attempts_total": number;
2219
+ "attempts_active": number;
2220
+ "attempts_completed": number;
2221
+ "average_score"?: number | null;
2001
2222
  "created_at": string;
2223
+ "updated_at": string;
2002
2224
  }
2003
2225
  export interface ExamStoreSessionPostResponse extends ApiEnvelope<ExamStoreSessionPostResponseData> {
2004
2226
  }
2227
+ /** Backend response type: serde_json::Value. */
2228
+ export interface ExamDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
2229
+ }
2005
2230
  /** Backend response type: models::SessionResponse. */
2006
2231
  export interface ExamShowSessionGetResponseData extends JsonObject {
2007
2232
  "id": string;
@@ -2009,6 +2234,16 @@ export interface ExamShowSessionGetResponseData extends JsonObject {
2009
2234
  "exam_name"?: string | null;
2010
2235
  "classroom_id"?: string | null;
2011
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;
2012
2247
  "teacher_user_id"?: string | null;
2013
2248
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2014
2249
  "consultant_user_id"?: string | null;
@@ -2018,19 +2253,34 @@ export interface ExamShowSessionGetResponseData extends JsonObject {
2018
2253
  "starts_at"?: string | null;
2019
2254
  "ends_at"?: string | null;
2020
2255
  "status": string;
2256
+ "attempts_total": number;
2257
+ "attempts_active": number;
2258
+ "attempts_completed": number;
2259
+ "average_score"?: number | null;
2021
2260
  "created_at": string;
2261
+ "updated_at": string;
2022
2262
  }
2023
2263
  export interface ExamShowSessionGetResponse extends ApiEnvelope<ExamShowSessionGetResponseData> {
2024
2264
  }
2025
2265
  /** Backend request type: models::UpdateSessionRequest. */
2026
2266
  export interface ExamUpdateSessionPatchInput extends JsonObject {
2027
2267
  "exam_id"?: string | null;
2028
- "classroom_id"?: string | null;
2029
- "teacher_user_id"?: string | null;
2030
- "consultant_user_id"?: string | null;
2031
- "support_user_id"?: string | null;
2032
- "starts_at"?: string | null;
2033
- "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>">;
2034
2284
  "status"?: string | null;
2035
2285
  }
2036
2286
  /** Backend response type: models::SessionResponse. */
@@ -2040,6 +2290,16 @@ export interface ExamUpdateSessionPatchResponseData extends JsonObject {
2040
2290
  "exam_name"?: string | null;
2041
2291
  "classroom_id"?: string | null;
2042
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;
2043
2303
  "teacher_user_id"?: string | null;
2044
2304
  "teacher_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2045
2305
  "consultant_user_id"?: string | null;
@@ -2049,7 +2309,12 @@ export interface ExamUpdateSessionPatchResponseData extends JsonObject {
2049
2309
  "starts_at"?: string | null;
2050
2310
  "ends_at"?: string | null;
2051
2311
  "status": string;
2312
+ "attempts_total": number;
2313
+ "attempts_active": number;
2314
+ "attempts_completed": number;
2315
+ "average_score"?: number | null;
2052
2316
  "created_at": string;
2317
+ "updated_at": string;
2053
2318
  }
2054
2319
  export interface ExamUpdateSessionPatchResponse extends ApiEnvelope<ExamUpdateSessionPatchResponseData> {
2055
2320
  }
@@ -2060,6 +2325,9 @@ export interface HomeworkIndexHomeworkGetQuery extends QueryParams {
2060
2325
  "search"?: string | null;
2061
2326
  "status"?: string | null;
2062
2327
  "course_id"?: string | null;
2328
+ "user_id"?: string | null;
2329
+ "from"?: string | null;
2330
+ "to"?: string | null;
2063
2331
  }
2064
2332
  /** Backend response type: crate::models::PagedResult<models::HomeworkResponse>. */
2065
2333
  export interface HomeworkIndexHomeworkGetResponseItem extends JsonObject {
@@ -2156,6 +2424,9 @@ export interface HomeworkIndexAssignmentGetQuery extends QueryParams {
2156
2424
  "status"?: string | null;
2157
2425
  "homework_id"?: string | null;
2158
2426
  "classroom_id"?: string | null;
2427
+ "user_id"?: string | null;
2428
+ "from"?: string | null;
2429
+ "to"?: string | null;
2159
2430
  }
2160
2431
  /** Backend response type: crate::models::PagedResult<models::AssignmentResponse>. */
2161
2432
  export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
@@ -2172,6 +2443,7 @@ export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
2172
2443
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2173
2444
  "support_user_id"?: string | null;
2174
2445
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2446
+ "chat_conversation_id"?: string | null;
2175
2447
  "due_at"?: string | null;
2176
2448
  "status": string;
2177
2449
  "answer_text"?: string | null;
@@ -2219,6 +2491,7 @@ export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
2219
2491
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2220
2492
  "support_user_id"?: string | null;
2221
2493
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2494
+ "chat_conversation_id"?: string | null;
2222
2495
  "due_at"?: string | null;
2223
2496
  "status": string;
2224
2497
  "answer_text"?: string | null;
@@ -2243,6 +2516,7 @@ export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
2243
2516
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2244
2517
  "support_user_id"?: string | null;
2245
2518
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2519
+ "chat_conversation_id"?: string | null;
2246
2520
  "due_at"?: string | null;
2247
2521
  "status": string;
2248
2522
  "answer_text"?: string | null;
@@ -2260,6 +2534,7 @@ export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
2260
2534
  "teacher_user_id"?: string | null;
2261
2535
  "consultant_user_id"?: string | null;
2262
2536
  "support_user_id"?: string | null;
2537
+ "chat_conversation_id"?: string | null;
2263
2538
  "due_at"?: string | null;
2264
2539
  "status"?: string | null;
2265
2540
  "answer_text"?: string | null;
@@ -2280,6 +2555,7 @@ export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
2280
2555
  "consultant_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2281
2556
  "support_user_id"?: string | null;
2282
2557
  "support_profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2558
+ "chat_conversation_id"?: string | null;
2283
2559
  "due_at"?: string | null;
2284
2560
  "status": string;
2285
2561
  "answer_text"?: string | null;
@@ -2447,31 +2723,26 @@ export interface ProfileRoutesIndexGetResponse extends ApiEnvelope<ProfileRoutes
2447
2723
  /** Backend response type: Option<ProfileSummary>. */
2448
2724
  export interface ProfileRoutesShowGetResponse extends ApiEnvelope<BackendJson<"ProfileSummary"> | null> {
2449
2725
  }
2450
- /** Backend response type: models::CertificateResponse. */
2726
+ /** Backend response type: models::PublicCertificateResponse. */
2451
2727
  export interface CertificateVerifyCertificateGetResponseData extends JsonObject {
2452
- "id": string;
2453
2728
  "public_id": string;
2454
- "user_id": string;
2455
- "profile"?: BackendJson<"crate::profile::ProfileSummary"> | null;
2456
- "course_id"?: string | null;
2457
- "classroom_id"?: string | null;
2458
2729
  "title": string;
2459
- "certificate_template_id"?: string | null;
2460
- "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;
2461
2735
  "status": string;
2462
- "verification_code"?: string | null;
2463
- "legacy_code"?: string | null;
2464
- "issued_by"?: string | null;
2736
+ "valid": boolean;
2737
+ "verification_code": string;
2465
2738
  "issued_at": string;
2466
- "media_url"?: string | null;
2467
- "revoked_at"?: string | null;
2468
- "revoke_reason"?: string | null;
2469
- "render_snapshot": JsonValue;
2470
- "created_at": string;
2471
- "updated_at": string;
2739
+ "image_url": string;
2472
2740
  }
2473
2741
  export interface CertificateVerifyCertificateGetResponse extends ApiEnvelope<CertificateVerifyCertificateGetResponseData> {
2474
2742
  }
2743
+ /** Backend response type: raw-response. */
2744
+ export interface CertificateRenderCertificateImageGetResponse extends ApiEnvelope<JsonValue> {
2745
+ }
2475
2746
  /** Backend query type: models::ReportQuery. */
2476
2747
  export interface ReportClassroomsGetQuery extends QueryParams {
2477
2748
  "from"?: string | null;