@taiger-common/model 1.0.47 → 1.0.49

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,6 +1,302 @@
1
+ var _a;
1
2
  import { Schema } from 'mongoose';
2
- import { DIFFICULTY, PROGRAM_SUBJECTS, SCHOOL_TAGS, SCHOOL_TYPES } from '@taiger-common/core';
3
3
  var ObjectId = Schema.Types.ObjectId;
4
+ export var PROGRAM_SUBJECTS = {
5
+ LING: {
6
+ label: 'Linguistics',
7
+ category: 'AH'
8
+ },
9
+ MUS: {
10
+ label: 'Music',
11
+ category: 'AH'
12
+ },
13
+ THEO: {
14
+ label: 'Theology, Divinity and Religious Studies',
15
+ category: 'AH'
16
+ },
17
+ ARCH: {
18
+ label: 'Archaeology',
19
+ category: 'AH'
20
+ },
21
+ 'ARCH-BE': {
22
+ label: 'Architecture and Built Environment',
23
+ category: 'AH'
24
+ },
25
+ 'ART-DES': {
26
+ label: 'Art and Design',
27
+ category: 'AH'
28
+ },
29
+ CLAH: {
30
+ label: 'Classics and Ancient History',
31
+ category: 'AH'
32
+ },
33
+ ELL: {
34
+ label: 'English Language and Literature',
35
+ category: 'AH'
36
+ },
37
+ HIST: {
38
+ label: 'History',
39
+ category: 'AH'
40
+ },
41
+ ARTH: {
42
+ label: 'Art History',
43
+ category: 'AH'
44
+ },
45
+ 'MOD-LANG': {
46
+ label: 'Modern Languages',
47
+ category: 'AH'
48
+ },
49
+ 'PERF-ART': {
50
+ label: 'Performing Arts',
51
+ category: 'AH'
52
+ },
53
+ PHIL: {
54
+ label: 'Philosophy',
55
+ category: 'AH'
56
+ },
57
+ 'CHEM-ENG': {
58
+ label: 'Engineering - Chemical',
59
+ category: 'ET'
60
+ },
61
+ 'CIV-STR-ENG': {
62
+ label: 'Engineering - Civil and Structural',
63
+ category: 'ET'
64
+ },
65
+ CSIS: {
66
+ label: 'Computer Science and Information Systems',
67
+ category: 'ET'
68
+ },
69
+ 'DS-AI': {
70
+ label: 'Data Science and Artificial Intelligence',
71
+ category: 'ET'
72
+ },
73
+ 'ELEC-ENG': {
74
+ label: 'Engineering - Electrical and Electronic',
75
+ category: 'ET'
76
+ },
77
+ 'PETRO-ENG': {
78
+ label: 'Engineering - Petroleum',
79
+ category: 'ET'
80
+ },
81
+ 'MECH-ENG': {
82
+ label: 'Engineering - Mechanical',
83
+ category: 'ET'
84
+ },
85
+ 'MIN-MIN-ENG': {
86
+ label: 'Engineering - Mineral and Mining',
87
+ category: 'ET'
88
+ },
89
+ 'AG-FOR': {
90
+ label: 'Agriculture and Forestry',
91
+ category: 'LSM'
92
+ },
93
+ 'ANA-PHYS': {
94
+ label: 'Anatomy and Physiology',
95
+ category: 'LSM'
96
+ },
97
+ 'BIO-SCI': {
98
+ label: 'Biological Sciences',
99
+ category: 'LSM'
100
+ },
101
+ DENT: {
102
+ label: 'Dentistry',
103
+ category: 'LSM'
104
+ },
105
+ MED: {
106
+ label: 'Medicine',
107
+ category: 'LSM'
108
+ },
109
+ NURS: {
110
+ label: 'Nursing',
111
+ category: 'LSM'
112
+ },
113
+ PHARM: {
114
+ label: 'Pharmacy and Pharmacology',
115
+ category: 'LSM'
116
+ },
117
+ PSYCH: {
118
+ label: 'Psychology',
119
+ category: 'LSM'
120
+ },
121
+ 'VET-SCI': {
122
+ label: 'Veterinary Science',
123
+ category: 'LSM'
124
+ },
125
+ CHEM: {
126
+ label: 'Chemistry',
127
+ category: 'NS'
128
+ },
129
+ 'EAR-MAR-SCI': {
130
+ label: 'Earth and Marine Sciences',
131
+ category: 'NS'
132
+ },
133
+ 'ENV-SCI': {
134
+ label: 'Environmental Sciences',
135
+ category: 'NS'
136
+ },
137
+ GEO: {
138
+ label: 'Geography',
139
+ category: 'NS'
140
+ },
141
+ GEOL: {
142
+ label: 'Geology',
143
+ category: 'NS'
144
+ },
145
+ GEOPH: {
146
+ label: 'Geophysics',
147
+ category: 'NS'
148
+ },
149
+ 'MAT-SCI': {
150
+ label: 'Materials Sciences',
151
+ category: 'NS'
152
+ },
153
+ MATH: {
154
+ label: 'Mathematics',
155
+ category: 'NS'
156
+ },
157
+ 'PHYS-ASTRO': {
158
+ label: 'Physics and Astronomy',
159
+ category: 'NS'
160
+ },
161
+ 'ACC-FIN': {
162
+ label: 'Accounting and Finance',
163
+ category: 'SSM'
164
+ },
165
+ ANTH: {
166
+ label: 'Anthropology',
167
+ category: 'SSM'
168
+ },
169
+ 'BUS-MGMT': {
170
+ label: 'Business and Management Studies',
171
+ category: 'SSM'
172
+ },
173
+ 'COMM-MEDIA': {
174
+ label: 'Communication and Media Studies',
175
+ category: 'SSM'
176
+ },
177
+ 'DEV-STUD': {
178
+ label: 'Development Studies',
179
+ category: 'SSM'
180
+ },
181
+ ECON: {
182
+ label: 'Economics and Econometrics',
183
+ category: 'SSM'
184
+ },
185
+ 'EDU-TRAIN': {
186
+ label: 'Education and Training',
187
+ category: 'SSM'
188
+ },
189
+ 'HOSP-MGMT': {
190
+ label: 'Hospitality and Leisure Management',
191
+ category: 'SSM'
192
+ },
193
+ LAW: {
194
+ label: 'Law and Legal Studies',
195
+ category: 'SSM'
196
+ },
197
+ 'LIB-INFO': {
198
+ label: 'Library and Information Management',
199
+ category: 'SSM'
200
+ },
201
+ MKT: {
202
+ label: 'Marketing',
203
+ category: 'SSM'
204
+ },
205
+ POL: {
206
+ label: 'Politics',
207
+ category: 'SSM'
208
+ },
209
+ 'SOC-POL': {
210
+ label: 'Social Policy and Administration',
211
+ category: 'SSM'
212
+ },
213
+ SOC: {
214
+ label: 'Sociology',
215
+ category: 'SSM'
216
+ },
217
+ SPORT: {
218
+ label: 'Sports-Related Subjects',
219
+ category: 'SSM'
220
+ },
221
+ 'STAT-OR': {
222
+ label: 'Statistics and Operational Research',
223
+ category: 'SSM'
224
+ }
225
+ };
226
+ export var SemesterType;
227
+ (function (SemesterType) {
228
+ SemesterType["SummerSemester"] = "SS";
229
+ SemesterType["WinterSemester"] = "WS";
230
+ SemesterType["Rolling"] = "Rolling";
231
+ })(SemesterType || (SemesterType = {}));
232
+ var Category;
233
+ (function (Category) {
234
+ Category["TU9"] = "TU9";
235
+ Category["U15"] = "U15";
236
+ Category["EUROTECH"] = "EUROTECH";
237
+ Category["GERMAN_ELITE"] = "GERMAN_ELITE";
238
+ Category["TOP50"] = "TOP50";
239
+ Category["TIME"] = "TIME";
240
+ Category["TOP100"] = "TOP100";
241
+ Category["TOP150"] = "TOP150";
242
+ Category["TOP250"] = "TOP250";
243
+ Category["TOP500"] = "TOP500";
244
+ })(Category || (Category = {}));
245
+ export var DIFFICULTY = {
246
+ EASY: 'EASY',
247
+ HARD: 'HARD'
248
+ };
249
+ export var SCHOOL_TAGS = (_a = {},
250
+ _a[Category.U15] = {
251
+ label: 'U15',
252
+ category: 'U15'
253
+ },
254
+ _a[Category.TU9] = {
255
+ label: 'TU9 German Universities of Technology',
256
+ category: 'TU9'
257
+ },
258
+ _a[Category.EUROTECH] = {
259
+ label: 'EuroTech Universities Alliance',
260
+ category: 'EUROTECH'
261
+ },
262
+ _a[Category.GERMAN_ELITE] = {
263
+ label: 'German Excellence Initiative',
264
+ category: 'GERMAN_ELITE'
265
+ },
266
+ _a[Category.TIME] = {
267
+ label: 'Top International Managers in Engineering',
268
+ category: 'TIME'
269
+ },
270
+ _a[Category.TOP50] = {
271
+ label: 'QS Top 50 Universities',
272
+ category: 'TOP50'
273
+ },
274
+ _a[Category.TOP100] = {
275
+ label: 'QS Top 100 Universities',
276
+ category: 'TOP100'
277
+ },
278
+ _a[Category.TOP150] = {
279
+ label: 'QS Top 150 Universities',
280
+ category: 'TOP150'
281
+ },
282
+ _a[Category.TOP250] = {
283
+ label: 'QS Top 250 Universities',
284
+ category: 'TOP150'
285
+ },
286
+ _a[Category.TOP500] = {
287
+ label: 'QS Top 500 Universities',
288
+ category: 'TOP500'
289
+ },
290
+ _a);
291
+ export var SchoolType;
292
+ (function (SchoolType) {
293
+ SchoolType["University"] = "University";
294
+ SchoolType["University_of_Applied_Sciences"] = "University_of_Applied_Sciences";
295
+ })(SchoolType || (SchoolType = {}));
296
+ export var SCHOOL_TYPES = [
297
+ SchoolType.University,
298
+ SchoolType.University_of_Applied_Sciences
299
+ ];
4
300
  var SCHOOL_TAG_KEYS = Object.keys(SCHOOL_TAGS);
5
301
  export var PROGRAM_SUBJECT_KEYS = Object.keys(PROGRAM_SUBJECTS);
6
302
  export var DIFFICULTY_KEYS = Object.keys(DIFFICULTY);
@@ -1,16 +1,24 @@
1
1
  import { Schema } from 'mongoose';
2
2
  import validator from 'validator';
3
- import { DocumentStatusType } from '@taiger-common/core';
4
3
  import { Role } from '../constants/users';
5
4
  import { PROGRAM_SUBJECT_KEYS } from './Program';
6
- var ManagerType = {
5
+ // --- Interfaces for frontend/backend type reference ---
6
+ export var DocumentStatusType;
7
+ (function (DocumentStatusType) {
8
+ DocumentStatusType["Uploaded"] = "uploaded";
9
+ DocumentStatusType["Missing"] = "missing";
10
+ DocumentStatusType["Accepted"] = "accepted";
11
+ DocumentStatusType["Rejected"] = "rejected";
12
+ DocumentStatusType["NotNeeded"] = "notneeded";
13
+ })(DocumentStatusType || (DocumentStatusType = {}));
14
+ export var ManagerType = {
7
15
  Agent: 'Agent',
8
16
  Editor: 'Editor',
9
17
  AgentAndEditor: 'AgentAndEditor',
10
18
  None: 'None'
11
19
  };
12
- var options = { discriminatorKey: 'role', timestamps: true };
13
- var attributeSchema = new Schema({
20
+ export var options = { discriminatorKey: 'role', timestamps: true };
21
+ export var attributeSchema = new Schema({
14
22
  value: {
15
23
  type: Number,
16
24
  required: true
@@ -20,7 +28,7 @@ var attributeSchema = new Schema({
20
28
  required: true
21
29
  }
22
30
  });
23
- var userSchema = new Schema({
31
+ export var userSchema = new Schema({
24
32
  role: {
25
33
  type: String,
26
34
  enum: Object.values(Role),
@@ -364,7 +372,7 @@ var userSchema = new Schema({
364
372
  },
365
373
  lastLoginAt: Date
366
374
  }, options);
367
- var studentSchema = new Schema({
375
+ export var studentSchema = new Schema({
368
376
  agents: [{ type: Schema.Types.ObjectId, ref: 'Agent' }],
369
377
  editors: [{ type: Schema.Types.ObjectId, ref: 'Editor' }],
370
378
  needEditor: { type: Boolean, default: false },
@@ -421,7 +429,7 @@ var studentSchema = new Schema({
421
429
  }
422
430
  ]
423
431
  }, options);
424
- var externalSchema = new Schema({
432
+ export var externalSchema = new Schema({
425
433
  attribute: {
426
434
  can_update_program_list: {
427
435
  type: Boolean,
@@ -437,7 +445,7 @@ var externalSchema = new Schema({
437
445
  }
438
446
  }
439
447
  }, options);
440
- var managerSchema = new Schema({
448
+ export var managerSchema = new Schema({
441
449
  agents: [{ type: Schema.Types.ObjectId, ref: 'Agent' }],
442
450
  editors: [{ type: Schema.Types.ObjectId, ref: 'Editor' }],
443
451
  manager_type: {
@@ -512,7 +520,7 @@ var officehours = {
512
520
  time_slots: [{ type: Object }]
513
521
  }
514
522
  };
515
- var agentSchema = new Schema({
523
+ export var agentSchema = new Schema({
516
524
  timezone: { type: String, default: '' },
517
525
  officehours: officehours,
518
526
  selfIntroduction: {
@@ -550,7 +558,7 @@ var agentSchema = new Schema({
550
558
  }
551
559
  }
552
560
  }, options);
553
- var editorSchema = new Schema({
561
+ export var editorSchema = new Schema({
554
562
  timezone: { type: String, default: '' },
555
563
  officehours: officehours,
556
564
  editor_notification: {
@@ -594,12 +602,3 @@ var editorSchema = new Schema({
594
602
  }
595
603
  }
596
604
  }, options);
597
- module.exports = {
598
- attributeSchema: attributeSchema,
599
- userSchema: userSchema,
600
- studentSchema: studentSchema,
601
- agentSchema: agentSchema,
602
- externalSchema: externalSchema,
603
- editorSchema: editorSchema,
604
- managerSchema: managerSchema
605
- };
@@ -24,6 +24,284 @@
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
25
  /// <reference types="mongoose/types/inferrawdoctype" />
26
26
  import { Schema } from 'mongoose';
27
+ export declare const PROGRAM_SUBJECTS: {
28
+ LING: {
29
+ label: string;
30
+ category: string;
31
+ };
32
+ MUS: {
33
+ label: string;
34
+ category: string;
35
+ };
36
+ THEO: {
37
+ label: string;
38
+ category: string;
39
+ };
40
+ ARCH: {
41
+ label: string;
42
+ category: string;
43
+ };
44
+ 'ARCH-BE': {
45
+ label: string;
46
+ category: string;
47
+ };
48
+ 'ART-DES': {
49
+ label: string;
50
+ category: string;
51
+ };
52
+ CLAH: {
53
+ label: string;
54
+ category: string;
55
+ };
56
+ ELL: {
57
+ label: string;
58
+ category: string;
59
+ };
60
+ HIST: {
61
+ label: string;
62
+ category: string;
63
+ };
64
+ ARTH: {
65
+ label: string;
66
+ category: string;
67
+ };
68
+ 'MOD-LANG': {
69
+ label: string;
70
+ category: string;
71
+ };
72
+ 'PERF-ART': {
73
+ label: string;
74
+ category: string;
75
+ };
76
+ PHIL: {
77
+ label: string;
78
+ category: string;
79
+ };
80
+ 'CHEM-ENG': {
81
+ label: string;
82
+ category: string;
83
+ };
84
+ 'CIV-STR-ENG': {
85
+ label: string;
86
+ category: string;
87
+ };
88
+ CSIS: {
89
+ label: string;
90
+ category: string;
91
+ };
92
+ 'DS-AI': {
93
+ label: string;
94
+ category: string;
95
+ };
96
+ 'ELEC-ENG': {
97
+ label: string;
98
+ category: string;
99
+ };
100
+ 'PETRO-ENG': {
101
+ label: string;
102
+ category: string;
103
+ };
104
+ 'MECH-ENG': {
105
+ label: string;
106
+ category: string;
107
+ };
108
+ 'MIN-MIN-ENG': {
109
+ label: string;
110
+ category: string;
111
+ };
112
+ 'AG-FOR': {
113
+ label: string;
114
+ category: string;
115
+ };
116
+ 'ANA-PHYS': {
117
+ label: string;
118
+ category: string;
119
+ };
120
+ 'BIO-SCI': {
121
+ label: string;
122
+ category: string;
123
+ };
124
+ DENT: {
125
+ label: string;
126
+ category: string;
127
+ };
128
+ MED: {
129
+ label: string;
130
+ category: string;
131
+ };
132
+ NURS: {
133
+ label: string;
134
+ category: string;
135
+ };
136
+ PHARM: {
137
+ label: string;
138
+ category: string;
139
+ };
140
+ PSYCH: {
141
+ label: string;
142
+ category: string;
143
+ };
144
+ 'VET-SCI': {
145
+ label: string;
146
+ category: string;
147
+ };
148
+ CHEM: {
149
+ label: string;
150
+ category: string;
151
+ };
152
+ 'EAR-MAR-SCI': {
153
+ label: string;
154
+ category: string;
155
+ };
156
+ 'ENV-SCI': {
157
+ label: string;
158
+ category: string;
159
+ };
160
+ GEO: {
161
+ label: string;
162
+ category: string;
163
+ };
164
+ GEOL: {
165
+ label: string;
166
+ category: string;
167
+ };
168
+ GEOPH: {
169
+ label: string;
170
+ category: string;
171
+ };
172
+ 'MAT-SCI': {
173
+ label: string;
174
+ category: string;
175
+ };
176
+ MATH: {
177
+ label: string;
178
+ category: string;
179
+ };
180
+ 'PHYS-ASTRO': {
181
+ label: string;
182
+ category: string;
183
+ };
184
+ 'ACC-FIN': {
185
+ label: string;
186
+ category: string;
187
+ };
188
+ ANTH: {
189
+ label: string;
190
+ category: string;
191
+ };
192
+ 'BUS-MGMT': {
193
+ label: string;
194
+ category: string;
195
+ };
196
+ 'COMM-MEDIA': {
197
+ label: string;
198
+ category: string;
199
+ };
200
+ 'DEV-STUD': {
201
+ label: string;
202
+ category: string;
203
+ };
204
+ ECON: {
205
+ label: string;
206
+ category: string;
207
+ };
208
+ 'EDU-TRAIN': {
209
+ label: string;
210
+ category: string;
211
+ };
212
+ 'HOSP-MGMT': {
213
+ label: string;
214
+ category: string;
215
+ };
216
+ LAW: {
217
+ label: string;
218
+ category: string;
219
+ };
220
+ 'LIB-INFO': {
221
+ label: string;
222
+ category: string;
223
+ };
224
+ MKT: {
225
+ label: string;
226
+ category: string;
227
+ };
228
+ POL: {
229
+ label: string;
230
+ category: string;
231
+ };
232
+ 'SOC-POL': {
233
+ label: string;
234
+ category: string;
235
+ };
236
+ SOC: {
237
+ label: string;
238
+ category: string;
239
+ };
240
+ SPORT: {
241
+ label: string;
242
+ category: string;
243
+ };
244
+ 'STAT-OR': {
245
+ label: string;
246
+ category: string;
247
+ };
248
+ };
249
+ export declare enum SemesterType {
250
+ SummerSemester = "SS",
251
+ WinterSemester = "WS",
252
+ Rolling = "Rolling"
253
+ }
254
+ export declare const DIFFICULTY: {
255
+ EASY: string;
256
+ HARD: string;
257
+ };
258
+ export declare const SCHOOL_TAGS: {
259
+ U15: {
260
+ label: string;
261
+ category: string;
262
+ };
263
+ TU9: {
264
+ label: string;
265
+ category: string;
266
+ };
267
+ EUROTECH: {
268
+ label: string;
269
+ category: string;
270
+ };
271
+ GERMAN_ELITE: {
272
+ label: string;
273
+ category: string;
274
+ };
275
+ TIME: {
276
+ label: string;
277
+ category: string;
278
+ };
279
+ TOP50: {
280
+ label: string;
281
+ category: string;
282
+ };
283
+ TOP100: {
284
+ label: string;
285
+ category: string;
286
+ };
287
+ TOP150: {
288
+ label: string;
289
+ category: string;
290
+ };
291
+ TOP250: {
292
+ label: string;
293
+ category: string;
294
+ };
295
+ TOP500: {
296
+ label: string;
297
+ category: string;
298
+ };
299
+ };
300
+ export declare enum SchoolType {
301
+ University = "University",
302
+ University_of_Applied_Sciences = "University_of_Applied_Sciences"
303
+ }
304
+ export declare const SCHOOL_TYPES: SchoolType[];
27
305
  export declare const PROGRAM_SUBJECT_KEYS: string[];
28
306
  export declare const DIFFICULTY_KEYS: string[];
29
307
  export interface IProgram {
@@ -324,7 +602,7 @@ export declare const programModule: {
324
602
  };
325
603
  schoolType: {
326
604
  type: StringConstructor;
327
- enum: import("@taiger-common/core").SchoolType[];
605
+ enum: SchoolType[];
328
606
  };
329
607
  isEssayConsultantNeeded: {
330
608
  type: BooleanConstructor;