@taiger-common/model 1.0.56 → 1.0.58

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.
Files changed (135) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +23 -23
  3. package/dist/cjs/index.js +0 -2
  4. package/dist/cjs/model/Documentthread.js +4 -2
  5. package/dist/cjs/model/Program.js +83 -331
  6. package/dist/cjs/model/User.js +139 -78
  7. package/dist/cjs/model/index.js +1 -1
  8. package/dist/esm/index.js +0 -2
  9. package/dist/esm/model/Documentthread.js +4 -2
  10. package/dist/esm/model/Program.js +78 -326
  11. package/dist/esm/model/User.js +124 -62
  12. package/dist/esm/model/index.js +1 -1
  13. package/dist/types/index.d.ts +0 -2
  14. package/dist/types/model/Allcourse.d.ts +27 -6
  15. package/dist/types/model/Audit.d.ts +43 -18
  16. package/dist/types/model/Basedocumentationslink.d.ts +16 -11
  17. package/dist/types/model/Communication.d.ts +71 -22
  18. package/dist/types/model/Complaint.d.ts +170 -25
  19. package/dist/types/model/Course.d.ts +49 -23
  20. package/dist/types/model/Docspage.d.ts +37 -14
  21. package/dist/types/model/Documentation.d.ts +28 -15
  22. package/dist/types/model/Documentthread.d.ts +178 -35
  23. package/dist/types/model/Event.d.ts +54 -15
  24. package/dist/types/model/Internaldoc.d.ts +28 -15
  25. package/dist/types/model/Interval.d.ts +26 -13
  26. package/dist/types/model/Interview.d.ts +50 -23
  27. package/dist/types/model/InterviewSurveyResponse.d.ts +62 -20
  28. package/dist/types/model/Keywordset.d.ts +44 -14
  29. package/dist/types/model/Note.d.ts +13 -11
  30. package/dist/types/model/Permission.d.ts +56 -21
  31. package/dist/types/model/Program.d.ts +232 -387
  32. package/dist/types/model/Programrequirement.d.ts +140 -37
  33. package/dist/types/model/ResponseTime.d.ts +17 -12
  34. package/dist/types/model/SurveyInput.d.ts +90 -23
  35. package/dist/types/model/Template.d.ts +13 -8
  36. package/dist/types/model/Tenant.d.ts +13 -10
  37. package/dist/types/model/Ticket.d.ts +38 -16
  38. package/dist/types/model/Token.d.ts +12 -10
  39. package/dist/types/model/User.d.ts +1 -2148
  40. package/dist/types/model/index.d.ts +1 -1
  41. package/dist/umd/index.js +1 -1
  42. package/package.json +1 -1
  43. package/dist/cjs/api/account.js +0 -35
  44. package/dist/cjs/api/applications.js +0 -46
  45. package/dist/cjs/api/audit.js +0 -8
  46. package/dist/cjs/api/auth.js +0 -19
  47. package/dist/cjs/api/common.js +0 -32
  48. package/dist/cjs/api/communications.js +0 -15
  49. package/dist/cjs/api/courses.js +0 -23
  50. package/dist/cjs/api/crm.js +0 -87
  51. package/dist/cjs/api/documentThreads.js +0 -44
  52. package/dist/cjs/api/documentations.js +0 -33
  53. package/dist/cjs/api/events.js +0 -22
  54. package/dist/cjs/api/index.js +0 -41
  55. package/dist/cjs/api/interviews.js +0 -35
  56. package/dist/cjs/api/meetings.js +0 -20
  57. package/dist/cjs/api/notes.js +0 -8
  58. package/dist/cjs/api/permissions.js +0 -9
  59. package/dist/cjs/api/portals.js +0 -24
  60. package/dist/cjs/api/programRequirements.js +0 -26
  61. package/dist/cjs/api/programs.js +0 -93
  62. package/dist/cjs/api/search.js +0 -24
  63. package/dist/cjs/api/serialized.js +0 -50
  64. package/dist/cjs/api/students.js +0 -29
  65. package/dist/cjs/api/teams.js +0 -48
  66. package/dist/cjs/api/tickets.js +0 -21
  67. package/dist/cjs/api/users.js +0 -42
  68. package/dist/cjs/api/widgets.js +0 -21
  69. package/dist/cjs/constants/users.js +0 -12
  70. package/dist/cjs/model/Application.js +0 -78
  71. package/dist/cjs/schema/index.js +0 -22
  72. package/dist/cjs/schema/models.js +0 -523
  73. package/dist/cjs/schema/serialized.js +0 -202
  74. package/dist/esm/api/account.js +0 -32
  75. package/dist/esm/api/applications.js +0 -43
  76. package/dist/esm/api/audit.js +0 -5
  77. package/dist/esm/api/auth.js +0 -16
  78. package/dist/esm/api/common.js +0 -27
  79. package/dist/esm/api/communications.js +0 -12
  80. package/dist/esm/api/courses.js +0 -20
  81. package/dist/esm/api/crm.js +0 -84
  82. package/dist/esm/api/documentThreads.js +0 -41
  83. package/dist/esm/api/documentations.js +0 -30
  84. package/dist/esm/api/events.js +0 -19
  85. package/dist/esm/api/index.js +0 -25
  86. package/dist/esm/api/interviews.js +0 -32
  87. package/dist/esm/api/meetings.js +0 -17
  88. package/dist/esm/api/notes.js +0 -5
  89. package/dist/esm/api/permissions.js +0 -6
  90. package/dist/esm/api/portals.js +0 -21
  91. package/dist/esm/api/programRequirements.js +0 -23
  92. package/dist/esm/api/programs.js +0 -90
  93. package/dist/esm/api/search.js +0 -21
  94. package/dist/esm/api/serialized.js +0 -13
  95. package/dist/esm/api/students.js +0 -26
  96. package/dist/esm/api/teams.js +0 -45
  97. package/dist/esm/api/tickets.js +0 -18
  98. package/dist/esm/api/users.js +0 -39
  99. package/dist/esm/api/widgets.js +0 -18
  100. package/dist/esm/constants/users.js +0 -9
  101. package/dist/esm/model/Application.js +0 -75
  102. package/dist/esm/schema/index.js +0 -6
  103. package/dist/esm/schema/models.js +0 -520
  104. package/dist/esm/schema/serialized.js +0 -199
  105. package/dist/types/api/account.d.ts +0 -503
  106. package/dist/types/api/applications.d.ts +0 -3417
  107. package/dist/types/api/audit.d.ts +0 -89
  108. package/dist/types/api/auth.d.ts +0 -3411
  109. package/dist/types/api/common.d.ts +0 -90
  110. package/dist/types/api/communications.d.ts +0 -617
  111. package/dist/types/api/courses.d.ts +0 -849
  112. package/dist/types/api/crm.d.ts +0 -1113
  113. package/dist/types/api/documentThreads.d.ts +0 -38257
  114. package/dist/types/api/documentations.d.ts +0 -933
  115. package/dist/types/api/events.d.ts +0 -7209
  116. package/dist/types/api/index.d.ts +0 -25
  117. package/dist/types/api/interviews.d.ts +0 -802
  118. package/dist/types/api/meetings.d.ts +0 -49
  119. package/dist/types/api/notes.d.ts +0 -85
  120. package/dist/types/api/permissions.d.ts +0 -195
  121. package/dist/types/api/portals.d.ts +0 -770
  122. package/dist/types/api/programRequirements.d.ts +0 -2685
  123. package/dist/types/api/programs.d.ts +0 -3046
  124. package/dist/types/api/search.d.ts +0 -292
  125. package/dist/types/api/serialized.d.ts +0 -7
  126. package/dist/types/api/students.d.ts +0 -307
  127. package/dist/types/api/teams.d.ts +0 -3671
  128. package/dist/types/api/tickets.d.ts +0 -960
  129. package/dist/types/api/users.d.ts +0 -6960
  130. package/dist/types/api/widgets.d.ts +0 -234
  131. package/dist/types/constants/users.d.ts +0 -9
  132. package/dist/types/model/Application.d.ts +0 -85
  133. package/dist/types/schema/index.d.ts +0 -6
  134. package/dist/types/schema/models.d.ts +0 -2038
  135. package/dist/types/schema/serialized.d.ts +0 -8823
@@ -1,520 +0,0 @@
1
- /**
2
- * Zod schemas for base model data shapes (API-safe, no Mongoose-specific types).
3
- * Used by serialized.ts and API response schemas.
4
- */
5
- import { z } from 'zod';
6
- // =========== User Sub-schemas ===========
7
- export var UserNotificationSchema = z.object({
8
- isRead_survey_not_complete: z.boolean().optional(),
9
- isRead_uni_assist_task_assigned: z.boolean().optional(),
10
- isRead_new_agent_assigned: z.boolean().optional(),
11
- isRead_new_editor_assigned: z.boolean().optional(),
12
- isRead_new_cvmlrl_tasks_created: z.boolean().optional(),
13
- isRead_new_cvmlrl_messsage: z.boolean().optional(),
14
- isRead_base_documents_missing: z.boolean().optional(),
15
- isRead_base_documents_rejected: z.boolean().optional(),
16
- isRead_new_programs_assigned: z.boolean().optional()
17
- });
18
- export var UserTaigeraiFileSchema = z.object({
19
- name: z.string().optional(),
20
- status: z.string().optional(),
21
- file_category: z.string().optional(),
22
- path: z.string().optional(),
23
- updatedAt: z.coerce.date().optional()
24
- });
25
- export var UserTaigeraiFeedbackSchema = z.object({
26
- message: z.string().optional(),
27
- updatedAt: z.coerce.date().optional()
28
- });
29
- export var UserTaigeraiSchema = z.object({
30
- input: UserTaigeraiFileSchema.optional(),
31
- output: UserTaigeraiFileSchema.optional(),
32
- feedback: UserTaigeraiFeedbackSchema.optional()
33
- });
34
- export var UserApplicationPreferenceSchema = z.object({
35
- expected_application_date: z.string().optional(),
36
- expected_application_semester: z.string().optional(),
37
- target_program_language: z.string().optional(),
38
- target_application_field: z.string().optional(),
39
- targetApplicationSubjects: z.array(z.string()).optional(),
40
- target_degree: z.string().optional(),
41
- considered_privat_universities: z.string().optional(),
42
- special_wished: z.string().optional(),
43
- application_outside_germany: z.string().optional(),
44
- updatedAt: z.coerce.date().optional()
45
- });
46
- export var UserAcademicBackgroundUniversitySchema = z.object({
47
- high_school_isGraduated: z.string().optional(),
48
- attended_high_school: z.string().optional(),
49
- high_school_graduated_year: z.string().optional(),
50
- attended_university: z.string().optional(),
51
- attended_university_program: z.string().optional(),
52
- isGraduated: z.string().optional(),
53
- expected_grad_date: z.string().optional(),
54
- Highest_GPA_Uni: z.number().optional(),
55
- Passing_GPA_Uni: z.number().optional(),
56
- My_GPA_Uni: z.number().optional(),
57
- Has_Exchange_Experience: z.string().optional(),
58
- isSecondGraduated: z.string().optional(),
59
- expectedSecondDegreeGradDate: z.string().optional(),
60
- attendedSecondDegreeUniversity: z.string().optional(),
61
- attendedSecondDegreeProgram: z.string().optional(),
62
- highestSecondDegreeGPA: z.number().optional(),
63
- passingSecondDegreeGPA: z.number().optional(),
64
- mySecondDegreeGPA: z.number().optional(),
65
- Has_Internship_Experience: z.string().optional(),
66
- Has_Working_Experience: z.string().optional(),
67
- updatedAt: z.coerce.date().optional()
68
- });
69
- export var UserAcademicBackgroundLanguageSchema = z.object({
70
- english_isPassed: z.string().optional(),
71
- english_certificate: z.string().optional(),
72
- english_score: z.string().optional(),
73
- english_score_reading: z.string().optional(),
74
- english_score_listening: z.string().optional(),
75
- english_score_writing: z.string().optional(),
76
- english_score_speaking: z.string().optional(),
77
- english_test_date: z.string().optional(),
78
- german_isPassed: z.string().optional(),
79
- german_certificate: z.string().optional(),
80
- german_score: z.string().optional(),
81
- german_test_date: z.string().optional(),
82
- gre_isPassed: z.string().optional(),
83
- gre_certificate: z.string().optional(),
84
- gre_score: z.string().optional(),
85
- gre_test_date: z.string().optional(),
86
- gmat_isPassed: z.string().optional(),
87
- gmat_certificate: z.string().optional(),
88
- gmat_score: z.string().optional(),
89
- gmat_test_date: z.string().optional(),
90
- updatedAt: z.coerce.date().optional()
91
- });
92
- export var UserAcademicBackgroundSchema = z.object({
93
- university: UserAcademicBackgroundUniversitySchema.optional(),
94
- language: UserAcademicBackgroundLanguageSchema.optional()
95
- });
96
- export var UserAttributeSchema = z.object({
97
- value: z.number(),
98
- name: z.string()
99
- });
100
- export var UserProfileItemSchema = z.object({
101
- name: z.string(),
102
- status: z.string().optional(),
103
- required: z.boolean(),
104
- path: z.string().optional(),
105
- feedback: z.string().optional(),
106
- updatedAt: z.coerce.date().optional()
107
- });
108
- export var UserGeneraldocsThreadSchema = z.object({
109
- isFinalVersion: z.boolean().optional(),
110
- latest_message_left_by_id: z.string().optional(),
111
- doc_thread_id: z.string().optional(),
112
- updatedAt: z.coerce.date().optional(),
113
- createdAt: z.coerce.date().optional()
114
- });
115
- // =========== Course Schemas ===========
116
- export var CourseAnalysisSchema = z.object({
117
- path: z.string().optional(),
118
- analyzed_course: z.array(z.string()).optional(),
119
- isAnalysed: z.boolean().optional(),
120
- isAnalysedV2: z.boolean().optional(),
121
- pathV2: z.string().optional(),
122
- updatedAtV2: z.coerce.date().optional(),
123
- updatedAt: z.coerce.date().optional()
124
- });
125
- export var CourseSchema = z.object({
126
- student_id: z.string().optional(),
127
- name: z.string().optional(),
128
- table_data_string: z.string().optional(),
129
- table_data_string_locked: z.boolean().optional(),
130
- table_data_string_taiger_guided: z.string().optional(),
131
- updatedAt: z.coerce.date().optional(),
132
- analysis: CourseAnalysisSchema.optional()
133
- });
134
- // =========== Application Sub-schemas ===========
135
- export var ApplicationUniAssistSchema = z.object({
136
- status: z.string().optional(),
137
- vpd_file_path: z.string().optional(),
138
- vpd_paid_confirmation_file_path: z.string().optional(),
139
- vpd_paid_confirmation_file_status: z.string().optional(),
140
- isPaid: z.boolean().optional(),
141
- updatedAt: z.coerce.date().optional()
142
- });
143
- export var ApplicationPortalCredentialsSchema = z.object({
144
- application_portal_a: z
145
- .object({ account: z.string().optional(), password: z.string().optional() })
146
- .optional(),
147
- application_portal_b: z
148
- .object({ account: z.string().optional(), password: z.string().optional() })
149
- .optional()
150
- });
151
- export var ApplicationDocModificationThreadItemSchema = z.object({
152
- isFinalVersion: z.boolean().optional(),
153
- latest_message_left_by_id: z.string().optional(),
154
- doc_thread_id: z.string().optional(),
155
- updatedAt: z.coerce.date().optional(),
156
- createdAt: z.coerce.date().optional()
157
- });
158
- export var ApplicationAdmissionLetterSchema = z.object({
159
- status: z.string().optional(),
160
- admission_file_path: z.string().optional(),
161
- comments: z.string().optional(),
162
- updatedAt: z.coerce.date().optional()
163
- });
164
- // =========== Program Schema ===========
165
- export var ProgramSchema = z.object({
166
- isArchiv: z.boolean().optional(),
167
- isLocked: z.boolean().optional(),
168
- school: z.string(),
169
- program_name: z.string(),
170
- programSubjects: z.array(z.string()).optional(),
171
- degree: z.string().optional(),
172
- semester: z.string().optional(),
173
- lang: z.string().optional(),
174
- gpa_requirement: z.string().optional(),
175
- allowOnlyGraduatedApplicant: z.boolean().optional(),
176
- application_start: z.string().optional(),
177
- application_deadline: z.string().optional(),
178
- uni_assist: z.string().optional(),
179
- englishTestHandLater: z.boolean().optional(),
180
- toefl: z.string().optional(),
181
- toefl_reading: z.number().optional(),
182
- toefl_listening: z.number().optional(),
183
- toefl_writing: z.number().optional(),
184
- toefl_speaking: z.number().optional(),
185
- ielts: z.string().optional(),
186
- ielts_reading: z.number().optional(),
187
- ielts_listening: z.number().optional(),
188
- ielts_writing: z.number().optional(),
189
- ielts_speaking: z.number().optional(),
190
- germanTestHandLater: z.boolean().optional(),
191
- goetheZertifikat: z.string().optional(),
192
- testdaf: z.string().optional(),
193
- dsh: z.string().optional(),
194
- gre: z.string().optional(),
195
- gre_verbal: z.number().optional(),
196
- gre_quantitative: z.number().optional(),
197
- gre_analytical_writing: z.number().optional(),
198
- gmat: z.string().optional(),
199
- ml_required: z.string().optional(),
200
- ml_requirements: z.string().optional(),
201
- sop_required: z.string().optional(),
202
- sop_requirements: z.string().optional(),
203
- phs_required: z.string().optional(),
204
- phs_requirements: z.string().optional(),
205
- rl_required: z.string().optional(),
206
- rl_requirements: z.string().optional(),
207
- is_rl_specific: z.boolean().optional(),
208
- essay_required: z.string().optional(),
209
- essay_requirements: z.string().optional(),
210
- essay_difficulty: z.string().optional(),
211
- portfolio_required: z.string().optional(),
212
- portfolio_requirements: z.string().optional(),
213
- supplementary_form_required: z.string().optional(),
214
- supplementary_form_requirements: z.string().optional(),
215
- curriculum_analysis_required: z.string().optional(),
216
- curriculum_analysis_requirements: z.string().optional(),
217
- scholarship_form_required: z.string().optional(),
218
- scholarship_form_requirements: z.string().optional(),
219
- module_description_required: z.string().optional(),
220
- ects_requirements: z.string().optional(),
221
- special_notes: z.string().optional(),
222
- comments: z.string().optional(),
223
- application_portal_a: z.string().optional(),
224
- application_portal_b: z.string().optional(),
225
- application_portal_a_instructions: z.string().optional(),
226
- application_portal_b_instructions: z.string().optional(),
227
- uni_assist_link: z.string().optional(),
228
- website: z.string().optional(),
229
- fpso: z.string().optional(),
230
- updatedAt: z.coerce.date().optional(),
231
- whoupdated: z.string().optional(),
232
- tuition_fees: z.string().optional(),
233
- contact: z.string().optional(),
234
- city: z.string().optional(),
235
- country: z.string().optional(),
236
- isPrivateSchool: z.boolean().optional(),
237
- isPartnerSchool: z.boolean().optional(),
238
- schoolType: z.string().optional(),
239
- tags: z.array(z.string()).optional(),
240
- url: z.string().optional(),
241
- isNC: z.boolean().optional(),
242
- zipCode: z.string().optional()
243
- });
244
- // =========== Documentation Schemas ===========
245
- export var DocumentationSchema = z.object({
246
- name: z.string().optional(),
247
- title: z.string().optional(),
248
- category: z.string().optional(),
249
- author: z.string().optional(),
250
- prop: z.string().optional(),
251
- text: z.string().optional(),
252
- country: z.string().optional(),
253
- updatedAt: z.coerce.date().optional()
254
- });
255
- export var DocspageSchema = z.object({
256
- name: z.string().optional(),
257
- title: z.string().optional(),
258
- category: z.string().optional(),
259
- prop: z.string().optional(),
260
- author: z.string().optional(),
261
- text: z.string().optional(),
262
- country: z.string().optional(),
263
- updatedAt: z.coerce.date().optional()
264
- });
265
- export var InternaldocSchema = z.object({
266
- name: z.string().optional(),
267
- title: z.string().optional(),
268
- category: z.string().optional(),
269
- internal: z.boolean().optional(),
270
- author: z.string().optional(),
271
- text: z.string().optional(),
272
- country: z.string().optional(),
273
- updatedAt: z.coerce.date().optional()
274
- });
275
- // =========== Keywordset Schema ===========
276
- export var KeywordsetKeywordsSchema = z.object({
277
- zh: z.array(z.string()).optional(),
278
- en: z.array(z.string()).optional()
279
- });
280
- export var KeywordsetSchema = z.object({
281
- categoryName: z.string().optional(),
282
- description: z.string().optional(),
283
- keywords: KeywordsetKeywordsSchema.optional(),
284
- antiKeywords: KeywordsetKeywordsSchema.optional()
285
- });
286
- // =========== SurveyInput Schema ===========
287
- export var SurveyInputSurveyContentSchema = z.object({
288
- questionId: z.string().optional(),
289
- question: z.string().optional(),
290
- answer: z.string().optional(),
291
- type: z.enum(['word', 'sentence', 'paragraph', 'essay']).optional(),
292
- contentType: z.string().optional()
293
- });
294
- export var SurveyInputSchema = z.object({
295
- studentId: z.string(),
296
- programId: z.string().optional(),
297
- fileType: z.string(),
298
- isFinalVersion: z.boolean().optional(),
299
- surveyContent: z.array(SurveyInputSurveyContentSchema).optional(),
300
- surveyStatus: z.enum(['empty', 'provided', 'generated', 'blocked']).optional(),
301
- createdAt: z.coerce.date().optional(),
302
- updatedAt: z.coerce.date().optional()
303
- });
304
- // =========== Template Schema ===========
305
- export var TemplateSchema = z.object({
306
- name: z.string(),
307
- category_name: z.string(),
308
- path: z.string(),
309
- updatedAt: z.coerce.date().optional()
310
- });
311
- // =========== Basedocumentationslink Schema ===========
312
- export var BasedocumentationslinkSchema = z.object({
313
- key: z.string().optional(),
314
- category: z.string().optional(),
315
- link: z.string().optional(),
316
- updatedAt: z.coerce.date().optional()
317
- });
318
- // =========== AllCourse Schema ===========
319
- export var AllCourseSchema = z.object({
320
- updatedBy: z
321
- .union([
322
- z.string(),
323
- z.object({ _id: z.string().optional() }).passthrough()
324
- ])
325
- .optional(),
326
- all_course_chinese: z.string(),
327
- all_course_english: z.string(),
328
- description: z.string().optional()
329
- });
330
- // =========== Permission Schema ===========
331
- export var PermissionSchema = z.object({
332
- user_id: z.string().optional(),
333
- taigerAiQuota: z.number().optional(),
334
- canAssignEditors: z.boolean().optional(),
335
- canUseTaiGerAI: z.boolean().optional(),
336
- canModifyProgramList: z.boolean().optional(),
337
- canModifyAllBaseDocuments: z.boolean().optional(),
338
- canAccessAllChat: z.boolean().optional(),
339
- canAssignAgents: z.boolean().optional(),
340
- canModifyDocumentation: z.boolean().optional(),
341
- canAccessStudentDatabase: z.boolean().optional(),
342
- canAddUser: z.boolean().optional(),
343
- canModifyUser: z.boolean().optional(),
344
- isEssayWriters: z.boolean().optional(),
345
- updatedAt: z.coerce.date().optional()
346
- });
347
- // =========== Note Schema ===========
348
- export var NoteSchema = z.object({
349
- student_id: z.string().optional(),
350
- notes: z.string().optional(),
351
- updatedAt: z.coerce.date().optional()
352
- });
353
- // =========== InterviewSurveyResponse Schema ===========
354
- export var InterviewSurveyResponseResponseSchema = z.object({
355
- questionId: z.string().optional(),
356
- answer: z.number().optional()
357
- });
358
- export var InterviewSurveyResponseSchema = z.object({
359
- student_id: z.string().optional(),
360
- interview_id: z.string().optional(),
361
- program_id: z.string().optional(),
362
- responses: z.array(InterviewSurveyResponseResponseSchema).optional(),
363
- isFinal: z.boolean().optional(),
364
- interviewQuestions: z.string().optional(),
365
- interviewFeedback: z.string().optional()
366
- });
367
- // =========== Ticket Schema ===========
368
- export var TicketSchema = z.object({
369
- requester_id: z.string(),
370
- resolver_id: z.string().optional(),
371
- program_id: z.string().optional(),
372
- status: z.string().optional(),
373
- type: z.string().optional(),
374
- description: z.string().optional(),
375
- feedback: z.string().optional(),
376
- createdAt: z.coerce.date().optional()
377
- });
378
- // =========== Complaint Schema ===========
379
- export var ComplaintMessageFileSchema = z.object({
380
- name: z.string(),
381
- path: z.string()
382
- });
383
- export var ComplaintMessageSchema = z.object({
384
- user_id: z.string().optional(),
385
- message: z.string().optional(),
386
- createdAt: z.coerce.date().optional(),
387
- file: z.array(ComplaintMessageFileSchema).optional(),
388
- ignore_message: z.boolean().optional()
389
- });
390
- export var ComplaintSchema = z.object({
391
- requester_id: z.string(),
392
- status: z.string().optional(),
393
- title: z.string().optional(),
394
- category: z.string().optional(),
395
- description: z.string().optional(),
396
- messages: z.array(ComplaintMessageSchema).optional(),
397
- createdAt: z.coerce.date().optional()
398
- });
399
- // =========== Event Schema ===========
400
- // Named EventBaseSchema to avoid conflict with Mongoose EventSchema from src/model/Event.ts
401
- export var EventBaseSchema = z.object({
402
- requester_id: z.array(z.string()).optional(),
403
- receiver_id: z.array(z.string()).optional(),
404
- isConfirmedRequester: z.boolean().optional(),
405
- isConfirmedReceiver: z.boolean().optional(),
406
- meetingLink: z.string().optional(),
407
- event_type: z.string().optional(),
408
- title: z.string().optional(),
409
- description: z.string().optional(),
410
- start: z.coerce.date().optional(),
411
- end: z.coerce.date().optional()
412
- });
413
- // =========== Interview Schema ===========
414
- export var InterviewSchema = z.object({
415
- student_id: z.string().optional(),
416
- trainer_id: z.array(z.string()).optional(),
417
- thread_id: z.string().optional(),
418
- program_id: z.string().optional(),
419
- event_id: z.string().optional(),
420
- interview_description: z.string().optional(),
421
- interviewer: z.string().optional(),
422
- interview_duration: z.string().optional(),
423
- interview_date: z.coerce.date().optional(),
424
- isClosed: z.boolean().optional(),
425
- start: z.coerce.date().optional(),
426
- end: z.coerce.date().optional()
427
- });
428
- // =========== Communication Schema ===========
429
- export var CommunicationFileSchema = z.object({
430
- name: z.string(),
431
- path: z.string()
432
- });
433
- export var CommunicationSchema = z.object({
434
- student_id: z.string().optional(),
435
- user_id: z.string().optional(),
436
- message: z.string().optional(),
437
- readBy: z.array(z.string()).optional(),
438
- timeStampReadBy: z.unknown().optional(),
439
- files: z.array(CommunicationFileSchema).optional(),
440
- createdAt: z.coerce.date().optional(),
441
- ignore_message: z.boolean().optional(),
442
- ignoredMessageUpdatedAt: z.coerce.date().optional(),
443
- ignoredMessageBy: z.string().optional()
444
- });
445
- // =========== DocumentThread Schema ===========
446
- export var DocumentthreadMessageFileSchema = z.object({
447
- name: z.string(),
448
- path: z.string()
449
- });
450
- export var DocumentthreadMessageSchema = z.object({
451
- user_id: z.string().optional(),
452
- message: z.string().optional(),
453
- createdAt: z.coerce.date().optional(),
454
- file: z.array(DocumentthreadMessageFileSchema).optional(),
455
- ignore_message: z.boolean().optional()
456
- });
457
- export var DocumentthreadSchema = z.object({
458
- student_id: z.string(),
459
- program_id: z.string().optional(),
460
- application_id: z.string().optional(),
461
- outsourced_user_id: z.array(z.string()).optional(),
462
- pin_by_user_id: z.array(z.string()).optional(),
463
- flag_by_user_id: z.array(z.string()).optional(),
464
- file_type: z.string(),
465
- isFinalVersion: z.boolean().optional(),
466
- isOriginAuthorDeclarationConfirmedByStudent: z.boolean().optional(),
467
- isOriginAuthorDeclarationConfirmedByStudentTimestamp: z.coerce.date().optional(),
468
- messages: z.array(DocumentthreadMessageSchema).optional(),
469
- essayReviewerIds: z.array(z.string()).optional(),
470
- updatedAt: z.coerce.date().optional()
471
- });
472
- // =========== Audit Schema ===========
473
- export var AuditSchema = z.object({
474
- performedBy: z.string().optional(),
475
- targetUserId: z.string().optional(),
476
- targetDocumentThreadId: z.string().optional(),
477
- interviewThreadId: z.string().optional(),
478
- action: z.string().optional(),
479
- field: z.string().optional(),
480
- changes: z
481
- .object({
482
- before: z.unknown().optional(),
483
- after: z.unknown().optional()
484
- })
485
- .optional()
486
- });
487
- // =========== ProgramRequirement Schema ===========
488
- export var ProgramrequirementProgramCategorySchema = z.object({
489
- program_category: z.string().optional(),
490
- category_description: z.string().optional(),
491
- requiredECTS: z.number().optional(),
492
- keywordSets: z.array(z.string()).optional(),
493
- maxScore: z.number().optional()
494
- });
495
- export var ProgramrequirementSchema = z.object({
496
- programId: z.array(z.string()).optional(),
497
- program_categories: z.array(ProgramrequirementProgramCategorySchema).optional(),
498
- attributes: z.array(z.string()).optional(),
499
- fpso: z.string().optional(),
500
- admissionDescription: z.string().optional(),
501
- gpaScoreBoundaryGPA: z.number().optional(),
502
- gpaScore: z.number().optional(),
503
- gpaMinScore: z.number().optional(),
504
- coursesScore: z.number().optional(),
505
- cvScore: z.number().optional(),
506
- mlScore: z.number().optional(),
507
- rlScore: z.number().optional(),
508
- essayScore: z.number().optional(),
509
- gmatScore: z.number().optional(),
510
- greScore: z.number().optional(),
511
- interviewScore: z.number().optional(),
512
- workExperienceScore: z.number().optional(),
513
- testScore: z.number().optional(),
514
- firstRoundConsidered: z.array(z.string()).optional(),
515
- secondRoundConsidered: z.array(z.string()).optional(),
516
- directRejectionScore: z.number().optional(),
517
- directAdmissionScore: z.number().optional(),
518
- directRejectionSecondScore: z.number().optional(),
519
- directAdmissionSecondScore: z.number().optional()
520
- });