@faiber/faiber-lms 0.24.1 → 1.1.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.
- package/README.md +85 -6
- package/dist/.tsbuildinfo +1 -1
- package/dist/branding.types.d.ts +24 -0
- package/dist/branding.types.d.ts.map +1 -0
- package/dist/branding.types.js +2 -0
- package/dist/branding.types.js.map +1 -0
- package/dist/index.d.ts +84 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -17
- package/dist/index.js.map +1 -1
- package/dist/interactive.d.ts +14 -14
- package/dist/interactive.d.ts.map +1 -1
- package/dist/media.d.ts +1 -1
- package/dist/notification-settings.d.ts +4 -4
- package/dist/operations.d.ts +702 -748
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +533 -589
- package/dist/operations.js.map +1 -1
- package/dist/operations.types.d.ts +1392 -1548
- package/dist/operations.types.d.ts.map +1 -1
- package/dist/types.d.ts +88 -364
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/wire.types.d.ts +204 -0
- package/dist/wire.types.d.ts.map +1 -0
- package/dist/wire.types.js +2 -0
- package/dist/wire.types.js.map +1 -0
- package/package.json +4 -3
- package/provenance.json +32 -0
package/dist/types.d.ts
CHANGED
|
@@ -36,78 +36,6 @@ export interface TransferUserDataErrorResponse {
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
export type AiSummaryRole = "student" | "teacher" | "support";
|
|
40
|
-
export type AiSummaryState = "disabled" | "pending" | "generating" | "ready" | "no_data" | "blocked" | "failed";
|
|
41
|
-
export type AiMetricStatus = "available" | "insufficient_evidence" | "not_applicable";
|
|
42
|
-
export interface AiPerformanceMetric extends JsonObject {
|
|
43
|
-
id: string;
|
|
44
|
-
label: string;
|
|
45
|
-
description: string;
|
|
46
|
-
value: number | null;
|
|
47
|
-
min: 0;
|
|
48
|
-
max: 100;
|
|
49
|
-
unit: "percent" | "score";
|
|
50
|
-
method: "calculated" | "ai_assessed" | "derived";
|
|
51
|
-
status: AiMetricStatus;
|
|
52
|
-
explanation: string;
|
|
53
|
-
supporting_data: JsonValue;
|
|
54
|
-
evidence_count: number;
|
|
55
|
-
evidence_refs: string[];
|
|
56
|
-
rubric_version: string;
|
|
57
|
-
confidence: string | null;
|
|
58
|
-
improvement_advice: string | null;
|
|
59
|
-
}
|
|
60
|
-
export interface AiImprovementAction extends JsonObject {
|
|
61
|
-
metric_id: string;
|
|
62
|
-
action: string;
|
|
63
|
-
reason: string;
|
|
64
|
-
success_criterion: string;
|
|
65
|
-
}
|
|
66
|
-
export interface AiPerformanceSummaryContent extends JsonObject {
|
|
67
|
-
metrics: AiPerformanceMetric[];
|
|
68
|
-
short_summary: string;
|
|
69
|
-
detailed_summary: string;
|
|
70
|
-
improvement_actions: AiImprovementAction[];
|
|
71
|
-
}
|
|
72
|
-
export interface AiLatestSummary extends JsonObject {
|
|
73
|
-
subject_user_id: string;
|
|
74
|
-
role: AiSummaryRole;
|
|
75
|
-
enabled: boolean;
|
|
76
|
-
state: AiSummaryState;
|
|
77
|
-
freshness: "fresh" | "stale" | "unavailable";
|
|
78
|
-
language: "fa" | "en" | null;
|
|
79
|
-
model_ref: string | null;
|
|
80
|
-
classroom_ids: string[];
|
|
81
|
-
evidence_cutoff: string | null;
|
|
82
|
-
generated_at: string | null;
|
|
83
|
-
next_refresh_at: string | null;
|
|
84
|
-
summary: AiPerformanceSummaryContent | null;
|
|
85
|
-
}
|
|
86
|
-
export interface AiRoleSummarySettings extends JsonObject {
|
|
87
|
-
role: AiSummaryRole;
|
|
88
|
-
enabled: boolean;
|
|
89
|
-
model_ref: string | null;
|
|
90
|
-
language: "fa" | "en";
|
|
91
|
-
guidance: string;
|
|
92
|
-
quiet_minutes: number;
|
|
93
|
-
max_wait_minutes: number;
|
|
94
|
-
config_revision: number;
|
|
95
|
-
}
|
|
96
|
-
export interface AiSummarySettings extends JsonObject {
|
|
97
|
-
globally_enabled: boolean;
|
|
98
|
-
financial_owner_user_id: string | null;
|
|
99
|
-
roles: AiRoleSummarySettings[];
|
|
100
|
-
}
|
|
101
|
-
export interface AiSummarySettingsInput extends JsonObject {
|
|
102
|
-
globally_enabled: boolean;
|
|
103
|
-
roles: Omit<AiRoleSummarySettings, "config_revision">[];
|
|
104
|
-
}
|
|
105
|
-
export interface AiSummaryModel extends JsonObject {
|
|
106
|
-
model_ref: string;
|
|
107
|
-
model: string;
|
|
108
|
-
provider_label: string;
|
|
109
|
-
source: string;
|
|
110
|
-
}
|
|
111
39
|
export interface EvaluationQuestion extends JsonObject {
|
|
112
40
|
stable_id: string;
|
|
113
41
|
version: number;
|
|
@@ -128,39 +56,21 @@ export interface EvaluationQuestionInput extends JsonObject {
|
|
|
128
56
|
metric_id: string;
|
|
129
57
|
label_en: string;
|
|
130
58
|
label_fa: string;
|
|
131
|
-
description_en
|
|
132
|
-
description_fa
|
|
59
|
+
description_en?: string;
|
|
60
|
+
description_fa?: string;
|
|
133
61
|
allow_not_applicable: boolean;
|
|
134
62
|
enabled: boolean;
|
|
135
63
|
archived?: boolean;
|
|
136
64
|
sort_order: number;
|
|
137
65
|
}
|
|
138
|
-
export type AiSummarySettingsResponse = ApiEnvelope<AiSummarySettings>;
|
|
139
|
-
export type AiSummaryModelsResponse = ApiEnvelope<AiSummaryModel[]>;
|
|
140
|
-
export type AiLatestSummaryResponse = ApiEnvelope<AiLatestSummary>;
|
|
141
|
-
export type AiRefreshSummaryResponse = ApiEnvelope<{
|
|
142
|
-
subject_user_id: string;
|
|
143
|
-
role: AiSummaryRole;
|
|
144
|
-
state: "pending";
|
|
145
|
-
due_at: string;
|
|
146
|
-
}>;
|
|
147
66
|
export interface LmsEntity extends JsonObject {
|
|
148
67
|
id: string;
|
|
149
68
|
name?: string | null;
|
|
150
69
|
title?: string | null;
|
|
151
70
|
status?: string | null;
|
|
152
71
|
}
|
|
153
|
-
export
|
|
154
|
-
|
|
155
|
-
price: string | null;
|
|
156
|
-
in_person_price: string | null;
|
|
157
|
-
online_price: string | null;
|
|
158
|
-
title: string;
|
|
159
|
-
category_id?: string;
|
|
160
|
-
}
|
|
161
|
-
export interface CourseCategory extends LmsEntity {
|
|
162
|
-
name: string;
|
|
163
|
-
}
|
|
72
|
+
export type Course = import("./operations.types.js").CourseShowCourseGetResponseData;
|
|
73
|
+
export type CourseCategory = import("./operations.types.js").CourseShowCategoryGetResponseData;
|
|
164
74
|
/** Course session, including its external or DRM-backed video source. */
|
|
165
75
|
export interface CourseSession extends LmsEntity {
|
|
166
76
|
id: string;
|
|
@@ -185,18 +95,7 @@ export interface VideoSection extends LmsEntity {
|
|
|
185
95
|
course_id?: string;
|
|
186
96
|
video_url?: string;
|
|
187
97
|
}
|
|
188
|
-
export
|
|
189
|
-
course_id?: string;
|
|
190
|
-
course_name?: string | null;
|
|
191
|
-
teacher_user_id?: string | null;
|
|
192
|
-
teacher_profile?: ClassroomSessionTeacherProfile | null;
|
|
193
|
-
consultant_user_id?: string | null;
|
|
194
|
-
consultant_profile?: ClassroomSessionTeacherProfile | null;
|
|
195
|
-
support_user_id?: string | null;
|
|
196
|
-
support_profile?: ClassroomSessionTeacherProfile | null;
|
|
197
|
-
starts_at?: string;
|
|
198
|
-
weekly_schedule?: ClassroomWeeklyScheduleRule[];
|
|
199
|
-
}
|
|
98
|
+
export type Classroom = import("./operations.types.js").ClassroomShowClassroomGetResponseData;
|
|
200
99
|
/** Canonical LMS schedule: Sunday is 0, Saturday is 6; times are local to the rule offset. The rule's mode selects the generated primary session type. */
|
|
201
100
|
export interface ClassroomWeeklyScheduleRule extends JsonObject {
|
|
202
101
|
day_of_week: number;
|
|
@@ -206,7 +105,7 @@ export interface ClassroomWeeklyScheduleRule extends JsonObject {
|
|
|
206
105
|
id?: string;
|
|
207
106
|
day?: string;
|
|
208
107
|
start_time?: string;
|
|
209
|
-
mode?: "online" | "interactive" | "in_person" | "makeup";
|
|
108
|
+
mode?: "online" | "interactive" | "composition" | "in_person" | "makeup" | (string & {});
|
|
210
109
|
delivery_type?: string;
|
|
211
110
|
delivery_type_name?: string;
|
|
212
111
|
session_type?: string;
|
|
@@ -217,7 +116,7 @@ export interface ClassroomLegacyWeeklyScheduleRule extends JsonObject {
|
|
|
217
116
|
day: string;
|
|
218
117
|
start_time: string;
|
|
219
118
|
id?: string;
|
|
220
|
-
mode?: "online" | "interactive" | "in_person" | "makeup";
|
|
119
|
+
mode?: "online" | "interactive" | "composition" | "in_person" | "makeup" | (string & {});
|
|
221
120
|
delivery_type?: string;
|
|
222
121
|
delivery_type_name?: string;
|
|
223
122
|
session_type?: string;
|
|
@@ -239,16 +138,7 @@ export interface ClassroomSessionType extends JsonObject {
|
|
|
239
138
|
updated_at: string;
|
|
240
139
|
}
|
|
241
140
|
/** Minimal server-resolved teacher identity shown with a classroom session. */
|
|
242
|
-
export
|
|
243
|
-
id?: string;
|
|
244
|
-
user_id?: string;
|
|
245
|
-
first_name?: JsonValue;
|
|
246
|
-
last_name?: JsonValue;
|
|
247
|
-
email?: string;
|
|
248
|
-
phone?: string;
|
|
249
|
-
national_code?: string;
|
|
250
|
-
avatar?: string;
|
|
251
|
-
}
|
|
141
|
+
export type ClassroomSessionTeacherProfile = import("./wire.types.js").LmsProfileSummary;
|
|
252
142
|
/** Course-session metadata embedded in a classroom-session read. */
|
|
253
143
|
export interface ClassroomCourseSession extends JsonObject {
|
|
254
144
|
id: string;
|
|
@@ -262,65 +152,13 @@ export interface ClassroomCourseSession extends JsonObject {
|
|
|
262
152
|
status: string;
|
|
263
153
|
}
|
|
264
154
|
/** Classroom session returned by list, today, create, show, and update operations. */
|
|
265
|
-
export
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
classroom_id: string;
|
|
270
|
-
classroom_name: string | null;
|
|
271
|
-
course_session_id: string | null;
|
|
272
|
-
course_session: ClassroomCourseSession | null;
|
|
273
|
-
course_session_type_id: string | null;
|
|
274
|
-
session_type: ClassroomSessionType | null;
|
|
275
|
-
name: string | null;
|
|
276
|
-
session_number: number | null;
|
|
277
|
-
duration_minutes: number | null;
|
|
278
|
-
description: string | null;
|
|
279
|
-
teacher_user_id: string | null;
|
|
280
|
-
teacher_profile: ClassroomSessionTeacherProfile | null;
|
|
281
|
-
locked: boolean;
|
|
282
|
-
auto_unlock: boolean;
|
|
283
|
-
auto_present: boolean;
|
|
284
|
-
invited: boolean;
|
|
285
|
-
session_room_id: string | null;
|
|
286
|
-
starts_at: string | null;
|
|
287
|
-
ends_at: string | null;
|
|
288
|
-
status: string;
|
|
289
|
-
created_at: string;
|
|
290
|
-
updated_at: string;
|
|
291
|
-
}
|
|
292
|
-
export interface Exam extends LmsEntity {
|
|
293
|
-
course_id?: string | null;
|
|
294
|
-
grade_id?: string | null;
|
|
295
|
-
name: string;
|
|
296
|
-
description?: string | null;
|
|
297
|
-
info?: string | null;
|
|
298
|
-
cover_url?: string | null;
|
|
299
|
-
duration_minutes?: number | null;
|
|
300
|
-
passing_mark?: number | null;
|
|
301
|
-
questions_count?: number | null;
|
|
302
|
-
easy_count?: number | null;
|
|
303
|
-
medium_count?: number | null;
|
|
304
|
-
hard_count?: number | null;
|
|
305
|
-
selection_mode?: string;
|
|
306
|
-
status: string;
|
|
307
|
-
}
|
|
308
|
-
export interface ExamQuestion extends LmsEntity {
|
|
309
|
-
exam_id: string;
|
|
310
|
-
question_text?: string;
|
|
311
|
-
question_type?: string;
|
|
312
|
-
difficulty?: string;
|
|
313
|
-
points?: number;
|
|
314
|
-
sort_order?: number;
|
|
315
|
-
}
|
|
316
|
-
export interface ExamSession extends LmsEntity {
|
|
317
|
-
exam_id?: string;
|
|
318
|
-
user_id?: string;
|
|
319
|
-
score?: number;
|
|
320
|
-
}
|
|
155
|
+
export type ClassroomSession = import("./operations.types.js").ClassroomShowSessionGetResponseData;
|
|
156
|
+
export type Exam = import("./operations.types.js").ExamShowExamGetResponseData;
|
|
157
|
+
export type ExamQuestion = import("./operations.types.js").ExamShowQuestionGetResponseData;
|
|
158
|
+
export type ExamSession = import("./operations.types.js").ExamShowSessionGetResponseData;
|
|
321
159
|
export type HomeworkItemKind = "todo" | "project";
|
|
322
160
|
export type HomeworkDifficulty = "easy" | "medium" | "hard";
|
|
323
|
-
export declare const HOMEWORK_ASSIGNMENT_STATUSES: readonly ["pending", "assigned", "submitted", "unsolved", "ungraded", "incorrect", "incomplete", "completed_with_remediation", "completed", "rejected", "inactive"];
|
|
161
|
+
export declare const HOMEWORK_ASSIGNMENT_STATUSES: readonly ["pending", "assigned", "submitted", "unsolved", "ungraded", "incorrect", "incomplete", "completed_with_remediation", "completed", "rejected", "inactive", "reviewed"];
|
|
324
162
|
export type HomeworkAssignmentStatus = typeof HOMEWORK_ASSIGNMENT_STATUSES[number];
|
|
325
163
|
/** Filters reusable homework banks by explicitly assigned delivery staff. */
|
|
326
164
|
export interface HomeworkBankListQuery extends QueryParams {
|
|
@@ -368,6 +206,7 @@ export interface HomeworkAssignmentListQuery extends QueryParams {
|
|
|
368
206
|
statuses?: readonly HomeworkAssignmentStatus[];
|
|
369
207
|
/** The assigned homework-bank item/question ID, not its parent bank ID. */
|
|
370
208
|
homework_id?: string;
|
|
209
|
+
course_id?: string;
|
|
371
210
|
classroom_id?: string;
|
|
372
211
|
/** Match any related participant or staff member. */
|
|
373
212
|
user_id?: string;
|
|
@@ -400,45 +239,13 @@ export interface ExamSessionListQuery extends QueryParams {
|
|
|
400
239
|
from?: string;
|
|
401
240
|
to?: string;
|
|
402
241
|
}
|
|
403
|
-
export
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
course_name?: string | null;
|
|
408
|
-
grade_id?: string | null;
|
|
409
|
-
teacher_grade_id?: string | null;
|
|
410
|
-
name: string;
|
|
411
|
-
title?: string | null;
|
|
412
|
-
description?: string | null;
|
|
413
|
-
status: "active" | "inactive";
|
|
414
|
-
sort_order: number;
|
|
415
|
-
difficulty?: HomeworkDifficulty | null;
|
|
416
|
-
points: number;
|
|
417
|
-
created_at: string;
|
|
418
|
-
updated_at: string;
|
|
419
|
-
}
|
|
420
|
-
export type HomeworkBank = Homework;
|
|
421
|
-
export type CreateHomeworkBankInput = CreateHomeworkInput;
|
|
422
|
-
export type UpdateHomeworkBankInput = UpdateHomeworkInput;
|
|
242
|
+
export type Homework = import("./operations.types.js").HomeworkShowHomeworkGetResponseData;
|
|
243
|
+
export type HomeworkBank = import("./operations.types.js").HomeworkShowBankGetResponseData;
|
|
244
|
+
export type CreateHomeworkBankInput = import("./operations.types.js").HomeworkStoreBankPostInput;
|
|
245
|
+
export type UpdateHomeworkBankInput = import("./operations.types.js").HomeworkUpdateBankPatchInput;
|
|
423
246
|
export type ExamBank = Exam;
|
|
424
247
|
export type ExamBankItem = ExamQuestion;
|
|
425
|
-
export
|
|
426
|
-
homework_id: string;
|
|
427
|
-
/** Explicit name, or the server-generated 80-character question-text fallback. */
|
|
428
|
-
name: string;
|
|
429
|
-
question_text: string;
|
|
430
|
-
description?: string | null;
|
|
431
|
-
answer?: string | null;
|
|
432
|
-
question_type: "notification" | "answer" | "link" | (string & {});
|
|
433
|
-
kind: HomeworkItemKind;
|
|
434
|
-
points: number;
|
|
435
|
-
is_final: boolean;
|
|
436
|
-
media: JsonValue;
|
|
437
|
-
status: "active" | "inactive";
|
|
438
|
-
sort_order: number;
|
|
439
|
-
created_at: string;
|
|
440
|
-
updated_at: string;
|
|
441
|
-
}
|
|
248
|
+
export type HomeworkQuestion = import("./operations.types.js").HomeworkShowQuestionGetResponseData;
|
|
442
249
|
export type HomeworkBankItem = HomeworkQuestion;
|
|
443
250
|
export type CertificateStatus = "draft" | "issued" | "revoked" | (string & {});
|
|
444
251
|
export type CertificateTemplateStatus = "active" | "inactive" | (string & {});
|
|
@@ -477,7 +284,8 @@ export interface CertificateTemplate extends LmsEntity {
|
|
|
477
284
|
background_url: string;
|
|
478
285
|
canvas_width: number;
|
|
479
286
|
canvas_height: number;
|
|
480
|
-
layout
|
|
287
|
+
/** Arbitrary persisted JSON; the backend also emits an empty object for an unset layout. */
|
|
288
|
+
layout: JsonValue;
|
|
481
289
|
status: CertificateTemplateStatus;
|
|
482
290
|
created_at: string;
|
|
483
291
|
updated_at: string;
|
|
@@ -489,7 +297,7 @@ export interface CertificateRenderSnapshot extends JsonObject {
|
|
|
489
297
|
background_url?: string;
|
|
490
298
|
canvas_width?: number;
|
|
491
299
|
canvas_height?: number;
|
|
492
|
-
layout?:
|
|
300
|
+
layout?: JsonValue;
|
|
493
301
|
};
|
|
494
302
|
certificate?: {
|
|
495
303
|
title?: string;
|
|
@@ -537,7 +345,8 @@ export interface Certificate extends LmsEntity {
|
|
|
537
345
|
media_url: string | null;
|
|
538
346
|
revoked_at: string | null;
|
|
539
347
|
revoke_reason: string | null;
|
|
540
|
-
|
|
348
|
+
/** Arbitrary persisted snapshot JSON, including legacy snapshots and the empty-object default. */
|
|
349
|
+
render_snapshot: JsonValue;
|
|
541
350
|
created_at: string;
|
|
542
351
|
updated_at: string;
|
|
543
352
|
}
|
|
@@ -563,12 +372,8 @@ export interface InteractiveContent extends LmsEntity {
|
|
|
563
372
|
content_type?: string;
|
|
564
373
|
content?: JsonObject;
|
|
565
374
|
}
|
|
566
|
-
export
|
|
567
|
-
|
|
568
|
-
}
|
|
569
|
-
export interface ClassroomType extends LmsEntity {
|
|
570
|
-
name: string;
|
|
571
|
-
}
|
|
375
|
+
export type Grade = import("./operations.types.js").ConfigShowGradeGetResponseData;
|
|
376
|
+
export type ClassroomType = import("./operations.types.js").ConfigShowClassroomTypeGetResponseData;
|
|
572
377
|
export interface TextTemplate extends LmsEntity {
|
|
573
378
|
name: string;
|
|
574
379
|
content?: string;
|
|
@@ -580,23 +385,14 @@ export interface CreateLmsEntityInput extends JsonObject {
|
|
|
580
385
|
}
|
|
581
386
|
export interface UpdateLmsEntityInput extends Partial<CreateLmsEntityInput> {
|
|
582
387
|
}
|
|
583
|
-
export
|
|
584
|
-
|
|
585
|
-
/** Independent delivery prices; null leaves a price unset. */
|
|
586
|
-
in_person_price?: string | null;
|
|
587
|
-
online_price?: string | null;
|
|
588
|
-
title: string;
|
|
589
|
-
category_id?: string;
|
|
590
|
-
description?: string;
|
|
591
|
-
}
|
|
592
|
-
export interface UpdateCourseInput extends Partial<CreateCourseInput> {
|
|
593
|
-
}
|
|
388
|
+
export type CreateCourseInput = import("./operations.types.js").CourseStoreCoursePostInput;
|
|
389
|
+
export type UpdateCourseInput = import("./operations.types.js").CourseUpdateCoursePatchInput;
|
|
594
390
|
export interface CreateCourseSessionInput extends CreateLmsEntityInput {
|
|
595
391
|
course_id: string;
|
|
596
392
|
name: string;
|
|
597
393
|
description?: string | null;
|
|
598
394
|
sort_order: number;
|
|
599
|
-
session_type
|
|
395
|
+
session_type?: string;
|
|
600
396
|
session_type_id?: string | null;
|
|
601
397
|
exam_id?: string | null;
|
|
602
398
|
duration_minutes?: number | null;
|
|
@@ -609,113 +405,47 @@ export interface CreateCourseSessionInput extends CreateLmsEntityInput {
|
|
|
609
405
|
}
|
|
610
406
|
export interface UpdateCourseSessionInput extends Partial<Omit<CreateCourseSessionInput, "course_id">> {
|
|
611
407
|
}
|
|
612
|
-
export
|
|
613
|
-
|
|
614
|
-
}
|
|
615
|
-
export interface UpdateCourseCategoryInput extends Partial<CreateCourseCategoryInput> {
|
|
616
|
-
}
|
|
408
|
+
export type CreateCourseCategoryInput = import("./operations.types.js").CourseStoreCategoryPostInput;
|
|
409
|
+
export type UpdateCourseCategoryInput = import("./operations.types.js").CourseUpdateCategoryPatchInput;
|
|
617
410
|
export interface CreateVideoSectionInput extends CreateLmsEntityInput {
|
|
618
411
|
course_id: string;
|
|
619
412
|
video_url?: string;
|
|
620
413
|
}
|
|
621
414
|
export interface UpdateVideoSectionInput extends Partial<CreateVideoSectionInput> {
|
|
622
415
|
}
|
|
623
|
-
export
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
416
|
+
export type CreateClassroomInput = import("./operations.types.js").ClassroomStoreClassroomPostInput;
|
|
417
|
+
export type UpdateClassroomInput = import("./operations.types.js").ClassroomUpdateClassroomPatchInput;
|
|
418
|
+
export type CreateClassroomSessionInput = import("./operations.types.js").ClassroomStoreSessionPostInput;
|
|
419
|
+
export type UpdateClassroomSessionInput = import("./operations.types.js").ClassroomUpdateSessionPatchInput;
|
|
420
|
+
export type CreateExamInput = import("./operations.types.js").ExamStoreExamPostInput;
|
|
421
|
+
export type UpdateExamInput = import("./operations.types.js").ExamUpdateExamPatchInput;
|
|
422
|
+
export type CreateExamQuestionInput = import("./operations.types.js").ExamStoreQuestionPostInput;
|
|
423
|
+
export type UpdateExamQuestionInput = import("./operations.types.js").ExamUpdateQuestionPatchInput;
|
|
424
|
+
export type CreateExamSessionInput = import("./operations.types.js").ExamStoreSessionPostInput;
|
|
425
|
+
export interface UpdateExamSessionInput extends JsonObject {
|
|
426
|
+
exam_id?: string | null;
|
|
427
|
+
classroom_id?: string | null;
|
|
428
|
+
classroom_session_id?: string | null;
|
|
429
|
+
name?: string | null;
|
|
629
430
|
description?: string | null;
|
|
630
431
|
info?: string | null;
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
432
|
+
duration_minutes?: number | null;
|
|
433
|
+
questions_count?: number | null;
|
|
434
|
+
easy_count?: number | null;
|
|
435
|
+
medium_count?: number | null;
|
|
436
|
+
hard_count?: number | null;
|
|
437
|
+
selection_mode?: string | null;
|
|
634
438
|
teacher_user_id?: string | null;
|
|
635
439
|
consultant_user_id?: string | null;
|
|
636
440
|
support_user_id?: string | null;
|
|
637
|
-
|
|
638
|
-
notifications?: JsonValue;
|
|
639
|
-
weekly_schedule?: ClassroomWeeklyScheduleRuleInput[];
|
|
640
|
-
check_sessions?: JsonValue;
|
|
441
|
+
starts_at?: string | null;
|
|
641
442
|
ends_at?: string | null;
|
|
443
|
+
status?: string | null;
|
|
642
444
|
}
|
|
643
|
-
export
|
|
644
|
-
|
|
645
|
-
export
|
|
646
|
-
|
|
647
|
-
student_user_ids?: string[] | null;
|
|
648
|
-
course_session_type_id?: string;
|
|
649
|
-
classroom_id: string;
|
|
650
|
-
course_session_id?: string;
|
|
651
|
-
name?: string;
|
|
652
|
-
session_number?: number;
|
|
653
|
-
duration_minutes?: number;
|
|
654
|
-
description?: string;
|
|
655
|
-
teacher_user_id?: string;
|
|
656
|
-
locked?: boolean;
|
|
657
|
-
auto_unlock?: boolean;
|
|
658
|
-
auto_present?: boolean;
|
|
659
|
-
invited?: boolean;
|
|
660
|
-
starts_at?: string;
|
|
661
|
-
ends_at?: string;
|
|
662
|
-
status: string;
|
|
663
|
-
}
|
|
664
|
-
export interface UpdateClassroomSessionInput extends Partial<Omit<CreateClassroomSessionInput, "student_user_ids">> {
|
|
665
|
-
/** Confirms deletion of recordings when this reschedule resets an existing room generation. */
|
|
666
|
-
confirm_recording_reset?: boolean;
|
|
667
|
-
/** Reassigns every later classroom session to weekly schedule slots after the selected start. */
|
|
668
|
-
shift_following_sessions?: boolean;
|
|
669
|
-
}
|
|
670
|
-
export interface CreateExamInput extends CreateLmsEntityInput {
|
|
671
|
-
course_id?: string;
|
|
672
|
-
duration_minutes?: number;
|
|
673
|
-
}
|
|
674
|
-
export interface UpdateExamInput extends Partial<CreateExamInput> {
|
|
675
|
-
}
|
|
676
|
-
export interface CreateExamQuestionInput extends CreateLmsEntityInput {
|
|
677
|
-
exam_id: string;
|
|
678
|
-
question: string;
|
|
679
|
-
}
|
|
680
|
-
export interface UpdateExamQuestionInput extends Partial<CreateExamQuestionInput> {
|
|
681
|
-
}
|
|
682
|
-
export interface CreateExamSessionInput extends CreateLmsEntityInput {
|
|
683
|
-
exam_id: string;
|
|
684
|
-
user_id: string;
|
|
685
|
-
}
|
|
686
|
-
export interface UpdateExamSessionInput extends Partial<CreateExamSessionInput> {
|
|
687
|
-
score?: number;
|
|
688
|
-
}
|
|
689
|
-
export interface CreateHomeworkInput extends JsonObject {
|
|
690
|
-
name: string;
|
|
691
|
-
status: "active" | "inactive";
|
|
692
|
-
homework_bank_id?: string;
|
|
693
|
-
course_id?: string;
|
|
694
|
-
title?: string | null;
|
|
695
|
-
description?: string | null;
|
|
696
|
-
sort_order?: number;
|
|
697
|
-
difficulty?: HomeworkDifficulty | null;
|
|
698
|
-
points?: number;
|
|
699
|
-
}
|
|
700
|
-
export interface UpdateHomeworkInput extends Partial<CreateHomeworkInput> {
|
|
701
|
-
}
|
|
702
|
-
export interface CreateHomeworkQuestionInput extends JsonObject {
|
|
703
|
-
homework_id: string;
|
|
704
|
-
/** Optional display name; blank or omitted names fall back to truncated question text. */
|
|
705
|
-
name?: string | null;
|
|
706
|
-
question_text: string;
|
|
707
|
-
description?: string | null;
|
|
708
|
-
answer?: string | null;
|
|
709
|
-
question_type?: "notification" | "answer" | "link" | (string & {});
|
|
710
|
-
kind?: HomeworkItemKind;
|
|
711
|
-
points?: number;
|
|
712
|
-
is_final?: boolean;
|
|
713
|
-
media?: JsonValue;
|
|
714
|
-
status?: "active" | "inactive";
|
|
715
|
-
sort_order?: number;
|
|
716
|
-
}
|
|
717
|
-
export interface UpdateHomeworkQuestionInput extends Partial<CreateHomeworkQuestionInput> {
|
|
718
|
-
}
|
|
445
|
+
export type CreateHomeworkInput = import("./operations.types.js").HomeworkStoreHomeworkPostInput;
|
|
446
|
+
export type UpdateHomeworkInput = import("./operations.types.js").HomeworkUpdateHomeworkPatchInput;
|
|
447
|
+
export type CreateHomeworkQuestionInput = import("./operations.types.js").HomeworkStoreQuestionPostInput;
|
|
448
|
+
export type UpdateHomeworkQuestionInput = import("./operations.types.js").HomeworkUpdateQuestionPatchInput;
|
|
719
449
|
export interface CreateCertificateInput extends CreateLmsEntityInput {
|
|
720
450
|
user_id: string;
|
|
721
451
|
course_id?: string | null;
|
|
@@ -728,7 +458,7 @@ export interface CreateCertificateInput extends CreateLmsEntityInput {
|
|
|
728
458
|
issued_by?: string | null;
|
|
729
459
|
issued_at: string;
|
|
730
460
|
media_url?: string | null;
|
|
731
|
-
render_snapshot?:
|
|
461
|
+
render_snapshot?: JsonValue;
|
|
732
462
|
}
|
|
733
463
|
export interface UpdateCertificateInput extends JsonObject {
|
|
734
464
|
user_id?: string;
|
|
@@ -740,7 +470,7 @@ export interface UpdateCertificateInput extends JsonObject {
|
|
|
740
470
|
verification_code?: string | null;
|
|
741
471
|
issued_at?: string;
|
|
742
472
|
media_url?: string | null;
|
|
743
|
-
render_snapshot?:
|
|
473
|
+
render_snapshot?: JsonValue;
|
|
744
474
|
revoke_reason?: string;
|
|
745
475
|
}
|
|
746
476
|
export interface CreateCertificateTemplateInput extends JsonObject {
|
|
@@ -749,7 +479,7 @@ export interface CreateCertificateTemplateInput extends JsonObject {
|
|
|
749
479
|
background_url: string;
|
|
750
480
|
canvas_width: number;
|
|
751
481
|
canvas_height: number;
|
|
752
|
-
layout?:
|
|
482
|
+
layout?: JsonValue;
|
|
753
483
|
status?: CertificateTemplateStatus;
|
|
754
484
|
}
|
|
755
485
|
export interface UpdateCertificateTemplateInput extends JsonObject {
|
|
@@ -758,7 +488,7 @@ export interface UpdateCertificateTemplateInput extends JsonObject {
|
|
|
758
488
|
background_url?: string;
|
|
759
489
|
canvas_width?: number;
|
|
760
490
|
canvas_height?: number;
|
|
761
|
-
layout?:
|
|
491
|
+
layout?: JsonValue;
|
|
762
492
|
status?: CertificateTemplateStatus;
|
|
763
493
|
}
|
|
764
494
|
export interface CreateEventInput extends CreateLmsEntityInput {
|
|
@@ -773,32 +503,18 @@ export interface CreateInteractiveContentInput extends CreateLmsEntityInput {
|
|
|
773
503
|
}
|
|
774
504
|
export interface UpdateInteractiveContentInput extends Partial<CreateInteractiveContentInput> {
|
|
775
505
|
}
|
|
776
|
-
export
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
export
|
|
780
|
-
}
|
|
781
|
-
export interface CreateClassroomTypeInput extends CreateLmsEntityInput {
|
|
782
|
-
name: string;
|
|
783
|
-
}
|
|
784
|
-
export interface UpdateClassroomTypeInput extends Partial<CreateClassroomTypeInput> {
|
|
785
|
-
}
|
|
506
|
+
export type CreateGradeInput = import("./operations.types.js").ConfigStoreGradePostInput;
|
|
507
|
+
export type UpdateGradeInput = import("./operations.types.js").ConfigUpdateGradePatchInput;
|
|
508
|
+
export type CreateClassroomTypeInput = import("./operations.types.js").ConfigStoreClassroomTypePostInput;
|
|
509
|
+
export type UpdateClassroomTypeInput = import("./operations.types.js").ConfigUpdateClassroomTypePatchInput;
|
|
786
510
|
export interface CreateTextTemplateInput extends CreateLmsEntityInput {
|
|
787
511
|
name: string;
|
|
788
512
|
content?: string;
|
|
789
513
|
}
|
|
790
514
|
export interface UpdateTextTemplateInput extends Partial<CreateTextTemplateInput> {
|
|
791
515
|
}
|
|
792
|
-
export
|
|
793
|
-
|
|
794
|
-
role?: string;
|
|
795
|
-
}
|
|
796
|
-
export interface LmsDashboard extends JsonObject {
|
|
797
|
-
courses: number;
|
|
798
|
-
classrooms: number;
|
|
799
|
-
students: number;
|
|
800
|
-
teachers: number;
|
|
801
|
-
}
|
|
516
|
+
export type ClassroomUserInput = import("./operations.types.js").ClassroomEnrollClassroomUserPostInput;
|
|
517
|
+
export type LmsDashboard = import("./operations.types.js").DashboardIndexGetResponseData;
|
|
802
518
|
export interface ReportRow extends JsonObject {
|
|
803
519
|
id: string;
|
|
804
520
|
name?: string;
|
|
@@ -836,6 +552,7 @@ export interface ClassroomSessionListQuery extends QueryParams {
|
|
|
836
552
|
page_size?: number;
|
|
837
553
|
status?: string;
|
|
838
554
|
classroom_id?: string;
|
|
555
|
+
user_id?: string;
|
|
839
556
|
from?: string;
|
|
840
557
|
to?: string;
|
|
841
558
|
}
|
|
@@ -861,24 +578,24 @@ export interface ClassroomSessionLinks extends JsonObject {
|
|
|
861
578
|
room: string | null;
|
|
862
579
|
recording: string | null;
|
|
863
580
|
}
|
|
864
|
-
export
|
|
865
|
-
}
|
|
581
|
+
export type ClassroomUserResponse = import("./operations.types.js").ClassroomEnrollClassroomUserPostResponse;
|
|
866
582
|
export interface LmsReportResponse extends ApiEnvelope<ReportRow[]> {
|
|
867
583
|
}
|
|
868
584
|
/** Learner-facing academy category returned from the active catalog. */
|
|
869
585
|
export interface AcademyCategory {
|
|
870
|
-
id:
|
|
586
|
+
id: string;
|
|
871
587
|
name_fa: string;
|
|
872
588
|
name_en: string;
|
|
873
589
|
description_fa: string | null;
|
|
874
590
|
description_en: string | null;
|
|
591
|
+
image_url: string | null;
|
|
875
592
|
}
|
|
876
593
|
export interface AcademyCatalogQuery extends QueryParams {
|
|
877
|
-
category_id?:
|
|
594
|
+
category_id?: string;
|
|
878
595
|
}
|
|
879
596
|
export interface AcademyCourse {
|
|
880
|
-
id:
|
|
881
|
-
category_id:
|
|
597
|
+
id: string;
|
|
598
|
+
category_id: string | null;
|
|
882
599
|
title_fa: string;
|
|
883
600
|
title_en: string;
|
|
884
601
|
description_fa: string | null;
|
|
@@ -891,18 +608,20 @@ export interface AcademyCourse {
|
|
|
891
608
|
audience_tags: JsonValue;
|
|
892
609
|
enrollment_id: string | null;
|
|
893
610
|
enrollment_status: string | null;
|
|
611
|
+
sort_order: number;
|
|
612
|
+
curriculum_session_count: number;
|
|
894
613
|
session_count: number;
|
|
895
614
|
completed_count: number;
|
|
896
615
|
}
|
|
897
616
|
export interface AcademySession {
|
|
898
|
-
id:
|
|
617
|
+
id: string;
|
|
899
618
|
name: string;
|
|
900
619
|
content_fa: string | null;
|
|
901
620
|
content_en: string | null;
|
|
902
621
|
sort_order: number;
|
|
903
622
|
session_type: string;
|
|
904
623
|
duration_minutes: number | null;
|
|
905
|
-
exam_id:
|
|
624
|
+
exam_id: string | null;
|
|
906
625
|
video_type: "external" | "drm" | string | null;
|
|
907
626
|
external_url: string | null;
|
|
908
627
|
drm_mixed_media_id: string | null;
|
|
@@ -910,7 +629,7 @@ export interface AcademySession {
|
|
|
910
629
|
unlocked: boolean;
|
|
911
630
|
}
|
|
912
631
|
export interface AcademyCourseDetail {
|
|
913
|
-
id:
|
|
632
|
+
id: string;
|
|
914
633
|
sessions: AcademySession[];
|
|
915
634
|
}
|
|
916
635
|
export interface AcademyEnrollmentStart {
|
|
@@ -920,7 +639,7 @@ export interface AcademyEnrollmentStart {
|
|
|
920
639
|
}
|
|
921
640
|
export interface AcademyEnrollment {
|
|
922
641
|
id: string;
|
|
923
|
-
course_id:
|
|
642
|
+
course_id: string;
|
|
924
643
|
status: string;
|
|
925
644
|
best_score: number | null;
|
|
926
645
|
}
|
|
@@ -928,20 +647,25 @@ export interface AcademyCompleteSessionInput {
|
|
|
928
647
|
idempotency_key: string;
|
|
929
648
|
}
|
|
930
649
|
export interface AcademySessionCompletion {
|
|
931
|
-
session_id:
|
|
650
|
+
session_id: string;
|
|
932
651
|
completed: true;
|
|
933
652
|
}
|
|
934
653
|
export interface AcademyExamQuestion {
|
|
935
|
-
id:
|
|
654
|
+
id: string;
|
|
936
655
|
text: string;
|
|
937
656
|
type: string;
|
|
938
657
|
options: JsonValue;
|
|
658
|
+
points: number;
|
|
659
|
+
media: JsonValue;
|
|
939
660
|
}
|
|
940
661
|
export interface AcademyExamAttempt {
|
|
941
662
|
attempt_id: string;
|
|
942
663
|
questions: AcademyExamQuestion[];
|
|
664
|
+
selection_mode: string;
|
|
665
|
+
duration_minutes: number;
|
|
666
|
+
expires_at: string | null;
|
|
943
667
|
}
|
|
944
|
-
/** Keys are
|
|
668
|
+
/** Keys are UUID question identifiers; values retain the question's JSON answer representation. */
|
|
945
669
|
export interface AcademySubmitExamInput {
|
|
946
670
|
answers: Record<string, JsonValue>;
|
|
947
671
|
}
|