@adaptware/eagles-db 0.1.85 → 0.1.87

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,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-132116727cdcdad441587fda0233ddbe5933e4b700a944210a2e30459c4f4576",
2
+ "name": "prisma-client-7ea14210ef898197a704ebe0c3225e71ec2e6f116fe2e1a030b6358d8c508f97",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "index-browser.js",
@@ -208,33 +208,22 @@ model Assessment {
208
208
 
209
209
  /// Defines how an assessment is conducted.
210
210
 
211
- enum AssessmentCategory {
212
- MCQ
213
- COMPETENCY
214
- CASE_STUDY
215
- ASSIGNMENT
216
- }
217
-
218
211
  model AssessmentLibrary {
219
- id String @id @default(uuid())
220
- title String
221
- assessment_type String?
222
- description String?
223
- assessment_category AssessmentCategory
224
- time_required Int
225
- passing_score Float?
226
- max_score Float?
227
- organisation_id String
228
- created_by_ai Boolean @default(false)
229
- created_at DateTime @default(now())
230
- updated_at DateTime @updatedAt
231
- created_by String
232
- updated_by String
233
- is_active Boolean @default(true)
234
- organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
235
- questions Question[] // One assessment → many questions
236
- assessments Assessment[]
237
- evaluation_Plans EvaluationPlan[]
212
+ id String @id @default(uuid())
213
+ title String
214
+ time_required Int
215
+ passing_score Float?
216
+ max_score Float?
217
+ organisation_id String
218
+ created_at DateTime @default(now())
219
+ updated_at DateTime @updatedAt
220
+ created_by String
221
+ updated_by String
222
+ is_active Boolean @default(true)
223
+ organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
224
+ questions Question[] // One assessment → many questions
225
+ assessments Assessment[]
226
+ evaluation_Plans EvaluationPlan[]
238
227
 
239
228
  @@index([organisation_id])
240
229
  }
@@ -524,7 +513,7 @@ model EvaluationPlan {
524
513
  elimination_round Boolean @default(false)
525
514
  evaluation_type EvaluationType
526
515
  type_of_round RoundType
527
- timeline Int
516
+ timeline Int?
528
517
  order_no Int?
529
518
  details Json?
530
519
  plan_type EvaluationPlanType @default(GENERIC)
@@ -546,7 +535,6 @@ model EvaluationPlan {
546
535
  assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)
547
536
  ongoing_evaluations OngoingEvaluation[]
548
537
 
549
- @@unique([job_description_id, order_no])
550
538
  @@index([job_description_id])
551
539
  }
552
540
 
@@ -1024,16 +1012,6 @@ model Notes {
1024
1012
  @@index([user_id, created_at])
1025
1013
  }
1026
1014
 
1027
- enum OngoingEvaluationStatus {
1028
- LOCKED
1029
- ACTION_REQUIRED
1030
- IN_PROGRESS
1031
- EVALUATED
1032
- CLEARED
1033
- NOT_CLEARED
1034
- SKIPPED
1035
- }
1036
-
1037
1015
  enum OngoingEvaluationState {
1038
1016
  NOT_STARTED
1039
1017
  IN_PROGRESS
@@ -1052,37 +1030,24 @@ enum OngoingEvaluationRoundStatus {
1052
1030
  }
1053
1031
 
1054
1032
  model OngoingEvaluation {
1033
+ // Primary Key
1055
1034
  id String @id @default(uuid())
1035
+ // Foreign Keys
1036
+ organisation_id String
1056
1037
  application_id String
1057
1038
  candidate_id String
1058
1039
  resume_id String
1059
- organisation_id String
1060
1040
  job_description_id String
1061
1041
  evaluation_plan_id String
1062
1042
  interview_id String? @unique
1063
1043
  assignment_id String? @unique
1064
1044
  assessment_id String? @unique
1065
- status OngoingEvaluationStatus?
1045
+ // Data Fields
1066
1046
  state OngoingEvaluationState? @default(NOT_STARTED)
1067
1047
  round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)
1068
1048
  comments String? @default("")
1069
- // Relations
1070
- jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)
1071
- application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1072
- candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1073
- resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1074
- organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1075
- evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1076
- interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
1077
- assignment Assignment?
1078
- assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
1079
- created_at DateTime @default(now())
1080
- updated_at DateTime @updatedAt
1081
- created_by String
1082
- updated_by String
1083
- is_active Boolean @default(true)
1084
- is_current Boolean @default(false)
1085
- // Evaluation Plan Details Will be stored only when candidate starts for the evaluation round
1049
+ completed_at DateTime?
1050
+ /// Evaluation Plan Fields Filled After Round Started
1086
1051
  title String?
1087
1052
  description String?
1088
1053
  order_no Int?
@@ -1092,8 +1057,27 @@ model OngoingEvaluation {
1092
1057
  elimination_round Boolean? @default(false)
1093
1058
  evaluation_type EvaluationType?
1094
1059
  type_of_round RoundType?
1095
- timeline Int?
1060
+ duration Int?
1061
+ deadline Int?
1062
+ duration_unit DurationUnit?
1096
1063
  details Json?
1064
+ // Audit Fields
1065
+ created_at DateTime @default(now())
1066
+ updated_at DateTime @updatedAt
1067
+ created_by String
1068
+ updated_by String
1069
+ is_active Boolean @default(true)
1070
+ is_current Boolean @default(false)
1071
+ // Relations
1072
+ jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)
1073
+ application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1074
+ candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1075
+ resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1076
+ organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1077
+ evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1078
+ interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
1079
+ assignment Assignment?
1080
+ assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
1097
1081
 
1098
1082
  @@unique([application_id, evaluation_plan_id])
1099
1083
  @@index([application_id])
@@ -1209,20 +1193,12 @@ enum Difficulty {
1209
1193
  HARD // challenging questions
1210
1194
  }
1211
1195
 
1212
- enum QuestionType {
1213
- MCQ
1214
- TRUE_FALSE
1215
- THEORY
1216
- CODING
1217
- }
1218
-
1219
1196
  model Question {
1220
1197
  id String @id @default(uuid())
1221
1198
  assessment_library_id String?
1222
1199
  evaluation_plan_id String?
1223
1200
  candidate_id String?
1224
1201
  skill String?
1225
- question_type QuestionType?
1226
1202
  question String
1227
1203
  answer String
1228
1204
  options String[] // For MCQ's
package/client/wasm.js CHANGED
@@ -236,14 +236,10 @@ exports.Prisma.AssessmentScalarFieldEnum = {
236
236
  exports.Prisma.AssessmentLibraryScalarFieldEnum = {
237
237
  id: 'id',
238
238
  title: 'title',
239
- assessment_type: 'assessment_type',
240
- description: 'description',
241
- assessment_category: 'assessment_category',
242
239
  time_required: 'time_required',
243
240
  passing_score: 'passing_score',
244
241
  max_score: 'max_score',
245
242
  organisation_id: 'organisation_id',
246
- created_by_ai: 'created_by_ai',
247
243
  created_at: 'created_at',
248
244
  updated_at: 'updated_at',
249
245
  created_by: 'created_by',
@@ -666,25 +662,19 @@ exports.Prisma.NotesScalarFieldEnum = {
666
662
 
667
663
  exports.Prisma.OngoingEvaluationScalarFieldEnum = {
668
664
  id: 'id',
665
+ organisation_id: 'organisation_id',
669
666
  application_id: 'application_id',
670
667
  candidate_id: 'candidate_id',
671
668
  resume_id: 'resume_id',
672
- organisation_id: 'organisation_id',
673
669
  job_description_id: 'job_description_id',
674
670
  evaluation_plan_id: 'evaluation_plan_id',
675
671
  interview_id: 'interview_id',
676
672
  assignment_id: 'assignment_id',
677
673
  assessment_id: 'assessment_id',
678
- status: 'status',
679
674
  state: 'state',
680
675
  round_status: 'round_status',
681
676
  comments: 'comments',
682
- created_at: 'created_at',
683
- updated_at: 'updated_at',
684
- created_by: 'created_by',
685
- updated_by: 'updated_by',
686
- is_active: 'is_active',
687
- is_current: 'is_current',
677
+ completed_at: 'completed_at',
688
678
  title: 'title',
689
679
  description: 'description',
690
680
  order_no: 'order_no',
@@ -694,8 +684,16 @@ exports.Prisma.OngoingEvaluationScalarFieldEnum = {
694
684
  elimination_round: 'elimination_round',
695
685
  evaluation_type: 'evaluation_type',
696
686
  type_of_round: 'type_of_round',
697
- timeline: 'timeline',
698
- details: 'details'
687
+ duration: 'duration',
688
+ deadline: 'deadline',
689
+ duration_unit: 'duration_unit',
690
+ details: 'details',
691
+ created_at: 'created_at',
692
+ updated_at: 'updated_at',
693
+ created_by: 'created_by',
694
+ updated_by: 'updated_by',
695
+ is_active: 'is_active',
696
+ is_current: 'is_current'
699
697
  };
700
698
 
701
699
  exports.Prisma.OrganisationScalarFieldEnum = {
@@ -754,7 +752,6 @@ exports.Prisma.QuestionScalarFieldEnum = {
754
752
  evaluation_plan_id: 'evaluation_plan_id',
755
753
  candidate_id: 'candidate_id',
756
754
  skill: 'skill',
757
- question_type: 'question_type',
758
755
  question: 'question',
759
756
  answer: 'answer',
760
757
  options: 'options',
@@ -987,13 +984,6 @@ exports.ApplicationStatus = exports.$Enums.ApplicationStatus = {
987
984
  REJECTED: 'REJECTED'
988
985
  };
989
986
 
990
- exports.AssessmentCategory = exports.$Enums.AssessmentCategory = {
991
- MCQ: 'MCQ',
992
- COMPETENCY: 'COMPETENCY',
993
- CASE_STUDY: 'CASE_STUDY',
994
- ASSIGNMENT: 'ASSIGNMENT'
995
- };
996
-
997
987
  exports.AssignmentStatus = exports.$Enums.AssignmentStatus = {
998
988
  AVAILABLE: 'AVAILABLE',
999
989
  SCHEDULED: 'SCHEDULED',
@@ -1132,16 +1122,6 @@ exports.JobProfileStatus = exports.$Enums.JobProfileStatus = {
1132
1122
  COMPLETE: 'COMPLETE'
1133
1123
  };
1134
1124
 
1135
- exports.OngoingEvaluationStatus = exports.$Enums.OngoingEvaluationStatus = {
1136
- LOCKED: 'LOCKED',
1137
- ACTION_REQUIRED: 'ACTION_REQUIRED',
1138
- IN_PROGRESS: 'IN_PROGRESS',
1139
- EVALUATED: 'EVALUATED',
1140
- CLEARED: 'CLEARED',
1141
- NOT_CLEARED: 'NOT_CLEARED',
1142
- SKIPPED: 'SKIPPED'
1143
- };
1144
-
1145
1125
  exports.OngoingEvaluationState = exports.$Enums.OngoingEvaluationState = {
1146
1126
  NOT_STARTED: 'NOT_STARTED',
1147
1127
  IN_PROGRESS: 'IN_PROGRESS',
@@ -1176,13 +1156,6 @@ exports.AsyncOperationStatus = exports.$Enums.AsyncOperationStatus = {
1176
1156
  CANCELLED: 'CANCELLED'
1177
1157
  };
1178
1158
 
1179
- exports.QuestionType = exports.$Enums.QuestionType = {
1180
- MCQ: 'MCQ',
1181
- TRUE_FALSE: 'TRUE_FALSE',
1182
- THEORY: 'THEORY',
1183
- CODING: 'CODING'
1184
- };
1185
-
1186
1159
  exports.Difficulty = exports.$Enums.Difficulty = {
1187
1160
  EASY: 'EASY',
1188
1161
  MEDIUM: 'MEDIUM',
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { PrismaClient } from "../client/index.js";
2
2
  export declare const prisma: PrismaClient<{
3
- log: ("error" | "warn")[];
4
- }, "error" | "warn", import("../client/runtime/library.js").DefaultArgs>;
3
+ log: ("error" | "warn")[] | ("error" | "query")[];
4
+ }, "error" | "query" | "warn", import("../client/runtime/library.js").DefaultArgs>;
5
5
  export type { PrismaClient } from "../client/index.js";
6
6
  export * from "../client/index.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAO,MAAM,MAAM;;wEAKjB,CAAC;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAO,MAAM,MAAM;;kFAKjB,CAAC;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { PrismaClient } from "../client/index.js";
3
3
  export const prisma = new PrismaClient({
4
4
  log: process.env.NODE_ENV === "development"
5
5
  ? ["error", "warn"]
6
- : ["error"],
6
+ : ["error", "query"],
7
7
  });
8
8
  // Export all Prisma types
9
9
  export * from "../client/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,sEAAsE;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;IACrC,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;QACpC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC,OAAO,CAAC;CAChB,CAAC,CAAC;AAKH,0BAA0B;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,sEAAsE;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;IACrC,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;QACpC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;CACzB,CAAC,CAAC;AAKH,0BAA0B;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptware/eagles-db",
3
- "version": "0.1.85",
3
+ "version": "0.1.87",
4
4
  "description": "A Prisma client package for Treadspace database operations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,32 +1,21 @@
1
1
  /// Defines how an assessment is conducted.
2
2
 
3
- enum AssessmentCategory {
4
- MCQ
5
- COMPETENCY
6
- CASE_STUDY
7
- ASSIGNMENT
8
- }
9
-
10
3
  model AssessmentLibrary {
11
- id String @id @default(uuid())
12
- title String
13
- assessment_type String?
14
- description String?
15
- assessment_category AssessmentCategory
16
- time_required Int
17
- passing_score Float?
18
- max_score Float?
19
- organisation_id String
20
- created_by_ai Boolean @default(false)
21
- created_at DateTime @default(now())
22
- updated_at DateTime @updatedAt
23
- created_by String
24
- updated_by String
25
- is_active Boolean @default(true)
26
- organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
27
- questions Question[] // One assessment → many questions
28
- assessments Assessment[]
29
- evaluation_Plans EvaluationPlan[]
4
+ id String @id @default(uuid())
5
+ title String
6
+ time_required Int
7
+ passing_score Float?
8
+ max_score Float?
9
+ organisation_id String
10
+ created_at DateTime @default(now())
11
+ updated_at DateTime @updatedAt
12
+ created_by String
13
+ updated_by String
14
+ is_active Boolean @default(true)
15
+ organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
16
+ questions Question[] // One assessment → many questions
17
+ assessments Assessment[]
18
+ evaluation_Plans EvaluationPlan[]
30
19
 
31
20
  @@index([organisation_id])
32
21
  }
@@ -66,7 +66,7 @@ model EvaluationPlan {
66
66
  elimination_round Boolean @default(false)
67
67
  evaluation_type EvaluationType
68
68
  type_of_round RoundType
69
- timeline Int
69
+ timeline Int?
70
70
  order_no Int?
71
71
  details Json?
72
72
  plan_type EvaluationPlanType @default(GENERIC)
@@ -88,6 +88,5 @@ model EvaluationPlan {
88
88
  assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)
89
89
  ongoing_evaluations OngoingEvaluation[]
90
90
 
91
- @@unique([job_description_id, order_no])
92
91
  @@index([job_description_id])
93
92
  }
@@ -1,13 +1,3 @@
1
- enum OngoingEvaluationStatus {
2
- LOCKED
3
- ACTION_REQUIRED
4
- IN_PROGRESS
5
- EVALUATED
6
- CLEARED
7
- NOT_CLEARED
8
- SKIPPED
9
- }
10
-
11
1
  enum OngoingEvaluationState {
12
2
  NOT_STARTED
13
3
  IN_PROGRESS
@@ -26,37 +16,24 @@ enum OngoingEvaluationRoundStatus {
26
16
  }
27
17
 
28
18
  model OngoingEvaluation {
19
+ // Primary Key
29
20
  id String @id @default(uuid())
21
+ // Foreign Keys
22
+ organisation_id String
30
23
  application_id String
31
24
  candidate_id String
32
25
  resume_id String
33
- organisation_id String
34
26
  job_description_id String
35
27
  evaluation_plan_id String
36
28
  interview_id String? @unique
37
29
  assignment_id String? @unique
38
30
  assessment_id String? @unique
39
- status OngoingEvaluationStatus?
31
+ // Data Fields
40
32
  state OngoingEvaluationState? @default(NOT_STARTED)
41
33
  round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)
42
34
  comments String? @default("")
43
- // Relations
44
- jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)
45
- application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
46
- candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
47
- resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
48
- organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
49
- evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
50
- interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
51
- assignment Assignment?
52
- assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
53
- created_at DateTime @default(now())
54
- updated_at DateTime @updatedAt
55
- created_by String
56
- updated_by String
57
- is_active Boolean @default(true)
58
- is_current Boolean @default(false)
59
- // Evaluation Plan Details Will be stored only when candidate starts for the evaluation round
35
+ completed_at DateTime?
36
+ /// Evaluation Plan Fields Filled After Round Started
60
37
  title String?
61
38
  description String?
62
39
  order_no Int?
@@ -66,8 +43,27 @@ model OngoingEvaluation {
66
43
  elimination_round Boolean? @default(false)
67
44
  evaluation_type EvaluationType?
68
45
  type_of_round RoundType?
69
- timeline Int?
46
+ duration Int?
47
+ deadline Int?
48
+ duration_unit DurationUnit?
70
49
  details Json?
50
+ // Audit Fields
51
+ created_at DateTime @default(now())
52
+ updated_at DateTime @updatedAt
53
+ created_by String
54
+ updated_by String
55
+ is_active Boolean @default(true)
56
+ is_current Boolean @default(false)
57
+ // Relations
58
+ jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)
59
+ application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
60
+ candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
61
+ resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
62
+ organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
63
+ evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
64
+ interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
65
+ assignment Assignment?
66
+ assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
71
67
 
72
68
  @@unique([application_id, evaluation_plan_id])
73
69
  @@index([application_id])
@@ -4,20 +4,12 @@ enum Difficulty {
4
4
  HARD // challenging questions
5
5
  }
6
6
 
7
- enum QuestionType {
8
- MCQ
9
- TRUE_FALSE
10
- THEORY
11
- CODING
12
- }
13
-
14
7
  model Question {
15
8
  id String @id @default(uuid())
16
9
  assessment_library_id String?
17
10
  evaluation_plan_id String?
18
11
  candidate_id String?
19
12
  skill String?
20
- question_type QuestionType?
21
13
  question String
22
14
  answer String
23
15
  options String[] // For MCQ's