@taiger-common/model 1.0.12 → 1.0.14

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 (77) hide show
  1. package/dist/cjs/model/Audit.js +2 -2
  2. package/dist/cjs/model/Basedocumentationslink.js +3 -2
  3. package/dist/cjs/model/Communication.js +2 -2
  4. package/dist/cjs/model/Complaint.js +2 -2
  5. package/dist/cjs/model/Course.js +2 -2
  6. package/dist/cjs/model/Docspage.js +4 -3
  7. package/dist/cjs/model/Documentation.js +3 -2
  8. package/dist/cjs/model/Documentthread.js +2 -2
  9. package/dist/cjs/model/Event.js +17 -4
  10. package/dist/cjs/model/Internaldoc.js +14 -0
  11. package/dist/cjs/model/Interval.js +39 -0
  12. package/dist/cjs/model/Interview.js +40 -0
  13. package/dist/cjs/model/InterviewSurveyResponse.js +24 -0
  14. package/dist/cjs/model/Keywordset.js +48 -0
  15. package/dist/cjs/model/Note.js +9 -0
  16. package/dist/cjs/model/Permission.js +48 -0
  17. package/dist/cjs/model/Program.js +290 -0
  18. package/dist/cjs/model/Programrequirement.js +118 -0
  19. package/dist/cjs/model/ResponseTime.js +27 -0
  20. package/dist/cjs/model/SurveyInput.js +56 -0
  21. package/dist/cjs/model/Template.js +19 -0
  22. package/dist/cjs/model/Tenant.js +9 -0
  23. package/dist/cjs/model/Ticket.js +55 -0
  24. package/dist/cjs/model/Token.js +20 -0
  25. package/dist/cjs/model/User.js +676 -0
  26. package/dist/esm/model/Audit.js +2 -2
  27. package/dist/esm/model/Basedocumentationslink.js +3 -2
  28. package/dist/esm/model/Communication.js +2 -2
  29. package/dist/esm/model/Complaint.js +2 -2
  30. package/dist/esm/model/Course.js +2 -2
  31. package/dist/esm/model/Docspage.js +4 -3
  32. package/dist/esm/model/Documentation.js +3 -2
  33. package/dist/esm/model/Documentthread.js +2 -2
  34. package/dist/esm/model/Event.js +17 -4
  35. package/dist/esm/model/Internaldoc.js +11 -0
  36. package/dist/esm/model/Interval.js +36 -0
  37. package/dist/esm/model/Interview.js +37 -0
  38. package/dist/esm/model/InterviewSurveyResponse.js +21 -0
  39. package/dist/esm/model/Keywordset.js +45 -0
  40. package/dist/esm/model/Note.js +6 -0
  41. package/dist/esm/model/Permission.js +45 -0
  42. package/dist/esm/model/Program.js +287 -0
  43. package/dist/esm/model/Programrequirement.js +115 -0
  44. package/dist/esm/model/ResponseTime.js +24 -0
  45. package/dist/esm/model/SurveyInput.js +53 -0
  46. package/dist/esm/model/Template.js +16 -0
  47. package/dist/esm/model/Tenant.js +6 -0
  48. package/dist/esm/model/Ticket.js +52 -0
  49. package/dist/esm/model/Token.js +17 -0
  50. package/dist/esm/model/User.js +670 -0
  51. package/dist/types/model/Audit.d.ts +74 -24
  52. package/dist/types/model/Basedocumentationslink.d.ts +46 -15
  53. package/dist/types/model/Communication.d.ts +101 -36
  54. package/dist/types/model/Complaint.d.ts +200 -58
  55. package/dist/types/model/Course.d.ts +78 -47
  56. package/dist/types/model/Docspage.d.ts +58 -34
  57. package/dist/types/model/Documentation.d.ts +58 -31
  58. package/dist/types/model/Documentthread.d.ts +201 -59
  59. package/dist/types/model/Event.d.ts +74 -44
  60. package/dist/types/model/Internaldoc.d.ts +58 -0
  61. package/dist/types/model/Interval.d.ts +58 -0
  62. package/dist/types/model/Interview.d.ts +84 -0
  63. package/dist/types/model/InterviewSurveyResponse.d.ts +93 -0
  64. package/dist/types/model/Keywordset.d.ts +75 -0
  65. package/dist/types/model/Note.d.ts +43 -0
  66. package/dist/types/model/Permission.d.ts +81 -0
  67. package/dist/types/model/Program.d.ts +453 -0
  68. package/dist/types/model/Programrequirement.d.ts +168 -0
  69. package/dist/types/model/ResponseTime.d.ts +49 -0
  70. package/dist/types/model/SurveyInput.d.ts +121 -0
  71. package/dist/types/model/Template.d.ts +46 -0
  72. package/dist/types/model/Tenant.d.ts +43 -0
  73. package/dist/types/model/Ticket.d.ts +69 -0
  74. package/dist/types/model/Token.d.ts +43 -0
  75. package/dist/types/model/User.d.ts +31 -0
  76. package/dist/umd/index.js +1 -1
  77. package/package.json +6 -1
@@ -0,0 +1,115 @@
1
+ import { Schema } from 'mongoose';
2
+ import { PROGRAM_SUBJECT_KEYS } from '../model/Program';
3
+ export var programRequirementSchema = new Schema({
4
+ programId: [{ type: Schema.Types.ObjectId, ref: 'Program' }],
5
+ program_categories: [
6
+ {
7
+ program_category: {
8
+ type: String,
9
+ default: ''
10
+ },
11
+ category_description: {
12
+ type: String,
13
+ default: ''
14
+ },
15
+ requiredECTS: {
16
+ type: Number,
17
+ default: 0
18
+ },
19
+ keywordSets: [{ type: Schema.Types.ObjectId, ref: 'KeywordSet' }],
20
+ maxScore: {
21
+ type: Number,
22
+ default: 0
23
+ }
24
+ }
25
+ ],
26
+ attributes: [
27
+ {
28
+ type: String,
29
+ enum: PROGRAM_SUBJECT_KEYS
30
+ }
31
+ ],
32
+ fpso: {
33
+ type: String
34
+ },
35
+ admissionDescription: {
36
+ type: String,
37
+ default: ''
38
+ },
39
+ gpaScoreBoundaryGPA: {
40
+ type: Number,
41
+ default: 0
42
+ },
43
+ // max.
44
+ gpaScore: {
45
+ type: Number,
46
+ default: 0
47
+ },
48
+ // min. score at gpaScoreBoundaryGPA. Some program has offset instead of 0
49
+ gpaMinScore: {
50
+ type: Number,
51
+ default: 0
52
+ },
53
+ coursesScore: {
54
+ type: Number,
55
+ default: 0
56
+ },
57
+ cvScore: {
58
+ type: Number,
59
+ default: 0
60
+ },
61
+ mlScore: {
62
+ type: Number,
63
+ default: 0
64
+ },
65
+ rlScore: {
66
+ type: Number,
67
+ default: 0
68
+ },
69
+ essayScore: {
70
+ type: Number,
71
+ default: 0
72
+ },
73
+ gmatScore: {
74
+ type: Number,
75
+ default: 0
76
+ },
77
+ greScore: {
78
+ type: Number,
79
+ default: 0
80
+ },
81
+ interviewScore: {
82
+ type: Number,
83
+ default: 0
84
+ },
85
+ testScore: {
86
+ type: Number,
87
+ default: 0
88
+ },
89
+ firstRoundConsidered: [
90
+ {
91
+ type: String
92
+ }
93
+ ],
94
+ secondRoundConsidered: [
95
+ {
96
+ type: String
97
+ }
98
+ ],
99
+ directRejectionScore: {
100
+ type: Number,
101
+ default: 0
102
+ },
103
+ directAdmissionScore: {
104
+ type: Number,
105
+ default: 0
106
+ },
107
+ directRejectionSecondScore: {
108
+ type: Number,
109
+ default: 0
110
+ },
111
+ directAdmissionSecondScore: {
112
+ type: Number,
113
+ default: 0
114
+ }
115
+ }, { timestamps: true });
@@ -0,0 +1,24 @@
1
+ import { Schema } from 'mongoose';
2
+ export var ResponseTimeSchema = new Schema({
3
+ thread_id: {
4
+ type: Schema.Types.ObjectId,
5
+ ref: 'Documentthread'
6
+ },
7
+ student_id: {
8
+ type: Schema.Types.ObjectId,
9
+ ref: 'User'
10
+ },
11
+ interval_type: {
12
+ type: String,
13
+ required: true
14
+ },
15
+ intervalAvg: {
16
+ type: Number,
17
+ required: true
18
+ },
19
+ updatedAt: {
20
+ type: Date,
21
+ default: Date.now,
22
+ expires: 93312000 // 3 years
23
+ }
24
+ });
@@ -0,0 +1,53 @@
1
+ import { Schema } from 'mongoose';
2
+ var contentType = ['sentence', 'paragraph', 'essay'];
3
+ var STUDENT_INPUT_STATUS_E = {
4
+ EMPTY: 'empty',
5
+ PRODIVDED: 'provided',
6
+ GENERATED: 'generated',
7
+ BLOCKED: 'blocked'
8
+ };
9
+ export var surveyInputSchema = new Schema({
10
+ studentId: {
11
+ type: Schema.Types.ObjectId,
12
+ immutable: true,
13
+ required: true,
14
+ ref: 'User'
15
+ },
16
+ programId: { type: Schema.Types.ObjectId, immutable: true, ref: 'Program' },
17
+ fileType: {
18
+ type: String,
19
+ immutable: true,
20
+ required: true
21
+ },
22
+ isFinalVersion: {
23
+ type: Boolean,
24
+ default: false
25
+ },
26
+ surveyContent: [
27
+ {
28
+ _id: false,
29
+ questionId: String,
30
+ question: String,
31
+ answer: String,
32
+ type: {
33
+ type: String,
34
+ enum: ['word', 'sentence', 'paragraph', 'essay']
35
+ },
36
+ contentType: { type: String, enum: contentType }
37
+ }
38
+ ],
39
+ surveyStatus: {
40
+ type: String,
41
+ enum: Object.values(STUDENT_INPUT_STATUS_E),
42
+ default: STUDENT_INPUT_STATUS_E.EMPTY
43
+ },
44
+ createdAt: {
45
+ type: Date,
46
+ immutable: true,
47
+ default: function () { return Date.now(); }
48
+ },
49
+ updatedAt: {
50
+ type: Date,
51
+ default: function () { return Date.now(); }
52
+ }
53
+ });
@@ -0,0 +1,16 @@
1
+ import { Schema } from 'mongoose';
2
+ export var templatesSchema = new Schema({
3
+ name: {
4
+ type: String,
5
+ required: true
6
+ },
7
+ category_name: {
8
+ type: String,
9
+ required: true
10
+ },
11
+ path: {
12
+ type: String,
13
+ required: true
14
+ },
15
+ updatedAt: Date
16
+ });
@@ -0,0 +1,6 @@
1
+ import { Schema } from 'mongoose';
2
+ export var tenantsSchema = new Schema({
3
+ tenantId: { type: String, require: true, unique: true },
4
+ domainName: { type: String, require: true, unique: true },
5
+ updatedAt: Date
6
+ });
@@ -0,0 +1,52 @@
1
+ import { Schema } from 'mongoose';
2
+ var TicketStatus = {
3
+ Open: 'open',
4
+ Resolved: 'resolved'
5
+ };
6
+ export var ticketSchema = new Schema({
7
+ requester_id: {
8
+ type: Schema.Types.ObjectId,
9
+ required: true,
10
+ ref: 'User'
11
+ },
12
+ resolver_id: {
13
+ type: Schema.Types.ObjectId,
14
+ // required: true,
15
+ ref: 'User'
16
+ },
17
+ program_id: { type: Schema.Types.ObjectId, ref: 'Program' },
18
+ status: {
19
+ type: String,
20
+ enum: Object.values(TicketStatus),
21
+ default: 'open'
22
+ },
23
+ type: {
24
+ type: String,
25
+ default: 'others'
26
+ },
27
+ description: {
28
+ type: String,
29
+ default: '',
30
+ validate: {
31
+ validator: function (value) {
32
+ return value.length <= 2000; // Maximum allowed length
33
+ },
34
+ message: 'Description exceeds the maximum allowed length of 2000 characters'
35
+ }
36
+ },
37
+ feedback: {
38
+ type: String,
39
+ default: '',
40
+ validate: {
41
+ validator: function (value) {
42
+ return value.length <= 2000; // Maximum allowed length
43
+ },
44
+ message: 'Feedback exceeds the maximum allowed length of 2000 characters'
45
+ }
46
+ },
47
+ createdAt: {
48
+ type: Date,
49
+ default: Date.now,
50
+ expires: '2y' // TODO: expireAfterSeconds. 1 year: 60*60*24*365*2
51
+ }
52
+ }, { timestamps: true });
@@ -0,0 +1,17 @@
1
+ import { Schema } from 'mongoose';
2
+ export var tokenSchema = new Schema({
3
+ userId: {
4
+ type: Schema.Types.ObjectId,
5
+ required: true,
6
+ ref: 'User'
7
+ },
8
+ value: {
9
+ type: String,
10
+ required: true
11
+ },
12
+ createdAt: {
13
+ type: Date,
14
+ default: Date.now,
15
+ expires: '20m'
16
+ }
17
+ });