@faiber/faiber-lms 0.2.2 → 0.5.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.
@@ -1,8 +1,32 @@
1
1
  import type { ApiEnvelope, JsonObject, JsonValue, QueryParams } from "@faiber/sdk-core";
2
2
  /** Generated route contracts. Dynamic payload members remain JSON-safe and are documented with their Rust source type. */
3
- /** Backend response type: response without a declared JSON model. */
3
+ /** Backend response type: handler-defined response. */
4
4
  export interface RouterOpenapiJsonGetResponse extends ApiEnvelope<JsonValue> {
5
5
  }
6
+ /** Backend request type: SubmitExamRequest. */
7
+ export type AcademySubmitExamPostInput = import("./types.js").AcademySubmitExamInput;
8
+ /** Backend response type: Value. */
9
+ export type AcademySubmitExamPostResponse = import("./types.js").AcademyExamResultResponse;
10
+ /** Backend response type: Value. */
11
+ export type AcademyCategoriesGetResponse = import("./types.js").AcademyCategoriesResponse;
12
+ /** Backend query type: CatalogQuery. */
13
+ export interface AcademyCoursesGetQuery extends QueryParams {
14
+ "category_id"?: number | null;
15
+ }
16
+ /** Backend response type: Value. */
17
+ export type AcademyCoursesGetResponse = import("./types.js").AcademyCoursesResponse;
18
+ /** Backend response type: Value. */
19
+ export type AcademyCourseGetResponse = import("./types.js").AcademyCourseResponse;
20
+ /** Backend response type: Value. */
21
+ export type AcademyEnrollPostResponse = import("./types.js").AcademyEnrollmentStartResponse;
22
+ /** Backend response type: Value. */
23
+ export type AcademyMyEnrollmentsGetResponse = import("./types.js").AcademyEnrollmentsResponse;
24
+ /** Backend response type: Value. */
25
+ export type AcademyStartExamPostResponse = import("./types.js").AcademyExamAttemptResponse;
26
+ /** Backend request type: CompleteRequest. */
27
+ export type AcademyCompleteSessionPostInput = import("./types.js").AcademyCompleteSessionInput;
28
+ /** Backend response type: Value. */
29
+ export type AcademyCompleteSessionPostResponse = import("./types.js").AcademySessionCompletionResponse;
6
30
  /** Backend response type: SessionResponse. */
7
31
  export interface SessionGetSelfGetResponseData extends JsonObject {
8
32
  "user_id": string;
@@ -13,18 +37,18 @@ export interface SessionGetSelfGetResponse extends ApiEnvelope<SessionGetSelfGet
13
37
  }
14
38
  /** Backend query type: PaginationQuery. */
15
39
  export interface CertificateIndexCertificateGetQuery extends QueryParams {
16
- "page[number]"?: number;
17
- "page[size]"?: number;
40
+ "page_number"?: number | null;
41
+ "page_size"?: number | null;
18
42
  }
19
43
  /** Backend response type: crate::models::PagedResult<models::CertificateResponse>. */
20
44
  export interface CertificateIndexCertificateGetResponseItem extends JsonObject {
21
45
  "id": number;
22
46
  "user_id": string;
23
- "course_id"?: number;
24
- "classroom_id"?: number;
47
+ "course_id"?: number | null;
48
+ "classroom_id"?: number | null;
25
49
  "title": string;
26
50
  "issued_at": string;
27
- "media_url"?: string;
51
+ "media_url"?: string | null;
28
52
  "created_at": string;
29
53
  }
30
54
  export interface CertificateIndexCertificateGetResponsePageMeta extends JsonObject {
@@ -42,21 +66,21 @@ export interface CertificateIndexCertificateGetResponse extends ApiEnvelope<Cert
42
66
  /** Backend request type: models::CreateCertificateRequest. */
43
67
  export interface CertificateStoreCertificatePostInput extends JsonObject {
44
68
  "user_id": string;
45
- "course_id"?: number;
46
- "classroom_id"?: number;
69
+ "course_id"?: number | null;
70
+ "classroom_id"?: number | null;
47
71
  "title": string;
48
72
  "issued_at": string;
49
- "media_url"?: string;
73
+ "media_url"?: string | null;
50
74
  }
51
75
  /** Backend response type: models::CertificateResponse. */
52
76
  export interface CertificateStoreCertificatePostResponseData extends JsonObject {
53
77
  "id": number;
54
78
  "user_id": string;
55
- "course_id"?: number;
56
- "classroom_id"?: number;
79
+ "course_id"?: number | null;
80
+ "classroom_id"?: number | null;
57
81
  "title": string;
58
82
  "issued_at": string;
59
- "media_url"?: string;
83
+ "media_url"?: string | null;
60
84
  "created_at": string;
61
85
  }
62
86
  export interface CertificateStoreCertificatePostResponse extends ApiEnvelope<CertificateStoreCertificatePostResponseData> {
@@ -65,55 +89,55 @@ export interface CertificateStoreCertificatePostResponse extends ApiEnvelope<Cer
65
89
  export interface CertificateShowCertificateGetResponseData extends JsonObject {
66
90
  "id": number;
67
91
  "user_id": string;
68
- "course_id"?: number;
69
- "classroom_id"?: number;
92
+ "course_id"?: number | null;
93
+ "classroom_id"?: number | null;
70
94
  "title": string;
71
95
  "issued_at": string;
72
- "media_url"?: string;
96
+ "media_url"?: string | null;
73
97
  "created_at": string;
74
98
  }
75
99
  export interface CertificateShowCertificateGetResponse extends ApiEnvelope<CertificateShowCertificateGetResponseData> {
76
100
  }
77
101
  /** Backend request type: models::UpdateCertificateRequest. */
78
102
  export interface CertificateUpdateCertificatePatchInput extends JsonObject {
79
- "user_id"?: string;
80
- "course_id"?: number;
81
- "classroom_id"?: number;
82
- "title"?: string;
83
- "issued_at"?: string;
84
- "media_url"?: string;
103
+ "user_id"?: string | null;
104
+ "course_id"?: number | null;
105
+ "classroom_id"?: number | null;
106
+ "title"?: string | null;
107
+ "issued_at"?: string | null;
108
+ "media_url"?: string | null;
85
109
  }
86
110
  /** Backend response type: models::CertificateResponse. */
87
111
  export interface CertificateUpdateCertificatePatchResponseData extends JsonObject {
88
112
  "id": number;
89
113
  "user_id": string;
90
- "course_id"?: number;
91
- "classroom_id"?: number;
114
+ "course_id"?: number | null;
115
+ "classroom_id"?: number | null;
92
116
  "title": string;
93
117
  "issued_at": string;
94
- "media_url"?: string;
118
+ "media_url"?: string | null;
95
119
  "created_at": string;
96
120
  }
97
121
  export interface CertificateUpdateCertificatePatchResponse extends ApiEnvelope<CertificateUpdateCertificatePatchResponseData> {
98
122
  }
99
123
  /** Backend query type: PaginationQuery. */
100
124
  export interface ClassroomIndexClassroomGetQuery extends QueryParams {
101
- "page[number]"?: number;
102
- "page[size]"?: number;
125
+ "page_number"?: number | null;
126
+ "page_size"?: number | null;
103
127
  }
104
128
  /** Backend response type: crate::models::PagedResult<models::ClassroomResponse>. */
105
129
  export interface ClassroomIndexClassroomGetResponseItem extends JsonObject {
106
130
  "id": number;
107
131
  "course_id": number;
108
132
  "name": string;
109
- "code"?: string;
110
- "classroom_type_id"?: number;
111
- "school_grade_id"?: number;
112
- "teacher_user_id"?: string;
113
- "consultant_user_id"?: string;
114
- "capacity"?: number;
115
- "starts_at"?: string;
116
- "ends_at"?: string;
133
+ "code"?: string | null;
134
+ "classroom_type_id"?: number | null;
135
+ "school_grade_id"?: number | null;
136
+ "teacher_user_id"?: string | null;
137
+ "consultant_user_id"?: string | null;
138
+ "capacity"?: number | null;
139
+ "starts_at"?: string | null;
140
+ "ends_at"?: string | null;
117
141
  "status": string;
118
142
  "created_at": string;
119
143
  "updated_at": string;
@@ -134,14 +158,14 @@ export interface ClassroomIndexClassroomGetResponse extends ApiEnvelope<Classroo
134
158
  export interface ClassroomStoreClassroomPostInput extends JsonObject {
135
159
  "course_id": number;
136
160
  "name": string;
137
- "code"?: string;
138
- "classroom_type_id"?: number;
139
- "school_grade_id"?: number;
140
- "teacher_user_id"?: string;
141
- "consultant_user_id"?: string;
142
- "capacity"?: number;
143
- "starts_at"?: string;
144
- "ends_at"?: string;
161
+ "code"?: string | null;
162
+ "classroom_type_id"?: number | null;
163
+ "school_grade_id"?: number | null;
164
+ "teacher_user_id"?: string | null;
165
+ "consultant_user_id"?: string | null;
166
+ "capacity"?: number | null;
167
+ "starts_at"?: string | null;
168
+ "ends_at"?: string | null;
145
169
  "status": string;
146
170
  }
147
171
  /** Backend response type: models::ClassroomResponse. */
@@ -149,14 +173,14 @@ export interface ClassroomStoreClassroomPostResponseData extends JsonObject {
149
173
  "id": number;
150
174
  "course_id": number;
151
175
  "name": string;
152
- "code"?: string;
153
- "classroom_type_id"?: number;
154
- "school_grade_id"?: number;
155
- "teacher_user_id"?: string;
156
- "consultant_user_id"?: string;
157
- "capacity"?: number;
158
- "starts_at"?: string;
159
- "ends_at"?: string;
176
+ "code"?: string | null;
177
+ "classroom_type_id"?: number | null;
178
+ "school_grade_id"?: number | null;
179
+ "teacher_user_id"?: string | null;
180
+ "consultant_user_id"?: string | null;
181
+ "capacity"?: number | null;
182
+ "starts_at"?: string | null;
183
+ "ends_at"?: string | null;
160
184
  "status": string;
161
185
  "created_at": string;
162
186
  "updated_at": string;
@@ -168,14 +192,14 @@ export interface ClassroomShowClassroomGetResponseData extends JsonObject {
168
192
  "id": number;
169
193
  "course_id": number;
170
194
  "name": string;
171
- "code"?: string;
172
- "classroom_type_id"?: number;
173
- "school_grade_id"?: number;
174
- "teacher_user_id"?: string;
175
- "consultant_user_id"?: string;
176
- "capacity"?: number;
177
- "starts_at"?: string;
178
- "ends_at"?: string;
195
+ "code"?: string | null;
196
+ "classroom_type_id"?: number | null;
197
+ "school_grade_id"?: number | null;
198
+ "teacher_user_id"?: string | null;
199
+ "consultant_user_id"?: string | null;
200
+ "capacity"?: number | null;
201
+ "starts_at"?: string | null;
202
+ "ends_at"?: string | null;
179
203
  "status": string;
180
204
  "created_at": string;
181
205
  "updated_at": string;
@@ -184,31 +208,31 @@ export interface ClassroomShowClassroomGetResponse extends ApiEnvelope<Classroom
184
208
  }
185
209
  /** Backend request type: models::UpdateClassroomRequest. */
186
210
  export interface ClassroomUpdateClassroomPatchInput extends JsonObject {
187
- "course_id"?: number;
188
- "name"?: string;
189
- "code"?: string;
190
- "classroom_type_id"?: number;
191
- "school_grade_id"?: number;
192
- "teacher_user_id"?: string;
193
- "consultant_user_id"?: string;
194
- "capacity"?: number;
195
- "starts_at"?: string;
196
- "ends_at"?: string;
197
- "status"?: string;
211
+ "course_id"?: number | null;
212
+ "name"?: string | null;
213
+ "code"?: string | null;
214
+ "classroom_type_id"?: number | null;
215
+ "school_grade_id"?: number | null;
216
+ "teacher_user_id"?: string | null;
217
+ "consultant_user_id"?: string | null;
218
+ "capacity"?: number | null;
219
+ "starts_at"?: string | null;
220
+ "ends_at"?: string | null;
221
+ "status"?: string | null;
198
222
  }
199
223
  /** Backend response type: models::ClassroomResponse. */
200
224
  export interface ClassroomUpdateClassroomPatchResponseData extends JsonObject {
201
225
  "id": number;
202
226
  "course_id": number;
203
227
  "name": string;
204
- "code"?: string;
205
- "classroom_type_id"?: number;
206
- "school_grade_id"?: number;
207
- "teacher_user_id"?: string;
208
- "consultant_user_id"?: string;
209
- "capacity"?: number;
210
- "starts_at"?: string;
211
- "ends_at"?: string;
228
+ "code"?: string | null;
229
+ "classroom_type_id"?: number | null;
230
+ "school_grade_id"?: number | null;
231
+ "teacher_user_id"?: string | null;
232
+ "consultant_user_id"?: string | null;
233
+ "capacity"?: number | null;
234
+ "starts_at"?: string | null;
235
+ "ends_at"?: string | null;
212
236
  "status": string;
213
237
  "created_at": string;
214
238
  "updated_at": string;
@@ -217,15 +241,15 @@ export interface ClassroomUpdateClassroomPatchResponse extends ApiEnvelope<Class
217
241
  }
218
242
  /** Backend query type: PaginationQuery. */
219
243
  export interface ClassroomIndexClassroomUsersGetQuery extends QueryParams {
220
- "page[number]"?: number;
221
- "page[size]"?: number;
244
+ "page_number"?: number | null;
245
+ "page_size"?: number | null;
222
246
  }
223
247
  /** Backend response type: crate::models::PagedResult<models::ClassroomUserResponse>. */
224
248
  export interface ClassroomIndexClassroomUsersGetResponseItem extends JsonObject {
225
249
  "id": number;
226
250
  "classroom_id": number;
227
251
  "user_id": string;
228
- "score"?: number;
252
+ "score"?: number | null;
229
253
  "status": string;
230
254
  "created_at": string;
231
255
  "updated_at": string;
@@ -245,15 +269,15 @@ export interface ClassroomIndexClassroomUsersGetResponse extends ApiEnvelope<Cla
245
269
  /** Backend request type: models::EnrollClassroomUserRequest. */
246
270
  export interface ClassroomEnrollClassroomUserPostInput extends JsonObject {
247
271
  "user_id": string;
248
- "score"?: number;
249
- "status"?: string;
272
+ "score"?: number | null;
273
+ "status"?: string | null;
250
274
  }
251
275
  /** Backend response type: models::ClassroomUserResponse. */
252
276
  export interface ClassroomEnrollClassroomUserPostResponseData extends JsonObject {
253
277
  "id": number;
254
278
  "classroom_id": number;
255
279
  "user_id": string;
256
- "score"?: number;
280
+ "score"?: number | null;
257
281
  "status": string;
258
282
  "created_at": string;
259
283
  "updated_at": string;
@@ -265,15 +289,15 @@ export interface ClassroomRemoveClassroomUserDeleteResponse extends ApiEnvelope<
265
289
  }
266
290
  /** Backend request type: models::UpdateClassroomUserRequest. */
267
291
  export interface ClassroomUpdateClassroomUserPatchInput extends JsonObject {
268
- "score"?: number;
269
- "status"?: string;
292
+ "score"?: number | null;
293
+ "status"?: string | null;
270
294
  }
271
295
  /** Backend response type: models::ClassroomUserResponse. */
272
296
  export interface ClassroomUpdateClassroomUserPatchResponseData extends JsonObject {
273
297
  "id": number;
274
298
  "classroom_id": number;
275
299
  "user_id": string;
276
- "score"?: number;
300
+ "score"?: number | null;
277
301
  "status": string;
278
302
  "created_at": string;
279
303
  "updated_at": string;
@@ -282,17 +306,17 @@ export interface ClassroomUpdateClassroomUserPatchResponse extends ApiEnvelope<C
282
306
  }
283
307
  /** Backend query type: PaginationQuery. */
284
308
  export interface ClassroomIndexSessionGetQuery extends QueryParams {
285
- "page[number]"?: number;
286
- "page[size]"?: number;
309
+ "page_number"?: number | null;
310
+ "page_size"?: number | null;
287
311
  }
288
312
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
289
313
  export interface ClassroomIndexSessionGetResponseItem extends JsonObject {
290
314
  "id": number;
291
315
  "classroom_id": number;
292
- "course_session_id"?: number;
293
- "name"?: string;
294
- "starts_at"?: string;
295
- "ends_at"?: string;
316
+ "course_session_id"?: number | null;
317
+ "name"?: string | null;
318
+ "starts_at"?: string | null;
319
+ "ends_at"?: string | null;
296
320
  "status": string;
297
321
  "created_at": string;
298
322
  "updated_at": string;
@@ -312,20 +336,20 @@ export interface ClassroomIndexSessionGetResponse extends ApiEnvelope<ClassroomI
312
336
  /** Backend request type: models::CreateSessionRequest. */
313
337
  export interface ClassroomStoreSessionPostInput extends JsonObject {
314
338
  "classroom_id": number;
315
- "course_session_id"?: number;
316
- "name"?: string;
317
- "starts_at"?: string;
318
- "ends_at"?: string;
339
+ "course_session_id"?: number | null;
340
+ "name"?: string | null;
341
+ "starts_at"?: string | null;
342
+ "ends_at"?: string | null;
319
343
  "status": string;
320
344
  }
321
345
  /** Backend response type: models::SessionResponse. */
322
346
  export interface ClassroomStoreSessionPostResponseData extends JsonObject {
323
347
  "id": number;
324
348
  "classroom_id": number;
325
- "course_session_id"?: number;
326
- "name"?: string;
327
- "starts_at"?: string;
328
- "ends_at"?: string;
349
+ "course_session_id"?: number | null;
350
+ "name"?: string | null;
351
+ "starts_at"?: string | null;
352
+ "ends_at"?: string | null;
329
353
  "status": string;
330
354
  "created_at": string;
331
355
  "updated_at": string;
@@ -336,10 +360,10 @@ export interface ClassroomStoreSessionPostResponse extends ApiEnvelope<Classroom
336
360
  export interface ClassroomShowSessionGetResponseData extends JsonObject {
337
361
  "id": number;
338
362
  "classroom_id": number;
339
- "course_session_id"?: number;
340
- "name"?: string;
341
- "starts_at"?: string;
342
- "ends_at"?: string;
363
+ "course_session_id"?: number | null;
364
+ "name"?: string | null;
365
+ "starts_at"?: string | null;
366
+ "ends_at"?: string | null;
343
367
  "status": string;
344
368
  "created_at": string;
345
369
  "updated_at": string;
@@ -348,21 +372,21 @@ export interface ClassroomShowSessionGetResponse extends ApiEnvelope<ClassroomSh
348
372
  }
349
373
  /** Backend request type: models::UpdateSessionRequest. */
350
374
  export interface ClassroomUpdateSessionPatchInput extends JsonObject {
351
- "classroom_id"?: number;
352
- "course_session_id"?: number;
353
- "name"?: string;
354
- "starts_at"?: string;
355
- "ends_at"?: string;
356
- "status"?: string;
375
+ "classroom_id"?: number | null;
376
+ "course_session_id"?: number | null;
377
+ "name"?: string | null;
378
+ "starts_at"?: string | null;
379
+ "ends_at"?: string | null;
380
+ "status"?: string | null;
357
381
  }
358
382
  /** Backend response type: models::SessionResponse. */
359
383
  export interface ClassroomUpdateSessionPatchResponseData extends JsonObject {
360
384
  "id": number;
361
385
  "classroom_id": number;
362
- "course_session_id"?: number;
363
- "name"?: string;
364
- "starts_at"?: string;
365
- "ends_at"?: string;
386
+ "course_session_id"?: number | null;
387
+ "name"?: string | null;
388
+ "starts_at"?: string | null;
389
+ "ends_at"?: string | null;
366
390
  "status": string;
367
391
  "created_at": string;
368
392
  "updated_at": string;
@@ -371,8 +395,8 @@ export interface ClassroomUpdateSessionPatchResponse extends ApiEnvelope<Classro
371
395
  }
372
396
  /** Backend query type: PaginationQuery. */
373
397
  export interface ClassroomIndexAbsencesGetQuery extends QueryParams {
374
- "page[number]"?: number;
375
- "page[size]"?: number;
398
+ "page_number"?: number | null;
399
+ "page_size"?: number | null;
376
400
  }
377
401
  /** Backend response type: crate::models::PagedResult<models::AbsenceResponse>. */
378
402
  export interface ClassroomIndexAbsencesGetResponseItem extends JsonObject {
@@ -380,7 +404,7 @@ export interface ClassroomIndexAbsencesGetResponseItem extends JsonObject {
380
404
  "classroom_session_id": number;
381
405
  "user_id": string;
382
406
  "status": string;
383
- "absence_reason"?: string;
407
+ "absence_reason"?: string | null;
384
408
  "created_at": string;
385
409
  }
386
410
  export interface ClassroomIndexAbsencesGetResponsePageMeta extends JsonObject {
@@ -397,15 +421,15 @@ export interface ClassroomIndexAbsencesGetResponse extends ApiEnvelope<Classroom
397
421
  }
398
422
  /** Backend query type: PaginationQuery. */
399
423
  export interface OpsIndexClubProjectGetQuery extends QueryParams {
400
- "page[number]"?: number;
401
- "page[size]"?: number;
424
+ "page_number"?: number | null;
425
+ "page_size"?: number | null;
402
426
  }
403
427
  /** Backend response type: crate::models::PagedResult<models::ClubProjectResponse>. */
404
428
  export interface OpsIndexClubProjectGetResponseItem extends JsonObject {
405
429
  "id": number;
406
430
  "name": string;
407
- "description"?: string;
408
- "owner_user_id"?: string;
431
+ "description"?: string | null;
432
+ "owner_user_id"?: string | null;
409
433
  "status": string;
410
434
  "created_at": string;
411
435
  }
@@ -424,16 +448,16 @@ export interface OpsIndexClubProjectGetResponse extends ApiEnvelope<OpsIndexClub
424
448
  /** Backend request type: models::CreateClubProjectRequest. */
425
449
  export interface OpsStoreClubProjectPostInput extends JsonObject {
426
450
  "name": string;
427
- "description"?: string;
428
- "owner_user_id"?: string;
451
+ "description"?: string | null;
452
+ "owner_user_id"?: string | null;
429
453
  "status": string;
430
454
  }
431
455
  /** Backend response type: models::ClubProjectResponse. */
432
456
  export interface OpsStoreClubProjectPostResponseData extends JsonObject {
433
457
  "id": number;
434
458
  "name": string;
435
- "description"?: string;
436
- "owner_user_id"?: string;
459
+ "description"?: string | null;
460
+ "owner_user_id"?: string | null;
437
461
  "status": string;
438
462
  "created_at": string;
439
463
  }
@@ -443,8 +467,8 @@ export interface OpsStoreClubProjectPostResponse extends ApiEnvelope<OpsStoreClu
443
467
  export interface OpsShowClubProjectGetResponseData extends JsonObject {
444
468
  "id": number;
445
469
  "name": string;
446
- "description"?: string;
447
- "owner_user_id"?: string;
470
+ "description"?: string | null;
471
+ "owner_user_id"?: string | null;
448
472
  "status": string;
449
473
  "created_at": string;
450
474
  }
@@ -452,17 +476,17 @@ export interface OpsShowClubProjectGetResponse extends ApiEnvelope<OpsShowClubPr
452
476
  }
453
477
  /** Backend request type: models::UpdateClubProjectRequest. */
454
478
  export interface OpsUpdateClubProjectPatchInput extends JsonObject {
455
- "name"?: string;
456
- "description"?: string;
457
- "owner_user_id"?: string;
458
- "status"?: string;
479
+ "name"?: string | null;
480
+ "description"?: string | null;
481
+ "owner_user_id"?: string | null;
482
+ "status"?: string | null;
459
483
  }
460
484
  /** Backend response type: models::ClubProjectResponse. */
461
485
  export interface OpsUpdateClubProjectPatchResponseData extends JsonObject {
462
486
  "id": number;
463
487
  "name": string;
464
- "description"?: string;
465
- "owner_user_id"?: string;
488
+ "description"?: string | null;
489
+ "owner_user_id"?: string | null;
466
490
  "status": string;
467
491
  "created_at": string;
468
492
  }
@@ -470,8 +494,8 @@ export interface OpsUpdateClubProjectPatchResponse extends ApiEnvelope<OpsUpdate
470
494
  }
471
495
  /** Backend query type: PaginationQuery. */
472
496
  export interface ConfigIndexClassroomTypeGetQuery extends QueryParams {
473
- "page[number]"?: number;
474
- "page[size]"?: number;
497
+ "page_number"?: number | null;
498
+ "page_size"?: number | null;
475
499
  }
476
500
  /** Backend response type: crate::models::PagedResult<models::ClassroomTypeResponse>. */
477
501
  export interface ConfigIndexClassroomTypeGetResponseItem extends JsonObject {
@@ -513,7 +537,7 @@ export interface ConfigShowClassroomTypeGetResponse extends ApiEnvelope<ConfigSh
513
537
  }
514
538
  /** Backend request type: models::UpdateClassroomTypeRequest. */
515
539
  export interface ConfigUpdateClassroomTypePatchInput extends JsonObject {
516
- "name"?: string;
540
+ "name"?: string | null;
517
541
  }
518
542
  /** Backend response type: models::ClassroomTypeResponse. */
519
543
  export interface ConfigUpdateClassroomTypePatchResponseData extends JsonObject {
@@ -525,15 +549,15 @@ export interface ConfigUpdateClassroomTypePatchResponse extends ApiEnvelope<Conf
525
549
  }
526
550
  /** Backend query type: PaginationQuery. */
527
551
  export interface ConfigIndexEducationDayGetQuery extends QueryParams {
528
- "page[number]"?: number;
529
- "page[size]"?: number;
552
+ "page_number"?: number | null;
553
+ "page_size"?: number | null;
530
554
  }
531
555
  /** Backend response type: crate::models::PagedResult<models::EducationDayResponse>. */
532
556
  export interface ConfigIndexEducationDayGetResponseItem extends JsonObject {
533
557
  "id": number;
534
558
  "day_date": string;
535
559
  "is_holiday": boolean;
536
- "label"?: string;
560
+ "label"?: string | null;
537
561
  "created_at": string;
538
562
  }
539
563
  export interface ConfigIndexEducationDayGetResponsePageMeta extends JsonObject {
@@ -552,14 +576,14 @@ export interface ConfigIndexEducationDayGetResponse extends ApiEnvelope<ConfigIn
552
576
  export interface ConfigStoreEducationDayPostInput extends JsonObject {
553
577
  "day_date": string;
554
578
  "is_holiday": boolean;
555
- "label"?: string;
579
+ "label"?: string | null;
556
580
  }
557
581
  /** Backend response type: models::EducationDayResponse. */
558
582
  export interface ConfigStoreEducationDayPostResponseData extends JsonObject {
559
583
  "id": number;
560
584
  "day_date": string;
561
585
  "is_holiday": boolean;
562
- "label"?: string;
586
+ "label"?: string | null;
563
587
  "created_at": string;
564
588
  }
565
589
  export interface ConfigStoreEducationDayPostResponse extends ApiEnvelope<ConfigStoreEducationDayPostResponseData> {
@@ -569,31 +593,31 @@ export interface ConfigShowEducationDayGetResponseData extends JsonObject {
569
593
  "id": number;
570
594
  "day_date": string;
571
595
  "is_holiday": boolean;
572
- "label"?: string;
596
+ "label"?: string | null;
573
597
  "created_at": string;
574
598
  }
575
599
  export interface ConfigShowEducationDayGetResponse extends ApiEnvelope<ConfigShowEducationDayGetResponseData> {
576
600
  }
577
601
  /** Backend request type: models::UpdateEducationDayRequest. */
578
602
  export interface ConfigUpdateEducationDayPatchInput extends JsonObject {
579
- "day_date"?: string;
580
- "is_holiday"?: boolean;
581
- "label"?: string;
603
+ "day_date"?: string | null;
604
+ "is_holiday"?: boolean | null;
605
+ "label"?: string | null;
582
606
  }
583
607
  /** Backend response type: models::EducationDayResponse. */
584
608
  export interface ConfigUpdateEducationDayPatchResponseData extends JsonObject {
585
609
  "id": number;
586
610
  "day_date": string;
587
611
  "is_holiday": boolean;
588
- "label"?: string;
612
+ "label"?: string | null;
589
613
  "created_at": string;
590
614
  }
591
615
  export interface ConfigUpdateEducationDayPatchResponse extends ApiEnvelope<ConfigUpdateEducationDayPatchResponseData> {
592
616
  }
593
617
  /** Backend query type: PaginationQuery. */
594
618
  export interface ConfigIndexGradeGetQuery extends QueryParams {
595
- "page[number]"?: number;
596
- "page[size]"?: number;
619
+ "page_number"?: number | null;
620
+ "page_size"?: number | null;
597
621
  }
598
622
  /** Backend response type: crate::models::PagedResult<models::GradeResponse>. */
599
623
  export interface ConfigIndexGradeGetResponseItem extends JsonObject {
@@ -639,8 +663,8 @@ export interface ConfigShowGradeGetResponse extends ApiEnvelope<ConfigShowGradeG
639
663
  }
640
664
  /** Backend request type: models::UpdateGradeRequest. */
641
665
  export interface ConfigUpdateGradePatchInput extends JsonObject {
642
- "name"?: string;
643
- "sort_order"?: number;
666
+ "name"?: string | null;
667
+ "sort_order"?: number | null;
644
668
  }
645
669
  /** Backend response type: models::GradeResponse. */
646
670
  export interface ConfigUpdateGradePatchResponseData extends JsonObject {
@@ -653,8 +677,8 @@ export interface ConfigUpdateGradePatchResponse extends ApiEnvelope<ConfigUpdate
653
677
  }
654
678
  /** Backend query type: PaginationQuery. */
655
679
  export interface ConfigIndexTextTemplateGetQuery extends QueryParams {
656
- "page[number]"?: number;
657
- "page[size]"?: number;
680
+ "page_number"?: number | null;
681
+ "page_size"?: number | null;
658
682
  }
659
683
  /** Backend response type: crate::models::PagedResult<models::TextTemplateResponse>. */
660
684
  export interface ConfigIndexTextTemplateGetResponseItem extends JsonObject {
@@ -704,9 +728,9 @@ export interface ConfigShowTextTemplateGetResponse extends ApiEnvelope<ConfigSho
704
728
  }
705
729
  /** Backend request type: models::UpdateTextTemplateRequest. */
706
730
  export interface ConfigUpdateTextTemplatePatchInput extends JsonObject {
707
- "name"?: string;
708
- "body"?: string;
709
- "template_type"?: string;
731
+ "name"?: string | null;
732
+ "body"?: string | null;
733
+ "template_type"?: string | null;
710
734
  }
711
735
  /** Backend response type: models::TextTemplateResponse. */
712
736
  export interface ConfigUpdateTextTemplatePatchResponseData extends JsonObject {
@@ -720,8 +744,8 @@ export interface ConfigUpdateTextTemplatePatchResponse extends ApiEnvelope<Confi
720
744
  }
721
745
  /** Backend query type: PaginationQuery. */
722
746
  export interface ConfigIndexWeekendGetQuery extends QueryParams {
723
- "page[number]"?: number;
724
- "page[size]"?: number;
747
+ "page_number"?: number | null;
748
+ "page_size"?: number | null;
725
749
  }
726
750
  /** Backend response type: crate::models::PagedResult<models::WeekendResponse>. */
727
751
  export interface ConfigIndexWeekendGetResponseItem extends JsonObject {
@@ -763,7 +787,7 @@ export interface ConfigShowWeekendGetResponse extends ApiEnvelope<ConfigShowWeek
763
787
  }
764
788
  /** Backend request type: models::UpdateWeekendRequest. */
765
789
  export interface ConfigUpdateWeekendPatchInput extends JsonObject {
766
- "day_of_week"?: number;
790
+ "day_of_week"?: number | null;
767
791
  }
768
792
  /** Backend response type: models::WeekendResponse. */
769
793
  export interface ConfigUpdateWeekendPatchResponseData extends JsonObject {
@@ -775,19 +799,20 @@ export interface ConfigUpdateWeekendPatchResponse extends ApiEnvelope<ConfigUpda
775
799
  }
776
800
  /** Backend query type: PaginationQuery. */
777
801
  export interface CourseIndexCourseGetQuery extends QueryParams {
778
- "page[number]"?: number;
779
- "page[size]"?: number;
802
+ "page_number"?: number | null;
803
+ "page_size"?: number | null;
780
804
  }
781
805
  /** Backend response type: crate::models::PagedResult<models::CourseResponse>. */
782
806
  export interface CourseIndexCourseGetResponseItem extends JsonObject {
783
807
  "id": number;
784
- "category_id"?: number;
808
+ "category_id"?: number | null;
785
809
  "name": string;
786
- "title"?: string;
787
- "description"?: string;
788
- "duration"?: string;
789
- "passing_mark"?: number;
790
- "price"?: string;
810
+ "title"?: string | null;
811
+ "description"?: string | null;
812
+ "sort_order": number;
813
+ "duration"?: string | null;
814
+ "passing_mark"?: number | null;
815
+ "price"?: string | null;
791
816
  "status": string;
792
817
  "created_at": string;
793
818
  "updated_at": string;
@@ -806,25 +831,27 @@ export interface CourseIndexCourseGetResponse extends ApiEnvelope<CourseIndexCou
806
831
  }
807
832
  /** Backend request type: models::CreateCourseRequest. */
808
833
  export interface CourseStoreCoursePostInput extends JsonObject {
809
- "category_id"?: number;
834
+ "category_id"?: number | null;
810
835
  "name": string;
811
- "title"?: string;
812
- "description"?: string;
813
- "duration"?: string;
814
- "passing_mark"?: number;
815
- "price"?: string;
836
+ "title"?: string | null;
837
+ "description"?: string | null;
838
+ "sort_order": number;
839
+ "duration"?: string | null;
840
+ "passing_mark"?: number | null;
841
+ "price"?: string | null;
816
842
  "status": string;
817
843
  }
818
844
  /** Backend response type: models::CourseResponse. */
819
845
  export interface CourseStoreCoursePostResponseData extends JsonObject {
820
846
  "id": number;
821
- "category_id"?: number;
847
+ "category_id"?: number | null;
822
848
  "name": string;
823
- "title"?: string;
824
- "description"?: string;
825
- "duration"?: string;
826
- "passing_mark"?: number;
827
- "price"?: string;
849
+ "title"?: string | null;
850
+ "description"?: string | null;
851
+ "sort_order": number;
852
+ "duration"?: string | null;
853
+ "passing_mark"?: number | null;
854
+ "price"?: string | null;
828
855
  "status": string;
829
856
  "created_at": string;
830
857
  "updated_at": string;
@@ -833,18 +860,19 @@ export interface CourseStoreCoursePostResponse extends ApiEnvelope<CourseStoreCo
833
860
  }
834
861
  /** Backend query type: PaginationQuery. */
835
862
  export interface CourseIndexSessionGetQuery extends QueryParams {
836
- "page[number]"?: number;
837
- "page[size]"?: number;
863
+ "page_number"?: number | null;
864
+ "page_size"?: number | null;
838
865
  }
839
866
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
840
867
  export interface CourseIndexSessionGetResponseItem extends JsonObject {
841
868
  "id": number;
842
869
  "course_id": number;
843
870
  "name": string;
844
- "description"?: string;
871
+ "description"?: string | null;
845
872
  "sort_order": number;
846
873
  "session_type": string;
847
- "duration_minutes"?: number;
874
+ "exam_id"?: number | null;
875
+ "duration_minutes"?: number | null;
848
876
  "auto_unlock": boolean;
849
877
  "status": string;
850
878
  "created_at": string;
@@ -866,10 +894,11 @@ export interface CourseIndexSessionGetResponse extends ApiEnvelope<CourseIndexSe
866
894
  export interface CourseStoreSessionPostInput extends JsonObject {
867
895
  "course_id": number;
868
896
  "name": string;
869
- "description"?: string;
897
+ "description"?: string | null;
870
898
  "sort_order": number;
871
899
  "session_type": string;
872
- "duration_minutes"?: number;
900
+ "exam_id"?: number | null;
901
+ "duration_minutes"?: number | null;
873
902
  "auto_unlock": boolean;
874
903
  "status": string;
875
904
  }
@@ -878,10 +907,11 @@ export interface CourseStoreSessionPostResponseData extends JsonObject {
878
907
  "id": number;
879
908
  "course_id": number;
880
909
  "name": string;
881
- "description"?: string;
910
+ "description"?: string | null;
882
911
  "sort_order": number;
883
912
  "session_type": string;
884
- "duration_minutes"?: number;
913
+ "exam_id"?: number | null;
914
+ "duration_minutes"?: number | null;
885
915
  "auto_unlock": boolean;
886
916
  "status": string;
887
917
  "created_at": string;
@@ -889,15 +919,19 @@ export interface CourseStoreSessionPostResponseData extends JsonObject {
889
919
  }
890
920
  export interface CourseStoreSessionPostResponse extends ApiEnvelope<CourseStoreSessionPostResponseData> {
891
921
  }
922
+ /** Backend response type: serde_json::Value. */
923
+ export interface CourseDestroySessionDeleteResponse extends ApiEnvelope<JsonValue> {
924
+ }
892
925
  /** Backend response type: models::SessionResponse. */
893
926
  export interface CourseShowSessionGetResponseData extends JsonObject {
894
927
  "id": number;
895
928
  "course_id": number;
896
929
  "name": string;
897
- "description"?: string;
930
+ "description"?: string | null;
898
931
  "sort_order": number;
899
932
  "session_type": string;
900
- "duration_minutes"?: number;
933
+ "exam_id"?: number | null;
934
+ "duration_minutes"?: number | null;
901
935
  "auto_unlock": boolean;
902
936
  "status": string;
903
937
  "created_at": string;
@@ -907,23 +941,25 @@ export interface CourseShowSessionGetResponse extends ApiEnvelope<CourseShowSess
907
941
  }
908
942
  /** Backend request type: models::UpdateSessionRequest. */
909
943
  export interface CourseUpdateSessionPatchInput extends JsonObject {
910
- "name"?: string;
911
- "description"?: string;
912
- "sort_order"?: number;
913
- "session_type"?: string;
914
- "duration_minutes"?: number;
915
- "auto_unlock"?: boolean;
916
- "status"?: string;
944
+ "name"?: string | null;
945
+ "description"?: string | null;
946
+ "sort_order"?: number | null;
947
+ "session_type"?: string | null;
948
+ "exam_id"?: number | null;
949
+ "duration_minutes"?: number | null;
950
+ "auto_unlock"?: boolean | null;
951
+ "status"?: string | null;
917
952
  }
918
953
  /** Backend response type: models::SessionResponse. */
919
954
  export interface CourseUpdateSessionPatchResponseData extends JsonObject {
920
955
  "id": number;
921
956
  "course_id": number;
922
957
  "name": string;
923
- "description"?: string;
958
+ "description"?: string | null;
924
959
  "sort_order": number;
925
960
  "session_type": string;
926
- "duration_minutes"?: number;
961
+ "exam_id"?: number | null;
962
+ "duration_minutes"?: number | null;
927
963
  "auto_unlock": boolean;
928
964
  "status": string;
929
965
  "created_at": string;
@@ -931,16 +967,20 @@ export interface CourseUpdateSessionPatchResponseData extends JsonObject {
931
967
  }
932
968
  export interface CourseUpdateSessionPatchResponse extends ApiEnvelope<CourseUpdateSessionPatchResponseData> {
933
969
  }
970
+ /** Backend response type: serde_json::Value. */
971
+ export interface CourseDestroyCourseDeleteResponse extends ApiEnvelope<JsonValue> {
972
+ }
934
973
  /** Backend response type: models::CourseResponse. */
935
974
  export interface CourseShowCourseGetResponseData extends JsonObject {
936
975
  "id": number;
937
- "category_id"?: number;
976
+ "category_id"?: number | null;
938
977
  "name": string;
939
- "title"?: string;
940
- "description"?: string;
941
- "duration"?: string;
942
- "passing_mark"?: number;
943
- "price"?: string;
978
+ "title"?: string | null;
979
+ "description"?: string | null;
980
+ "sort_order": number;
981
+ "duration"?: string | null;
982
+ "passing_mark"?: number | null;
983
+ "price"?: string | null;
944
984
  "status": string;
945
985
  "created_at": string;
946
986
  "updated_at": string;
@@ -949,25 +989,27 @@ export interface CourseShowCourseGetResponse extends ApiEnvelope<CourseShowCours
949
989
  }
950
990
  /** Backend request type: models::UpdateCourseRequest. */
951
991
  export interface CourseUpdateCoursePatchInput extends JsonObject {
952
- "category_id"?: number;
953
- "name"?: string;
954
- "title"?: string;
955
- "description"?: string;
956
- "duration"?: string;
957
- "passing_mark"?: number;
958
- "price"?: string;
959
- "status"?: string;
992
+ "category_id"?: number | null;
993
+ "name"?: string | null;
994
+ "title"?: string | null;
995
+ "description"?: string | null;
996
+ "sort_order"?: number | null;
997
+ "duration"?: string | null;
998
+ "passing_mark"?: number | null;
999
+ "price"?: string | null;
1000
+ "status"?: string | null;
960
1001
  }
961
1002
  /** Backend response type: models::CourseResponse. */
962
1003
  export interface CourseUpdateCoursePatchResponseData extends JsonObject {
963
1004
  "id": number;
964
- "category_id"?: number;
1005
+ "category_id"?: number | null;
965
1006
  "name": string;
966
- "title"?: string;
967
- "description"?: string;
968
- "duration"?: string;
969
- "passing_mark"?: number;
970
- "price"?: string;
1007
+ "title"?: string | null;
1008
+ "description"?: string | null;
1009
+ "sort_order": number;
1010
+ "duration"?: string | null;
1011
+ "passing_mark"?: number | null;
1012
+ "price"?: string | null;
971
1013
  "status": string;
972
1014
  "created_at": string;
973
1015
  "updated_at": string;
@@ -976,14 +1018,14 @@ export interface CourseUpdateCoursePatchResponse extends ApiEnvelope<CourseUpdat
976
1018
  }
977
1019
  /** Backend query type: PaginationQuery. */
978
1020
  export interface CourseIndexCategoryGetQuery extends QueryParams {
979
- "page[number]"?: number;
980
- "page[size]"?: number;
1021
+ "page_number"?: number | null;
1022
+ "page_size"?: number | null;
981
1023
  }
982
1024
  /** Backend response type: crate::models::PagedResult<models::CategoryResponse>. */
983
1025
  export interface CourseIndexCategoryGetResponseItem extends JsonObject {
984
1026
  "id": number;
985
1027
  "name": string;
986
- "description"?: string;
1028
+ "description"?: string | null;
987
1029
  "sort_order": number;
988
1030
  "status": string;
989
1031
  "created_at": string;
@@ -1004,7 +1046,7 @@ export interface CourseIndexCategoryGetResponse extends ApiEnvelope<CourseIndexC
1004
1046
  /** Backend request type: models::CreateCategoryRequest. */
1005
1047
  export interface CourseStoreCategoryPostInput extends JsonObject {
1006
1048
  "name": string;
1007
- "description"?: string;
1049
+ "description"?: string | null;
1008
1050
  "sort_order": number;
1009
1051
  "status": string;
1010
1052
  }
@@ -1012,7 +1054,7 @@ export interface CourseStoreCategoryPostInput extends JsonObject {
1012
1054
  export interface CourseStoreCategoryPostResponseData extends JsonObject {
1013
1055
  "id": number;
1014
1056
  "name": string;
1015
- "description"?: string;
1057
+ "description"?: string | null;
1016
1058
  "sort_order": number;
1017
1059
  "status": string;
1018
1060
  "created_at": string;
@@ -1020,11 +1062,14 @@ export interface CourseStoreCategoryPostResponseData extends JsonObject {
1020
1062
  }
1021
1063
  export interface CourseStoreCategoryPostResponse extends ApiEnvelope<CourseStoreCategoryPostResponseData> {
1022
1064
  }
1065
+ /** Backend response type: serde_json::Value. */
1066
+ export interface CourseDestroyCategoryDeleteResponse extends ApiEnvelope<JsonValue> {
1067
+ }
1023
1068
  /** Backend response type: models::CategoryResponse. */
1024
1069
  export interface CourseShowCategoryGetResponseData extends JsonObject {
1025
1070
  "id": number;
1026
1071
  "name": string;
1027
- "description"?: string;
1072
+ "description"?: string | null;
1028
1073
  "sort_order": number;
1029
1074
  "status": string;
1030
1075
  "created_at": string;
@@ -1034,16 +1079,16 @@ export interface CourseShowCategoryGetResponse extends ApiEnvelope<CourseShowCat
1034
1079
  }
1035
1080
  /** Backend request type: models::UpdateCategoryRequest. */
1036
1081
  export interface CourseUpdateCategoryPatchInput extends JsonObject {
1037
- "name"?: string;
1038
- "description"?: string;
1039
- "sort_order"?: number;
1040
- "status"?: string;
1082
+ "name"?: string | null;
1083
+ "description"?: string | null;
1084
+ "sort_order"?: number | null;
1085
+ "status"?: string | null;
1041
1086
  }
1042
1087
  /** Backend response type: models::CategoryResponse. */
1043
1088
  export interface CourseUpdateCategoryPatchResponseData extends JsonObject {
1044
1089
  "id": number;
1045
1090
  "name": string;
1046
- "description"?: string;
1091
+ "description"?: string | null;
1047
1092
  "sort_order": number;
1048
1093
  "status": string;
1049
1094
  "created_at": string;
@@ -1053,16 +1098,20 @@ export interface CourseUpdateCategoryPatchResponse extends ApiEnvelope<CourseUpd
1053
1098
  }
1054
1099
  /** Backend query type: PaginationQuery. */
1055
1100
  export interface CourseIndexVideoSectionGetQuery extends QueryParams {
1056
- "page[number]"?: number;
1057
- "page[size]"?: number;
1101
+ "page_number"?: number | null;
1102
+ "page_size"?: number | null;
1058
1103
  }
1059
1104
  /** Backend response type: crate::models::PagedResult<models::VideoSectionResponse>. */
1060
1105
  export interface CourseIndexVideoSectionGetResponseItem extends JsonObject {
1061
1106
  "id": number;
1062
1107
  "course_id": number;
1108
+ "course_session_id"?: number | null;
1063
1109
  "name": string;
1064
1110
  "sort_order": number;
1065
- "media_url"?: string;
1111
+ "media_url"?: string | null;
1112
+ "video_type": string;
1113
+ "external_url"?: string | null;
1114
+ "drm_url"?: string | null;
1066
1115
  "created_at": string;
1067
1116
  "updated_at": string;
1068
1117
  }
@@ -1081,29 +1130,44 @@ export interface CourseIndexVideoSectionGetResponse extends ApiEnvelope<CourseIn
1081
1130
  /** Backend request type: models::CreateVideoSectionRequest. */
1082
1131
  export interface CourseStoreVideoSectionPostInput extends JsonObject {
1083
1132
  "course_id": number;
1133
+ "course_session_id"?: number | null;
1084
1134
  "name": string;
1085
1135
  "sort_order": number;
1086
- "media_url"?: string;
1136
+ "media_url"?: string | null;
1137
+ "video_type"?: string | null;
1138
+ "external_url"?: string | null;
1139
+ "drm_url"?: string | null;
1087
1140
  }
1088
1141
  /** Backend response type: models::VideoSectionResponse. */
1089
1142
  export interface CourseStoreVideoSectionPostResponseData extends JsonObject {
1090
1143
  "id": number;
1091
1144
  "course_id": number;
1145
+ "course_session_id"?: number | null;
1092
1146
  "name": string;
1093
1147
  "sort_order": number;
1094
- "media_url"?: string;
1148
+ "media_url"?: string | null;
1149
+ "video_type": string;
1150
+ "external_url"?: string | null;
1151
+ "drm_url"?: string | null;
1095
1152
  "created_at": string;
1096
1153
  "updated_at": string;
1097
1154
  }
1098
1155
  export interface CourseStoreVideoSectionPostResponse extends ApiEnvelope<CourseStoreVideoSectionPostResponseData> {
1099
1156
  }
1157
+ /** Backend response type: serde_json::Value. */
1158
+ export interface CourseDestroyVideoSectionDeleteResponse extends ApiEnvelope<JsonValue> {
1159
+ }
1100
1160
  /** Backend response type: models::VideoSectionResponse. */
1101
1161
  export interface CourseShowVideoSectionGetResponseData extends JsonObject {
1102
1162
  "id": number;
1103
1163
  "course_id": number;
1164
+ "course_session_id"?: number | null;
1104
1165
  "name": string;
1105
1166
  "sort_order": number;
1106
- "media_url"?: string;
1167
+ "media_url"?: string | null;
1168
+ "video_type": string;
1169
+ "external_url"?: string | null;
1170
+ "drm_url"?: string | null;
1107
1171
  "created_at": string;
1108
1172
  "updated_at": string;
1109
1173
  }
@@ -1111,18 +1175,26 @@ export interface CourseShowVideoSectionGetResponse extends ApiEnvelope<CourseSho
1111
1175
  }
1112
1176
  /** Backend request type: models::UpdateVideoSectionRequest. */
1113
1177
  export interface CourseUpdateVideoSectionPatchInput extends JsonObject {
1114
- "course_id"?: number;
1115
- "name"?: string;
1116
- "sort_order"?: number;
1117
- "media_url"?: string;
1178
+ "course_id"?: number | null;
1179
+ "course_session_id"?: number | null;
1180
+ "name"?: string | null;
1181
+ "sort_order"?: number | null;
1182
+ "media_url"?: string | null;
1183
+ "video_type"?: string | null;
1184
+ "external_url"?: string | null;
1185
+ "drm_url"?: string | null;
1118
1186
  }
1119
1187
  /** Backend response type: models::VideoSectionResponse. */
1120
1188
  export interface CourseUpdateVideoSectionPatchResponseData extends JsonObject {
1121
1189
  "id": number;
1122
1190
  "course_id": number;
1191
+ "course_session_id"?: number | null;
1123
1192
  "name": string;
1124
1193
  "sort_order": number;
1125
- "media_url"?: string;
1194
+ "media_url"?: string | null;
1195
+ "video_type": string;
1196
+ "external_url"?: string | null;
1197
+ "drm_url"?: string | null;
1126
1198
  "created_at": string;
1127
1199
  "updated_at": string;
1128
1200
  }
@@ -1151,17 +1223,17 @@ export interface DocsIntegrationGetResponse extends ApiEnvelope<DocsIntegrationG
1151
1223
  }
1152
1224
  /** Backend query type: PaginationQuery. */
1153
1225
  export interface EventIndexEventGetQuery extends QueryParams {
1154
- "page[number]"?: number;
1155
- "page[size]"?: number;
1226
+ "page_number"?: number | null;
1227
+ "page_size"?: number | null;
1156
1228
  }
1157
1229
  /** Backend response type: crate::models::PagedResult<models::EventResponse>. */
1158
1230
  export interface EventIndexEventGetResponseItem extends JsonObject {
1159
1231
  "id": number;
1160
- "event_type_id"?: number;
1232
+ "event_type_id"?: number | null;
1161
1233
  "name": string;
1162
- "description"?: string;
1163
- "starts_at"?: string;
1164
- "ends_at"?: string;
1234
+ "description"?: string | null;
1235
+ "starts_at"?: string | null;
1236
+ "ends_at"?: string | null;
1165
1237
  "status": string;
1166
1238
  "created_at": string;
1167
1239
  "updated_at": string;
@@ -1180,21 +1252,21 @@ export interface EventIndexEventGetResponse extends ApiEnvelope<EventIndexEventG
1180
1252
  }
1181
1253
  /** Backend request type: models::CreateEventRequest. */
1182
1254
  export interface EventStoreEventPostInput extends JsonObject {
1183
- "event_type_id"?: number;
1255
+ "event_type_id"?: number | null;
1184
1256
  "name": string;
1185
- "description"?: string;
1186
- "starts_at"?: string;
1187
- "ends_at"?: string;
1257
+ "description"?: string | null;
1258
+ "starts_at"?: string | null;
1259
+ "ends_at"?: string | null;
1188
1260
  "status": string;
1189
1261
  }
1190
1262
  /** Backend response type: models::EventResponse. */
1191
1263
  export interface EventStoreEventPostResponseData extends JsonObject {
1192
1264
  "id": number;
1193
- "event_type_id"?: number;
1265
+ "event_type_id"?: number | null;
1194
1266
  "name": string;
1195
- "description"?: string;
1196
- "starts_at"?: string;
1197
- "ends_at"?: string;
1267
+ "description"?: string | null;
1268
+ "starts_at"?: string | null;
1269
+ "ends_at"?: string | null;
1198
1270
  "status": string;
1199
1271
  "created_at": string;
1200
1272
  "updated_at": string;
@@ -1203,8 +1275,8 @@ export interface EventStoreEventPostResponse extends ApiEnvelope<EventStoreEvent
1203
1275
  }
1204
1276
  /** Backend query type: PaginationQuery. */
1205
1277
  export interface EventIndexUserGetQuery extends QueryParams {
1206
- "page[number]"?: number;
1207
- "page[size]"?: number;
1278
+ "page_number"?: number | null;
1279
+ "page_size"?: number | null;
1208
1280
  }
1209
1281
  /** Backend response type: crate::models::PagedResult<models::UserResponse>. */
1210
1282
  export interface EventIndexUserGetResponseItem extends JsonObject {
@@ -1254,8 +1326,8 @@ export interface EventShowUserGetResponse extends ApiEnvelope<EventShowUserGetRe
1254
1326
  }
1255
1327
  /** Backend request type: models::UpdateUserRequest. */
1256
1328
  export interface EventUpdateUserPatchInput extends JsonObject {
1257
- "user_id"?: string;
1258
- "status"?: string;
1329
+ "user_id"?: string | null;
1330
+ "status"?: string | null;
1259
1331
  }
1260
1332
  /** Backend response type: models::UserResponse. */
1261
1333
  export interface EventUpdateUserPatchResponseData extends JsonObject {
@@ -1270,11 +1342,11 @@ export interface EventUpdateUserPatchResponse extends ApiEnvelope<EventUpdateUse
1270
1342
  /** Backend response type: models::EventResponse. */
1271
1343
  export interface EventShowEventGetResponseData extends JsonObject {
1272
1344
  "id": number;
1273
- "event_type_id"?: number;
1345
+ "event_type_id"?: number | null;
1274
1346
  "name": string;
1275
- "description"?: string;
1276
- "starts_at"?: string;
1277
- "ends_at"?: string;
1347
+ "description"?: string | null;
1348
+ "starts_at"?: string | null;
1349
+ "ends_at"?: string | null;
1278
1350
  "status": string;
1279
1351
  "created_at": string;
1280
1352
  "updated_at": string;
@@ -1283,21 +1355,21 @@ export interface EventShowEventGetResponse extends ApiEnvelope<EventShowEventGet
1283
1355
  }
1284
1356
  /** Backend request type: models::UpdateEventRequest. */
1285
1357
  export interface EventUpdateEventPatchInput extends JsonObject {
1286
- "event_type_id"?: number;
1287
- "name"?: string;
1288
- "description"?: string;
1289
- "starts_at"?: string;
1290
- "ends_at"?: string;
1291
- "status"?: string;
1358
+ "event_type_id"?: number | null;
1359
+ "name"?: string | null;
1360
+ "description"?: string | null;
1361
+ "starts_at"?: string | null;
1362
+ "ends_at"?: string | null;
1363
+ "status"?: string | null;
1292
1364
  }
1293
1365
  /** Backend response type: models::EventResponse. */
1294
1366
  export interface EventUpdateEventPatchResponseData extends JsonObject {
1295
1367
  "id": number;
1296
- "event_type_id"?: number;
1368
+ "event_type_id"?: number | null;
1297
1369
  "name": string;
1298
- "description"?: string;
1299
- "starts_at"?: string;
1300
- "ends_at"?: string;
1370
+ "description"?: string | null;
1371
+ "starts_at"?: string | null;
1372
+ "ends_at"?: string | null;
1301
1373
  "status": string;
1302
1374
  "created_at": string;
1303
1375
  "updated_at": string;
@@ -1306,16 +1378,16 @@ export interface EventUpdateEventPatchResponse extends ApiEnvelope<EventUpdateEv
1306
1378
  }
1307
1379
  /** Backend query type: PaginationQuery. */
1308
1380
  export interface EventIndexSessionGetQuery extends QueryParams {
1309
- "page[number]"?: number;
1310
- "page[size]"?: number;
1381
+ "page_number"?: number | null;
1382
+ "page_size"?: number | null;
1311
1383
  }
1312
1384
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
1313
1385
  export interface EventIndexSessionGetResponseItem extends JsonObject {
1314
1386
  "id": number;
1315
1387
  "event_id": number;
1316
- "name"?: string;
1317
- "starts_at"?: string;
1318
- "ends_at"?: string;
1388
+ "name"?: string | null;
1389
+ "starts_at"?: string | null;
1390
+ "ends_at"?: string | null;
1319
1391
  "created_at": string;
1320
1392
  }
1321
1393
  export interface EventIndexSessionGetResponsePageMeta extends JsonObject {
@@ -1333,17 +1405,17 @@ export interface EventIndexSessionGetResponse extends ApiEnvelope<EventIndexSess
1333
1405
  /** Backend request type: models::CreateSessionRequest. */
1334
1406
  export interface EventStoreSessionPostInput extends JsonObject {
1335
1407
  "event_id": number;
1336
- "name"?: string;
1337
- "starts_at"?: string;
1338
- "ends_at"?: string;
1408
+ "name"?: string | null;
1409
+ "starts_at"?: string | null;
1410
+ "ends_at"?: string | null;
1339
1411
  }
1340
1412
  /** Backend response type: models::SessionResponse. */
1341
1413
  export interface EventStoreSessionPostResponseData extends JsonObject {
1342
1414
  "id": number;
1343
1415
  "event_id": number;
1344
- "name"?: string;
1345
- "starts_at"?: string;
1346
- "ends_at"?: string;
1416
+ "name"?: string | null;
1417
+ "starts_at"?: string | null;
1418
+ "ends_at"?: string | null;
1347
1419
  "created_at": string;
1348
1420
  }
1349
1421
  export interface EventStoreSessionPostResponse extends ApiEnvelope<EventStoreSessionPostResponseData> {
@@ -1352,44 +1424,44 @@ export interface EventStoreSessionPostResponse extends ApiEnvelope<EventStoreSes
1352
1424
  export interface EventShowSessionGetResponseData extends JsonObject {
1353
1425
  "id": number;
1354
1426
  "event_id": number;
1355
- "name"?: string;
1356
- "starts_at"?: string;
1357
- "ends_at"?: string;
1427
+ "name"?: string | null;
1428
+ "starts_at"?: string | null;
1429
+ "ends_at"?: string | null;
1358
1430
  "created_at": string;
1359
1431
  }
1360
1432
  export interface EventShowSessionGetResponse extends ApiEnvelope<EventShowSessionGetResponseData> {
1361
1433
  }
1362
1434
  /** Backend request type: models::UpdateSessionRequest. */
1363
1435
  export interface EventUpdateSessionPatchInput extends JsonObject {
1364
- "event_id"?: number;
1365
- "name"?: string;
1366
- "starts_at"?: string;
1367
- "ends_at"?: string;
1436
+ "event_id"?: number | null;
1437
+ "name"?: string | null;
1438
+ "starts_at"?: string | null;
1439
+ "ends_at"?: string | null;
1368
1440
  }
1369
1441
  /** Backend response type: models::SessionResponse. */
1370
1442
  export interface EventUpdateSessionPatchResponseData extends JsonObject {
1371
1443
  "id": number;
1372
1444
  "event_id": number;
1373
- "name"?: string;
1374
- "starts_at"?: string;
1375
- "ends_at"?: string;
1445
+ "name"?: string | null;
1446
+ "starts_at"?: string | null;
1447
+ "ends_at"?: string | null;
1376
1448
  "created_at": string;
1377
1449
  }
1378
1450
  export interface EventUpdateSessionPatchResponse extends ApiEnvelope<EventUpdateSessionPatchResponseData> {
1379
1451
  }
1380
1452
  /** Backend query type: PaginationQuery. */
1381
1453
  export interface ExamIndexExamGetQuery extends QueryParams {
1382
- "page[number]"?: number;
1383
- "page[size]"?: number;
1454
+ "page_number"?: number | null;
1455
+ "page_size"?: number | null;
1384
1456
  }
1385
1457
  /** Backend response type: crate::models::PagedResult<models::ExamResponse>. */
1386
1458
  export interface ExamIndexExamGetResponseItem extends JsonObject {
1387
1459
  "id": number;
1388
- "course_id"?: number;
1460
+ "course_id"?: number | null;
1389
1461
  "name": string;
1390
- "description"?: string;
1391
- "duration_minutes"?: number;
1392
- "passing_mark"?: number;
1462
+ "description"?: string | null;
1463
+ "duration_minutes"?: number | null;
1464
+ "passing_mark"?: number | null;
1393
1465
  "status": string;
1394
1466
  "created_at": string;
1395
1467
  "updated_at": string;
@@ -1408,35 +1480,38 @@ export interface ExamIndexExamGetResponse extends ApiEnvelope<ExamIndexExamGetRe
1408
1480
  }
1409
1481
  /** Backend request type: models::CreateExamRequest. */
1410
1482
  export interface ExamStoreExamPostInput extends JsonObject {
1411
- "course_id"?: number;
1483
+ "course_id"?: number | null;
1412
1484
  "name": string;
1413
- "description"?: string;
1414
- "duration_minutes"?: number;
1415
- "passing_mark"?: number;
1485
+ "description"?: string | null;
1486
+ "duration_minutes"?: number | null;
1487
+ "passing_mark"?: number | null;
1416
1488
  "status": string;
1417
1489
  }
1418
1490
  /** Backend response type: models::ExamResponse. */
1419
1491
  export interface ExamStoreExamPostResponseData extends JsonObject {
1420
1492
  "id": number;
1421
- "course_id"?: number;
1493
+ "course_id"?: number | null;
1422
1494
  "name": string;
1423
- "description"?: string;
1424
- "duration_minutes"?: number;
1425
- "passing_mark"?: number;
1495
+ "description"?: string | null;
1496
+ "duration_minutes"?: number | null;
1497
+ "passing_mark"?: number | null;
1426
1498
  "status": string;
1427
1499
  "created_at": string;
1428
1500
  "updated_at": string;
1429
1501
  }
1430
1502
  export interface ExamStoreExamPostResponse extends ApiEnvelope<ExamStoreExamPostResponseData> {
1431
1503
  }
1504
+ /** Backend response type: serde_json::Value. */
1505
+ export interface ExamDestroyExamDeleteResponse extends ApiEnvelope<JsonValue> {
1506
+ }
1432
1507
  /** Backend response type: models::ExamResponse. */
1433
1508
  export interface ExamShowExamGetResponseData extends JsonObject {
1434
1509
  "id": number;
1435
- "course_id"?: number;
1510
+ "course_id"?: number | null;
1436
1511
  "name": string;
1437
- "description"?: string;
1438
- "duration_minutes"?: number;
1439
- "passing_mark"?: number;
1512
+ "description"?: string | null;
1513
+ "duration_minutes"?: number | null;
1514
+ "passing_mark"?: number | null;
1440
1515
  "status": string;
1441
1516
  "created_at": string;
1442
1517
  "updated_at": string;
@@ -1445,21 +1520,21 @@ export interface ExamShowExamGetResponse extends ApiEnvelope<ExamShowExamGetResp
1445
1520
  }
1446
1521
  /** Backend request type: models::UpdateExamRequest. */
1447
1522
  export interface ExamUpdateExamPatchInput extends JsonObject {
1448
- "course_id"?: number;
1449
- "name"?: string;
1450
- "description"?: string;
1451
- "duration_minutes"?: number;
1452
- "passing_mark"?: number;
1453
- "status"?: string;
1523
+ "course_id"?: number | null;
1524
+ "name"?: string | null;
1525
+ "description"?: string | null;
1526
+ "duration_minutes"?: number | null;
1527
+ "passing_mark"?: number | null;
1528
+ "status"?: string | null;
1454
1529
  }
1455
1530
  /** Backend response type: models::ExamResponse. */
1456
1531
  export interface ExamUpdateExamPatchResponseData extends JsonObject {
1457
1532
  "id": number;
1458
- "course_id"?: number;
1533
+ "course_id"?: number | null;
1459
1534
  "name": string;
1460
- "description"?: string;
1461
- "duration_minutes"?: number;
1462
- "passing_mark"?: number;
1535
+ "description"?: string | null;
1536
+ "duration_minutes"?: number | null;
1537
+ "passing_mark"?: number | null;
1463
1538
  "status": string;
1464
1539
  "created_at": string;
1465
1540
  "updated_at": string;
@@ -1468,17 +1543,17 @@ export interface ExamUpdateExamPatchResponse extends ApiEnvelope<ExamUpdateExamP
1468
1543
  }
1469
1544
  /** Backend query type: PaginationQuery. */
1470
1545
  export interface ExamIndexQuestionGetQuery extends QueryParams {
1471
- "page[number]"?: number;
1472
- "page[size]"?: number;
1546
+ "page_number"?: number | null;
1547
+ "page_size"?: number | null;
1473
1548
  }
1474
1549
  /** Backend response type: crate::models::PagedResult<models::QuestionResponse>. */
1475
1550
  export interface ExamIndexQuestionGetResponseItem extends JsonObject {
1476
1551
  "id": number;
1477
- "exam_id"?: number;
1552
+ "exam_id"?: number | null;
1478
1553
  "question_text": string;
1479
1554
  "question_type": string;
1480
- "options"?: JsonValue;
1481
- "correct_answer"?: string;
1555
+ "options"?: JsonValue | null;
1556
+ "correct_answer"?: string | null;
1482
1557
  "sort_order": number;
1483
1558
  "created_at": string;
1484
1559
  }
@@ -1496,34 +1571,37 @@ export interface ExamIndexQuestionGetResponse extends ApiEnvelope<ExamIndexQuest
1496
1571
  }
1497
1572
  /** Backend request type: models::CreateQuestionRequest. */
1498
1573
  export interface ExamStoreQuestionPostInput extends JsonObject {
1499
- "exam_id"?: number;
1574
+ "exam_id"?: number | null;
1500
1575
  "question_text": string;
1501
1576
  "question_type": string;
1502
- "options"?: JsonValue;
1503
- "correct_answer"?: string;
1577
+ "options"?: JsonValue | null;
1578
+ "correct_answer"?: string | null;
1504
1579
  "sort_order": number;
1505
1580
  }
1506
1581
  /** Backend response type: models::QuestionResponse. */
1507
1582
  export interface ExamStoreQuestionPostResponseData extends JsonObject {
1508
1583
  "id": number;
1509
- "exam_id"?: number;
1584
+ "exam_id"?: number | null;
1510
1585
  "question_text": string;
1511
1586
  "question_type": string;
1512
- "options"?: JsonValue;
1513
- "correct_answer"?: string;
1587
+ "options"?: JsonValue | null;
1588
+ "correct_answer"?: string | null;
1514
1589
  "sort_order": number;
1515
1590
  "created_at": string;
1516
1591
  }
1517
1592
  export interface ExamStoreQuestionPostResponse extends ApiEnvelope<ExamStoreQuestionPostResponseData> {
1518
1593
  }
1594
+ /** Backend response type: serde_json::Value. */
1595
+ export interface ExamDestroyQuestionDeleteResponse extends ApiEnvelope<JsonValue> {
1596
+ }
1519
1597
  /** Backend response type: models::QuestionResponse. */
1520
1598
  export interface ExamShowQuestionGetResponseData extends JsonObject {
1521
1599
  "id": number;
1522
- "exam_id"?: number;
1600
+ "exam_id"?: number | null;
1523
1601
  "question_text": string;
1524
1602
  "question_type": string;
1525
- "options"?: JsonValue;
1526
- "correct_answer"?: string;
1603
+ "options"?: JsonValue | null;
1604
+ "correct_answer"?: string | null;
1527
1605
  "sort_order": number;
1528
1606
  "created_at": string;
1529
1607
  }
@@ -1531,21 +1609,21 @@ export interface ExamShowQuestionGetResponse extends ApiEnvelope<ExamShowQuestio
1531
1609
  }
1532
1610
  /** Backend request type: models::UpdateQuestionRequest. */
1533
1611
  export interface ExamUpdateQuestionPatchInput extends JsonObject {
1534
- "exam_id"?: number;
1535
- "question_text"?: string;
1536
- "question_type"?: string;
1537
- "options"?: JsonValue;
1538
- "correct_answer"?: string;
1539
- "sort_order"?: number;
1612
+ "exam_id"?: number | null;
1613
+ "question_text"?: string | null;
1614
+ "question_type"?: string | null;
1615
+ "options"?: JsonValue | null;
1616
+ "correct_answer"?: string | null;
1617
+ "sort_order"?: number | null;
1540
1618
  }
1541
1619
  /** Backend response type: models::QuestionResponse. */
1542
1620
  export interface ExamUpdateQuestionPatchResponseData extends JsonObject {
1543
1621
  "id": number;
1544
- "exam_id"?: number;
1622
+ "exam_id"?: number | null;
1545
1623
  "question_text": string;
1546
1624
  "question_type": string;
1547
- "options"?: JsonValue;
1548
- "correct_answer"?: string;
1625
+ "options"?: JsonValue | null;
1626
+ "correct_answer"?: string | null;
1549
1627
  "sort_order": number;
1550
1628
  "created_at": string;
1551
1629
  }
@@ -1553,16 +1631,16 @@ export interface ExamUpdateQuestionPatchResponse extends ApiEnvelope<ExamUpdateQ
1553
1631
  }
1554
1632
  /** Backend query type: PaginationQuery. */
1555
1633
  export interface ExamIndexSessionGetQuery extends QueryParams {
1556
- "page[number]"?: number;
1557
- "page[size]"?: number;
1634
+ "page_number"?: number | null;
1635
+ "page_size"?: number | null;
1558
1636
  }
1559
1637
  /** Backend response type: crate::models::PagedResult<models::SessionResponse>. */
1560
1638
  export interface ExamIndexSessionGetResponseItem extends JsonObject {
1561
1639
  "id": number;
1562
1640
  "exam_id": number;
1563
- "classroom_id"?: number;
1564
- "starts_at"?: string;
1565
- "ends_at"?: string;
1641
+ "classroom_id"?: number | null;
1642
+ "starts_at"?: string | null;
1643
+ "ends_at"?: string | null;
1566
1644
  "status": string;
1567
1645
  "created_at": string;
1568
1646
  }
@@ -1581,18 +1659,18 @@ export interface ExamIndexSessionGetResponse extends ApiEnvelope<ExamIndexSessio
1581
1659
  /** Backend request type: models::CreateSessionRequest. */
1582
1660
  export interface ExamStoreSessionPostInput extends JsonObject {
1583
1661
  "exam_id": number;
1584
- "classroom_id"?: number;
1585
- "starts_at"?: string;
1586
- "ends_at"?: string;
1662
+ "classroom_id"?: number | null;
1663
+ "starts_at"?: string | null;
1664
+ "ends_at"?: string | null;
1587
1665
  "status": string;
1588
1666
  }
1589
1667
  /** Backend response type: models::SessionResponse. */
1590
1668
  export interface ExamStoreSessionPostResponseData extends JsonObject {
1591
1669
  "id": number;
1592
1670
  "exam_id": number;
1593
- "classroom_id"?: number;
1594
- "starts_at"?: string;
1595
- "ends_at"?: string;
1671
+ "classroom_id"?: number | null;
1672
+ "starts_at"?: string | null;
1673
+ "ends_at"?: string | null;
1596
1674
  "status": string;
1597
1675
  "created_at": string;
1598
1676
  }
@@ -1602,9 +1680,9 @@ export interface ExamStoreSessionPostResponse extends ApiEnvelope<ExamStoreSessi
1602
1680
  export interface ExamShowSessionGetResponseData extends JsonObject {
1603
1681
  "id": number;
1604
1682
  "exam_id": number;
1605
- "classroom_id"?: number;
1606
- "starts_at"?: string;
1607
- "ends_at"?: string;
1683
+ "classroom_id"?: number | null;
1684
+ "starts_at"?: string | null;
1685
+ "ends_at"?: string | null;
1608
1686
  "status": string;
1609
1687
  "created_at": string;
1610
1688
  }
@@ -1612,19 +1690,19 @@ export interface ExamShowSessionGetResponse extends ApiEnvelope<ExamShowSessionG
1612
1690
  }
1613
1691
  /** Backend request type: models::UpdateSessionRequest. */
1614
1692
  export interface ExamUpdateSessionPatchInput extends JsonObject {
1615
- "exam_id"?: number;
1616
- "classroom_id"?: number;
1617
- "starts_at"?: string;
1618
- "ends_at"?: string;
1619
- "status"?: string;
1693
+ "exam_id"?: number | null;
1694
+ "classroom_id"?: number | null;
1695
+ "starts_at"?: string | null;
1696
+ "ends_at"?: string | null;
1697
+ "status"?: string | null;
1620
1698
  }
1621
1699
  /** Backend response type: models::SessionResponse. */
1622
1700
  export interface ExamUpdateSessionPatchResponseData extends JsonObject {
1623
1701
  "id": number;
1624
1702
  "exam_id": number;
1625
- "classroom_id"?: number;
1626
- "starts_at"?: string;
1627
- "ends_at"?: string;
1703
+ "classroom_id"?: number | null;
1704
+ "starts_at"?: string | null;
1705
+ "ends_at"?: string | null;
1628
1706
  "status": string;
1629
1707
  "created_at": string;
1630
1708
  }
@@ -1632,15 +1710,15 @@ export interface ExamUpdateSessionPatchResponse extends ApiEnvelope<ExamUpdateSe
1632
1710
  }
1633
1711
  /** Backend query type: PaginationQuery. */
1634
1712
  export interface HomeworkIndexHomeworkGetQuery extends QueryParams {
1635
- "page[number]"?: number;
1636
- "page[size]"?: number;
1713
+ "page_number"?: number | null;
1714
+ "page_size"?: number | null;
1637
1715
  }
1638
1716
  /** Backend response type: crate::models::PagedResult<models::HomeworkResponse>. */
1639
1717
  export interface HomeworkIndexHomeworkGetResponseItem extends JsonObject {
1640
1718
  "id": number;
1641
- "course_id"?: number;
1719
+ "course_id"?: number | null;
1642
1720
  "name": string;
1643
- "description"?: string;
1721
+ "description"?: string | null;
1644
1722
  "status": string;
1645
1723
  "created_at": string;
1646
1724
  "updated_at": string;
@@ -1659,17 +1737,17 @@ export interface HomeworkIndexHomeworkGetResponse extends ApiEnvelope<HomeworkIn
1659
1737
  }
1660
1738
  /** Backend request type: models::CreateHomeworkRequest. */
1661
1739
  export interface HomeworkStoreHomeworkPostInput extends JsonObject {
1662
- "course_id"?: number;
1740
+ "course_id"?: number | null;
1663
1741
  "name": string;
1664
- "description"?: string;
1742
+ "description"?: string | null;
1665
1743
  "status": string;
1666
1744
  }
1667
1745
  /** Backend response type: models::HomeworkResponse. */
1668
1746
  export interface HomeworkStoreHomeworkPostResponseData extends JsonObject {
1669
1747
  "id": number;
1670
- "course_id"?: number;
1748
+ "course_id"?: number | null;
1671
1749
  "name": string;
1672
- "description"?: string;
1750
+ "description"?: string | null;
1673
1751
  "status": string;
1674
1752
  "created_at": string;
1675
1753
  "updated_at": string;
@@ -1679,9 +1757,9 @@ export interface HomeworkStoreHomeworkPostResponse extends ApiEnvelope<HomeworkS
1679
1757
  /** Backend response type: models::HomeworkResponse. */
1680
1758
  export interface HomeworkShowHomeworkGetResponseData extends JsonObject {
1681
1759
  "id": number;
1682
- "course_id"?: number;
1760
+ "course_id"?: number | null;
1683
1761
  "name": string;
1684
- "description"?: string;
1762
+ "description"?: string | null;
1685
1763
  "status": string;
1686
1764
  "created_at": string;
1687
1765
  "updated_at": string;
@@ -1690,17 +1768,17 @@ export interface HomeworkShowHomeworkGetResponse extends ApiEnvelope<HomeworkSho
1690
1768
  }
1691
1769
  /** Backend request type: models::UpdateHomeworkRequest. */
1692
1770
  export interface HomeworkUpdateHomeworkPatchInput extends JsonObject {
1693
- "course_id"?: number;
1694
- "name"?: string;
1695
- "description"?: string;
1696
- "status"?: string;
1771
+ "course_id"?: number | null;
1772
+ "name"?: string | null;
1773
+ "description"?: string | null;
1774
+ "status"?: string | null;
1697
1775
  }
1698
1776
  /** Backend response type: models::HomeworkResponse. */
1699
1777
  export interface HomeworkUpdateHomeworkPatchResponseData extends JsonObject {
1700
1778
  "id": number;
1701
- "course_id"?: number;
1779
+ "course_id"?: number | null;
1702
1780
  "name": string;
1703
- "description"?: string;
1781
+ "description"?: string | null;
1704
1782
  "status": string;
1705
1783
  "created_at": string;
1706
1784
  "updated_at": string;
@@ -1709,19 +1787,19 @@ export interface HomeworkUpdateHomeworkPatchResponse extends ApiEnvelope<Homewor
1709
1787
  }
1710
1788
  /** Backend query type: PaginationQuery. */
1711
1789
  export interface HomeworkIndexAssignmentGetQuery extends QueryParams {
1712
- "page[number]"?: number;
1713
- "page[size]"?: number;
1790
+ "page_number"?: number | null;
1791
+ "page_size"?: number | null;
1714
1792
  }
1715
1793
  /** Backend response type: crate::models::PagedResult<models::AssignmentResponse>. */
1716
1794
  export interface HomeworkIndexAssignmentGetResponseItem extends JsonObject {
1717
1795
  "id": number;
1718
1796
  "homework_id": number;
1719
- "classroom_id"?: number;
1720
- "user_id"?: string;
1721
- "due_at"?: string;
1797
+ "classroom_id"?: number | null;
1798
+ "user_id"?: string | null;
1799
+ "due_at"?: string | null;
1722
1800
  "status": string;
1723
- "answer_text"?: string;
1724
- "score"?: number;
1801
+ "answer_text"?: string | null;
1802
+ "score"?: number | null;
1725
1803
  "created_at": string;
1726
1804
  "updated_at": string;
1727
1805
  }
@@ -1740,23 +1818,23 @@ export interface HomeworkIndexAssignmentGetResponse extends ApiEnvelope<Homework
1740
1818
  /** Backend request type: models::CreateAssignmentRequest. */
1741
1819
  export interface HomeworkStoreAssignmentPostInput extends JsonObject {
1742
1820
  "homework_id": number;
1743
- "classroom_id"?: number;
1744
- "user_id"?: string;
1745
- "due_at"?: string;
1821
+ "classroom_id"?: number | null;
1822
+ "user_id"?: string | null;
1823
+ "due_at"?: string | null;
1746
1824
  "status": string;
1747
- "answer_text"?: string;
1748
- "score"?: number;
1825
+ "answer_text"?: string | null;
1826
+ "score"?: number | null;
1749
1827
  }
1750
1828
  /** Backend response type: models::AssignmentResponse. */
1751
1829
  export interface HomeworkStoreAssignmentPostResponseData extends JsonObject {
1752
1830
  "id": number;
1753
1831
  "homework_id": number;
1754
- "classroom_id"?: number;
1755
- "user_id"?: string;
1756
- "due_at"?: string;
1832
+ "classroom_id"?: number | null;
1833
+ "user_id"?: string | null;
1834
+ "due_at"?: string | null;
1757
1835
  "status": string;
1758
- "answer_text"?: string;
1759
- "score"?: number;
1836
+ "answer_text"?: string | null;
1837
+ "score"?: number | null;
1760
1838
  "created_at": string;
1761
1839
  "updated_at": string;
1762
1840
  }
@@ -1766,12 +1844,12 @@ export interface HomeworkStoreAssignmentPostResponse extends ApiEnvelope<Homewor
1766
1844
  export interface HomeworkShowAssignmentGetResponseData extends JsonObject {
1767
1845
  "id": number;
1768
1846
  "homework_id": number;
1769
- "classroom_id"?: number;
1770
- "user_id"?: string;
1771
- "due_at"?: string;
1847
+ "classroom_id"?: number | null;
1848
+ "user_id"?: string | null;
1849
+ "due_at"?: string | null;
1772
1850
  "status": string;
1773
- "answer_text"?: string;
1774
- "score"?: number;
1851
+ "answer_text"?: string | null;
1852
+ "score"?: number | null;
1775
1853
  "created_at": string;
1776
1854
  "updated_at": string;
1777
1855
  }
@@ -1779,24 +1857,24 @@ export interface HomeworkShowAssignmentGetResponse extends ApiEnvelope<HomeworkS
1779
1857
  }
1780
1858
  /** Backend request type: models::UpdateAssignmentRequest. */
1781
1859
  export interface HomeworkUpdateAssignmentPatchInput extends JsonObject {
1782
- "homework_id"?: number;
1783
- "classroom_id"?: number;
1784
- "user_id"?: string;
1785
- "due_at"?: string;
1786
- "status"?: string;
1787
- "answer_text"?: string;
1788
- "score"?: number;
1860
+ "homework_id"?: number | null;
1861
+ "classroom_id"?: number | null;
1862
+ "user_id"?: string | null;
1863
+ "due_at"?: string | null;
1864
+ "status"?: string | null;
1865
+ "answer_text"?: string | null;
1866
+ "score"?: number | null;
1789
1867
  }
1790
1868
  /** Backend response type: models::AssignmentResponse. */
1791
1869
  export interface HomeworkUpdateAssignmentPatchResponseData extends JsonObject {
1792
1870
  "id": number;
1793
1871
  "homework_id": number;
1794
- "classroom_id"?: number;
1795
- "user_id"?: string;
1796
- "due_at"?: string;
1872
+ "classroom_id"?: number | null;
1873
+ "user_id"?: string | null;
1874
+ "due_at"?: string | null;
1797
1875
  "status": string;
1798
- "answer_text"?: string;
1799
- "score"?: number;
1876
+ "answer_text"?: string | null;
1877
+ "score"?: number | null;
1800
1878
  "created_at": string;
1801
1879
  "updated_at": string;
1802
1880
  }
@@ -1804,8 +1882,8 @@ export interface HomeworkUpdateAssignmentPatchResponse extends ApiEnvelope<Homew
1804
1882
  }
1805
1883
  /** Backend query type: PaginationQuery. */
1806
1884
  export interface HomeworkIndexQuestionGetQuery extends QueryParams {
1807
- "page[number]"?: number;
1808
- "page[size]"?: number;
1885
+ "page_number"?: number | null;
1886
+ "page_size"?: number | null;
1809
1887
  }
1810
1888
  /** Backend response type: crate::models::PagedResult<models::QuestionResponse>. */
1811
1889
  export interface HomeworkIndexQuestionGetResponseItem extends JsonObject {
@@ -1855,9 +1933,9 @@ export interface HomeworkShowQuestionGetResponse extends ApiEnvelope<HomeworkSho
1855
1933
  }
1856
1934
  /** Backend request type: models::UpdateQuestionRequest. */
1857
1935
  export interface HomeworkUpdateQuestionPatchInput extends JsonObject {
1858
- "homework_id"?: number;
1859
- "question_text"?: string;
1860
- "sort_order"?: number;
1936
+ "homework_id"?: number | null;
1937
+ "question_text"?: string | null;
1938
+ "sort_order"?: number | null;
1861
1939
  }
1862
1940
  /** Backend response type: models::QuestionResponse. */
1863
1941
  export interface HomeworkUpdateQuestionPatchResponseData extends JsonObject {
@@ -1874,8 +1952,8 @@ export interface IntegrationFlowIntegrationShowGetResponse extends ApiEnvelope<J
1874
1952
  }
1875
1953
  /** Backend query type: PaginationQuery. */
1876
1954
  export interface InteractiveIndexCategoryGetQuery extends QueryParams {
1877
- "page[number]"?: number;
1878
- "page[size]"?: number;
1955
+ "page_number"?: number | null;
1956
+ "page_size"?: number | null;
1879
1957
  }
1880
1958
  /** Backend response type: crate::models::PagedResult<models::CategoryResponse>. */
1881
1959
  export interface InteractiveIndexCategoryGetResponseItem extends JsonObject {
@@ -1921,8 +1999,8 @@ export interface InteractiveShowCategoryGetResponse extends ApiEnvelope<Interact
1921
1999
  }
1922
2000
  /** Backend request type: models::UpdateCategoryRequest. */
1923
2001
  export interface InteractiveUpdateCategoryPatchInput extends JsonObject {
1924
- "name"?: string;
1925
- "sort_order"?: number;
2002
+ "name"?: string | null;
2003
+ "sort_order"?: number | null;
1926
2004
  }
1927
2005
  /** Backend response type: models::CategoryResponse. */
1928
2006
  export interface InteractiveUpdateCategoryPatchResponseData extends JsonObject {
@@ -1935,16 +2013,16 @@ export interface InteractiveUpdateCategoryPatchResponse extends ApiEnvelope<Inte
1935
2013
  }
1936
2014
  /** Backend query type: PaginationQuery. */
1937
2015
  export interface InteractiveIndexClassroomSessionGetQuery extends QueryParams {
1938
- "page[number]"?: number;
1939
- "page[size]"?: number;
2016
+ "page_number"?: number | null;
2017
+ "page_size"?: number | null;
1940
2018
  }
1941
2019
  /** Backend response type: crate::models::PagedResult<models::ClassroomSessionResponse>. */
1942
2020
  export interface InteractiveIndexClassroomSessionGetResponseItem extends JsonObject {
1943
2021
  "id": number;
1944
2022
  "classroom_session_id": number;
1945
2023
  "interactive_content_id": number;
1946
- "room_code"?: string;
1947
- "state"?: JsonValue;
2024
+ "room_code"?: string | null;
2025
+ "state"?: JsonValue | null;
1948
2026
  "created_at": string;
1949
2027
  }
1950
2028
  export interface InteractiveIndexClassroomSessionGetResponsePageMeta extends JsonObject {
@@ -1963,16 +2041,16 @@ export interface InteractiveIndexClassroomSessionGetResponse extends ApiEnvelope
1963
2041
  export interface InteractiveStoreClassroomSessionPostInput extends JsonObject {
1964
2042
  "classroom_session_id": number;
1965
2043
  "interactive_content_id": number;
1966
- "room_code"?: string;
1967
- "state"?: JsonValue;
2044
+ "room_code"?: string | null;
2045
+ "state"?: JsonValue | null;
1968
2046
  }
1969
2047
  /** Backend response type: models::ClassroomSessionResponse. */
1970
2048
  export interface InteractiveStoreClassroomSessionPostResponseData extends JsonObject {
1971
2049
  "id": number;
1972
2050
  "classroom_session_id": number;
1973
2051
  "interactive_content_id": number;
1974
- "room_code"?: string;
1975
- "state"?: JsonValue;
2052
+ "room_code"?: string | null;
2053
+ "state"?: JsonValue | null;
1976
2054
  "created_at": string;
1977
2055
  }
1978
2056
  export interface InteractiveStoreClassroomSessionPostResponse extends ApiEnvelope<InteractiveStoreClassroomSessionPostResponseData> {
@@ -1982,42 +2060,42 @@ export interface InteractiveShowClassroomSessionGetResponseData extends JsonObje
1982
2060
  "id": number;
1983
2061
  "classroom_session_id": number;
1984
2062
  "interactive_content_id": number;
1985
- "room_code"?: string;
1986
- "state"?: JsonValue;
2063
+ "room_code"?: string | null;
2064
+ "state"?: JsonValue | null;
1987
2065
  "created_at": string;
1988
2066
  }
1989
2067
  export interface InteractiveShowClassroomSessionGetResponse extends ApiEnvelope<InteractiveShowClassroomSessionGetResponseData> {
1990
2068
  }
1991
2069
  /** Backend request type: models::UpdateClassroomSessionRequest. */
1992
2070
  export interface InteractiveUpdateClassroomSessionPatchInput extends JsonObject {
1993
- "classroom_session_id"?: number;
1994
- "interactive_content_id"?: number;
1995
- "room_code"?: string;
1996
- "state"?: JsonValue;
2071
+ "classroom_session_id"?: number | null;
2072
+ "interactive_content_id"?: number | null;
2073
+ "room_code"?: string | null;
2074
+ "state"?: JsonValue | null;
1997
2075
  }
1998
2076
  /** Backend response type: models::ClassroomSessionResponse. */
1999
2077
  export interface InteractiveUpdateClassroomSessionPatchResponseData extends JsonObject {
2000
2078
  "id": number;
2001
2079
  "classroom_session_id": number;
2002
2080
  "interactive_content_id": number;
2003
- "room_code"?: string;
2004
- "state"?: JsonValue;
2081
+ "room_code"?: string | null;
2082
+ "state"?: JsonValue | null;
2005
2083
  "created_at": string;
2006
2084
  }
2007
2085
  export interface InteractiveUpdateClassroomSessionPatchResponse extends ApiEnvelope<InteractiveUpdateClassroomSessionPatchResponseData> {
2008
2086
  }
2009
2087
  /** Backend query type: PaginationQuery. */
2010
2088
  export interface InteractiveIndexContentGetQuery extends QueryParams {
2011
- "page[number]"?: number;
2012
- "page[size]"?: number;
2089
+ "page_number"?: number | null;
2090
+ "page_size"?: number | null;
2013
2091
  }
2014
2092
  /** Backend response type: crate::models::PagedResult<models::ContentResponse>. */
2015
2093
  export interface InteractiveIndexContentGetResponseItem extends JsonObject {
2016
2094
  "id": number;
2017
- "category_id"?: number;
2095
+ "category_id"?: number | null;
2018
2096
  "name": string;
2019
2097
  "content_type": string;
2020
- "payload"?: JsonValue;
2098
+ "payload"?: JsonValue | null;
2021
2099
  "reward_points": number;
2022
2100
  "status": string;
2023
2101
  "created_at": string;
@@ -2037,20 +2115,20 @@ export interface InteractiveIndexContentGetResponse extends ApiEnvelope<Interact
2037
2115
  }
2038
2116
  /** Backend request type: models::CreateContentRequest. */
2039
2117
  export interface InteractiveStoreContentPostInput extends JsonObject {
2040
- "category_id"?: number;
2118
+ "category_id"?: number | null;
2041
2119
  "name": string;
2042
2120
  "content_type": string;
2043
- "payload"?: JsonValue;
2121
+ "payload"?: JsonValue | null;
2044
2122
  "reward_points": number;
2045
2123
  "status": string;
2046
2124
  }
2047
2125
  /** Backend response type: models::ContentResponse. */
2048
2126
  export interface InteractiveStoreContentPostResponseData extends JsonObject {
2049
2127
  "id": number;
2050
- "category_id"?: number;
2128
+ "category_id"?: number | null;
2051
2129
  "name": string;
2052
2130
  "content_type": string;
2053
- "payload"?: JsonValue;
2131
+ "payload"?: JsonValue | null;
2054
2132
  "reward_points": number;
2055
2133
  "status": string;
2056
2134
  "created_at": string;
@@ -2061,10 +2139,10 @@ export interface InteractiveStoreContentPostResponse extends ApiEnvelope<Interac
2061
2139
  /** Backend response type: models::ContentResponse. */
2062
2140
  export interface InteractiveShowContentGetResponseData extends JsonObject {
2063
2141
  "id": number;
2064
- "category_id"?: number;
2142
+ "category_id"?: number | null;
2065
2143
  "name": string;
2066
2144
  "content_type": string;
2067
- "payload"?: JsonValue;
2145
+ "payload"?: JsonValue | null;
2068
2146
  "reward_points": number;
2069
2147
  "status": string;
2070
2148
  "created_at": string;
@@ -2074,20 +2152,20 @@ export interface InteractiveShowContentGetResponse extends ApiEnvelope<Interacti
2074
2152
  }
2075
2153
  /** Backend request type: models::UpdateContentRequest. */
2076
2154
  export interface InteractiveUpdateContentPatchInput extends JsonObject {
2077
- "category_id"?: number;
2078
- "name"?: string;
2079
- "content_type"?: string;
2080
- "payload"?: JsonValue;
2081
- "reward_points"?: number;
2082
- "status"?: string;
2155
+ "category_id"?: number | null;
2156
+ "name"?: string | null;
2157
+ "content_type"?: string | null;
2158
+ "payload"?: JsonValue | null;
2159
+ "reward_points"?: number | null;
2160
+ "status"?: string | null;
2083
2161
  }
2084
2162
  /** Backend response type: models::ContentResponse. */
2085
2163
  export interface InteractiveUpdateContentPatchResponseData extends JsonObject {
2086
2164
  "id": number;
2087
- "category_id"?: number;
2165
+ "category_id"?: number | null;
2088
2166
  "name": string;
2089
2167
  "content_type": string;
2090
- "payload"?: JsonValue;
2168
+ "payload"?: JsonValue | null;
2091
2169
  "reward_points": number;
2092
2170
  "status": string;
2093
2171
  "created_at": string;
@@ -2097,15 +2175,15 @@ export interface InteractiveUpdateContentPatchResponse extends ApiEnvelope<Inter
2097
2175
  }
2098
2176
  /** Backend query type: PaginationQuery. */
2099
2177
  export interface OpsIndexInvitationGetQuery extends QueryParams {
2100
- "page[number]"?: number;
2101
- "page[size]"?: number;
2178
+ "page_number"?: number | null;
2179
+ "page_size"?: number | null;
2102
2180
  }
2103
2181
  /** Backend response type: crate::models::PagedResult<models::InvitationResponse>. */
2104
2182
  export interface OpsIndexInvitationGetResponseItem extends JsonObject {
2105
2183
  "id": number;
2106
2184
  "inviter_user_id": string;
2107
- "invitee_user_id"?: string;
2108
- "invitee_email"?: string;
2185
+ "invitee_user_id"?: string | null;
2186
+ "invitee_email"?: string | null;
2109
2187
  "reward_status": string;
2110
2188
  "created_at": string;
2111
2189
  }
@@ -2124,16 +2202,16 @@ export interface OpsIndexInvitationGetResponse extends ApiEnvelope<OpsIndexInvit
2124
2202
  /** Backend request type: models::CreateInvitationRequest. */
2125
2203
  export interface OpsStoreInvitationPostInput extends JsonObject {
2126
2204
  "inviter_user_id": string;
2127
- "invitee_user_id"?: string;
2128
- "invitee_email"?: string;
2205
+ "invitee_user_id"?: string | null;
2206
+ "invitee_email"?: string | null;
2129
2207
  "reward_status": string;
2130
2208
  }
2131
2209
  /** Backend response type: models::InvitationResponse. */
2132
2210
  export interface OpsStoreInvitationPostResponseData extends JsonObject {
2133
2211
  "id": number;
2134
2212
  "inviter_user_id": string;
2135
- "invitee_user_id"?: string;
2136
- "invitee_email"?: string;
2213
+ "invitee_user_id"?: string | null;
2214
+ "invitee_email"?: string | null;
2137
2215
  "reward_status": string;
2138
2216
  "created_at": string;
2139
2217
  }
@@ -2143,8 +2221,8 @@ export interface OpsStoreInvitationPostResponse extends ApiEnvelope<OpsStoreInvi
2143
2221
  export interface OpsShowInvitationGetResponseData extends JsonObject {
2144
2222
  "id": number;
2145
2223
  "inviter_user_id": string;
2146
- "invitee_user_id"?: string;
2147
- "invitee_email"?: string;
2224
+ "invitee_user_id"?: string | null;
2225
+ "invitee_email"?: string | null;
2148
2226
  "reward_status": string;
2149
2227
  "created_at": string;
2150
2228
  }
@@ -2152,22 +2230,31 @@ export interface OpsShowInvitationGetResponse extends ApiEnvelope<OpsShowInvitat
2152
2230
  }
2153
2231
  /** Backend request type: models::UpdateInvitationRequest. */
2154
2232
  export interface OpsUpdateInvitationPatchInput extends JsonObject {
2155
- "inviter_user_id"?: string;
2156
- "invitee_user_id"?: string;
2157
- "invitee_email"?: string;
2158
- "reward_status"?: string;
2233
+ "inviter_user_id"?: string | null;
2234
+ "invitee_user_id"?: string | null;
2235
+ "invitee_email"?: string | null;
2236
+ "reward_status"?: string | null;
2159
2237
  }
2160
2238
  /** Backend response type: models::InvitationResponse. */
2161
2239
  export interface OpsUpdateInvitationPatchResponseData extends JsonObject {
2162
2240
  "id": number;
2163
2241
  "inviter_user_id": string;
2164
- "invitee_user_id"?: string;
2165
- "invitee_email"?: string;
2242
+ "invitee_user_id"?: string | null;
2243
+ "invitee_email"?: string | null;
2166
2244
  "reward_status": string;
2167
2245
  "created_at": string;
2168
2246
  }
2169
2247
  export interface OpsUpdateInvitationPatchResponse extends ApiEnvelope<OpsUpdateInvitationPatchResponseData> {
2170
2248
  }
2249
+ /** Backend request type: multipart/form-data. */
2250
+ export type MediaUploadImagePostInput = FormData;
2251
+ /** Backend response type: UploadResponse. */
2252
+ export interface MediaUploadImagePostResponseData extends JsonObject {
2253
+ "url": string;
2254
+ "key": string;
2255
+ }
2256
+ export interface MediaUploadImagePostResponse extends ApiEnvelope<MediaUploadImagePostResponseData> {
2257
+ }
2171
2258
  /** Backend response type: Vec<models::ClassroomReport>. */
2172
2259
  export interface ReportClassroomsGetResponseItem extends JsonObject {
2173
2260
  "classroom_id": number;
@@ -2205,15 +2292,15 @@ export interface ServiceCheckLicenceGetResponse extends ApiEnvelope<ServiceCheck
2205
2292
  }
2206
2293
  /** Backend query type: PaginationQuery. */
2207
2294
  export interface OpsIndexSupportInteractionGetQuery extends QueryParams {
2208
- "page[number]"?: number;
2209
- "page[size]"?: number;
2295
+ "page_number"?: number | null;
2296
+ "page_size"?: number | null;
2210
2297
  }
2211
2298
  /** Backend response type: crate::models::PagedResult<models::SupportInteractionResponse>. */
2212
2299
  export interface OpsIndexSupportInteractionGetResponseItem extends JsonObject {
2213
2300
  "id": number;
2214
2301
  "user_id": string;
2215
2302
  "subject": string;
2216
- "body"?: string;
2303
+ "body"?: string | null;
2217
2304
  "status": string;
2218
2305
  "created_at": string;
2219
2306
  "updated_at": string;
@@ -2234,7 +2321,7 @@ export interface OpsIndexSupportInteractionGetResponse extends ApiEnvelope<OpsIn
2234
2321
  export interface OpsStoreSupportInteractionPostInput extends JsonObject {
2235
2322
  "user_id": string;
2236
2323
  "subject": string;
2237
- "body"?: string;
2324
+ "body"?: string | null;
2238
2325
  "status": string;
2239
2326
  }
2240
2327
  /** Backend response type: models::SupportInteractionResponse. */
@@ -2242,7 +2329,7 @@ export interface OpsStoreSupportInteractionPostResponseData extends JsonObject {
2242
2329
  "id": number;
2243
2330
  "user_id": string;
2244
2331
  "subject": string;
2245
- "body"?: string;
2332
+ "body"?: string | null;
2246
2333
  "status": string;
2247
2334
  "created_at": string;
2248
2335
  "updated_at": string;
@@ -2254,7 +2341,7 @@ export interface OpsShowSupportInteractionGetResponseData extends JsonObject {
2254
2341
  "id": number;
2255
2342
  "user_id": string;
2256
2343
  "subject": string;
2257
- "body"?: string;
2344
+ "body"?: string | null;
2258
2345
  "status": string;
2259
2346
  "created_at": string;
2260
2347
  "updated_at": string;
@@ -2263,17 +2350,17 @@ export interface OpsShowSupportInteractionGetResponse extends ApiEnvelope<OpsSho
2263
2350
  }
2264
2351
  /** Backend request type: models::UpdateSupportInteractionRequest. */
2265
2352
  export interface OpsUpdateSupportInteractionPatchInput extends JsonObject {
2266
- "user_id"?: string;
2267
- "subject"?: string;
2268
- "body"?: string;
2269
- "status"?: string;
2353
+ "user_id"?: string | null;
2354
+ "subject"?: string | null;
2355
+ "body"?: string | null;
2356
+ "status"?: string | null;
2270
2357
  }
2271
2358
  /** Backend response type: models::SupportInteractionResponse. */
2272
2359
  export interface OpsUpdateSupportInteractionPatchResponseData extends JsonObject {
2273
2360
  "id": number;
2274
2361
  "user_id": string;
2275
2362
  "subject": string;
2276
- "body"?: string;
2363
+ "body"?: string | null;
2277
2364
  "status": string;
2278
2365
  "created_at": string;
2279
2366
  "updated_at": string;
@@ -2282,17 +2369,17 @@ export interface OpsUpdateSupportInteractionPatchResponse extends ApiEnvelope<Op
2282
2369
  }
2283
2370
  /** Backend query type: PaginationQuery. */
2284
2371
  export interface OpsIndexWorktimeGetQuery extends QueryParams {
2285
- "page[number]"?: number;
2286
- "page[size]"?: number;
2372
+ "page_number"?: number | null;
2373
+ "page_size"?: number | null;
2287
2374
  }
2288
2375
  /** Backend response type: crate::models::PagedResult<models::WorktimeResponse>. */
2289
2376
  export interface OpsIndexWorktimeGetResponseItem extends JsonObject {
2290
2377
  "id": number;
2291
2378
  "teacher_user_id": string;
2292
2379
  "starts_at": string;
2293
- "ends_at"?: string;
2380
+ "ends_at"?: string | null;
2294
2381
  "status": string;
2295
- "notes"?: string;
2382
+ "notes"?: string | null;
2296
2383
  "created_at": string;
2297
2384
  }
2298
2385
  export interface OpsIndexWorktimeGetResponsePageMeta extends JsonObject {
@@ -2311,18 +2398,18 @@ export interface OpsIndexWorktimeGetResponse extends ApiEnvelope<OpsIndexWorktim
2311
2398
  export interface OpsStoreWorktimePostInput extends JsonObject {
2312
2399
  "teacher_user_id": string;
2313
2400
  "starts_at": string;
2314
- "ends_at"?: string;
2401
+ "ends_at"?: string | null;
2315
2402
  "status": string;
2316
- "notes"?: string;
2403
+ "notes"?: string | null;
2317
2404
  }
2318
2405
  /** Backend response type: models::WorktimeResponse. */
2319
2406
  export interface OpsStoreWorktimePostResponseData extends JsonObject {
2320
2407
  "id": number;
2321
2408
  "teacher_user_id": string;
2322
2409
  "starts_at": string;
2323
- "ends_at"?: string;
2410
+ "ends_at"?: string | null;
2324
2411
  "status": string;
2325
- "notes"?: string;
2412
+ "notes"?: string | null;
2326
2413
  "created_at": string;
2327
2414
  }
2328
2415
  export interface OpsStoreWorktimePostResponse extends ApiEnvelope<OpsStoreWorktimePostResponseData> {
@@ -2332,34 +2419,34 @@ export interface OpsShowWorktimeGetResponseData extends JsonObject {
2332
2419
  "id": number;
2333
2420
  "teacher_user_id": string;
2334
2421
  "starts_at": string;
2335
- "ends_at"?: string;
2422
+ "ends_at"?: string | null;
2336
2423
  "status": string;
2337
- "notes"?: string;
2424
+ "notes"?: string | null;
2338
2425
  "created_at": string;
2339
2426
  }
2340
2427
  export interface OpsShowWorktimeGetResponse extends ApiEnvelope<OpsShowWorktimeGetResponseData> {
2341
2428
  }
2342
2429
  /** Backend request type: models::UpdateWorktimeRequest. */
2343
2430
  export interface OpsUpdateWorktimePatchInput extends JsonObject {
2344
- "teacher_user_id"?: string;
2345
- "starts_at"?: string;
2346
- "ends_at"?: string;
2347
- "status"?: string;
2348
- "notes"?: string;
2431
+ "teacher_user_id"?: string | null;
2432
+ "starts_at"?: string | null;
2433
+ "ends_at"?: string | null;
2434
+ "status"?: string | null;
2435
+ "notes"?: string | null;
2349
2436
  }
2350
2437
  /** Backend response type: models::WorktimeResponse. */
2351
2438
  export interface OpsUpdateWorktimePatchResponseData extends JsonObject {
2352
2439
  "id": number;
2353
2440
  "teacher_user_id": string;
2354
2441
  "starts_at": string;
2355
- "ends_at"?: string;
2442
+ "ends_at"?: string | null;
2356
2443
  "status": string;
2357
- "notes"?: string;
2444
+ "notes"?: string | null;
2358
2445
  "created_at": string;
2359
2446
  }
2360
2447
  export interface OpsUpdateWorktimePatchResponse extends ApiEnvelope<OpsUpdateWorktimePatchResponseData> {
2361
2448
  }
2362
- /** Backend response type: response without a declared JSON model. */
2449
+ /** Backend response type: handler-defined response. */
2363
2450
  export interface RouterStatusRouteGetResponse extends ApiEnvelope<JsonValue> {
2364
2451
  }
2365
2452
  //# sourceMappingURL=operations.types.d.ts.map