@adaptware/eagles-db 0.1.54 → 0.1.55
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/client/edge.js +37 -4
- package/client/index-browser.js +34 -1
- package/client/index.d.ts +22397 -16937
- package/client/index.js +37 -4
- package/client/package.json +1 -1
- package/client/schema.prisma +75 -23
- package/client/wasm.js +34 -1
- package/package.json +1 -1
- package/prisma/schema/applications.prisma +1 -0
- package/prisma/schema/assessment.prisma +23 -22
- package/prisma/schema/assignment.prisma +42 -0
- package/prisma/schema/assignmentLibrary.prisma +1 -0
- package/prisma/schema/jobDescription.prisma +1 -0
- package/prisma/schema/ongoingEvaluation.prisma +2 -0
- package/prisma/schema/organisation.prisma +1 -0
- package/prisma/schema/user.prisma +2 -0
package/client/package.json
CHANGED
package/client/schema.prisma
CHANGED
|
@@ -129,6 +129,7 @@ model Application {
|
|
|
129
129
|
job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
130
130
|
fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
131
131
|
interviews Interview[]
|
|
132
|
+
assignments Assignment[]
|
|
132
133
|
ongoing_evaluations OngoingEvaluation[]
|
|
133
134
|
activity_logs ActivityLog[]
|
|
134
135
|
// Audit fields
|
|
@@ -170,30 +171,31 @@ enum AssessmentStatus {
|
|
|
170
171
|
}
|
|
171
172
|
|
|
172
173
|
model Assessment {
|
|
173
|
-
id
|
|
174
|
-
|
|
175
|
-
candidate_id
|
|
176
|
-
reviewer_id
|
|
177
|
-
score
|
|
178
|
-
feedback
|
|
179
|
-
scheduled_start_time
|
|
180
|
-
assessment_status
|
|
181
|
-
created_at
|
|
182
|
-
updated_at
|
|
183
|
-
created_by
|
|
184
|
-
updated_by
|
|
185
|
-
is_active
|
|
174
|
+
id String @id @default(uuid())
|
|
175
|
+
assessment_library_id String
|
|
176
|
+
candidate_id String
|
|
177
|
+
reviewer_id String?
|
|
178
|
+
score Float?
|
|
179
|
+
feedback String?
|
|
180
|
+
scheduled_start_time DateTime? @default(now()) // Start Time to start the assessment
|
|
181
|
+
assessment_status AssessmentStatus @default(SCHEDULED)
|
|
182
|
+
created_at DateTime @default(now())
|
|
183
|
+
updated_at DateTime @updatedAt
|
|
184
|
+
created_by String
|
|
185
|
+
updated_by String
|
|
186
|
+
is_active Boolean @default(true)
|
|
186
187
|
// Relations
|
|
187
|
-
|
|
188
|
-
candidate
|
|
189
|
-
reviewer
|
|
190
|
-
questions
|
|
191
|
-
candidateResponse
|
|
192
|
-
|
|
193
|
-
userId
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
@@
|
|
188
|
+
assessment_library AssessmentLibrary @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
189
|
+
candidate User @relation("CandidateAssessments", fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
190
|
+
reviewer User? @relation("ReviewerAssessments", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
191
|
+
questions AssessmentQuestion[] @relation("AssessmentToAssessmentQuestion")
|
|
192
|
+
candidateResponse CandidateQuestionResponse[]
|
|
193
|
+
panelistId String?
|
|
194
|
+
User User? @relation(fields: [userId], references: [id])
|
|
195
|
+
userId String?
|
|
196
|
+
|
|
197
|
+
@@unique([assessment_library_id, candidate_id])
|
|
198
|
+
@@index([assessment_library_id])
|
|
197
199
|
@@index([candidate_id])
|
|
198
200
|
}
|
|
199
201
|
|
|
@@ -248,6 +250,49 @@ model AssessmentQuestion {
|
|
|
248
250
|
@@id([assessment_id, question_id])
|
|
249
251
|
}
|
|
250
252
|
|
|
253
|
+
enum AssignmentStatus {
|
|
254
|
+
AVAILABLE
|
|
255
|
+
SCHEDULED
|
|
256
|
+
CANCELLED
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
model Assignment {
|
|
260
|
+
id String @id @default(uuid())
|
|
261
|
+
candidate_id String
|
|
262
|
+
assignment_library_id String
|
|
263
|
+
reviewer_id String?
|
|
264
|
+
application_id String?
|
|
265
|
+
job_description_id String
|
|
266
|
+
organisation_id String
|
|
267
|
+
ongoing_evaluation_id String? @unique
|
|
268
|
+
score Int?
|
|
269
|
+
ai_result String?
|
|
270
|
+
ai_reasoning String?
|
|
271
|
+
status AssignmentStatus @default(AVAILABLE)
|
|
272
|
+
cancel_reason String?
|
|
273
|
+
solution_url String?
|
|
274
|
+
scheduled_start_time DateTime?
|
|
275
|
+
scheduled_end_time DateTime?
|
|
276
|
+
created_at DateTime @default(now())
|
|
277
|
+
updated_at DateTime @updatedAt
|
|
278
|
+
created_by String
|
|
279
|
+
updated_by String
|
|
280
|
+
is_active Boolean @default(true)
|
|
281
|
+
// Relations
|
|
282
|
+
candidate User? @relation("CandidateAssignments", fields: [candidate_id], references: [id], onDelete: Cascade)
|
|
283
|
+
assignment_library AssignmentLibrary @relation(fields: [assignment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
284
|
+
reviewer User? @relation("AssignmentReviewer", fields: [reviewer_id], references: [id], onDelete: SetNull)
|
|
285
|
+
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
286
|
+
job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
287
|
+
application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
288
|
+
ongoing_evaluation OngoingEvaluation? @relation(fields: [ongoing_evaluation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
289
|
+
|
|
290
|
+
@@unique([candidate_id, ongoing_evaluation_id])
|
|
291
|
+
@@index([candidate_id])
|
|
292
|
+
@@index([reviewer_id])
|
|
293
|
+
@@index([job_description_id])
|
|
294
|
+
}
|
|
295
|
+
|
|
251
296
|
model AssignmentLibrary {
|
|
252
297
|
id String @id @default(uuid())
|
|
253
298
|
deadline Int
|
|
@@ -264,6 +309,7 @@ model AssignmentLibrary {
|
|
|
264
309
|
jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
265
310
|
/// Back-relation: one-to-one from EvaluationPlan (FK lives on EvaluationPlan.assignment_library_id)
|
|
266
311
|
evaluationPlan EvaluationPlan[]
|
|
312
|
+
assignments Assignment[]
|
|
267
313
|
|
|
268
314
|
@@index([job_description_id])
|
|
269
315
|
}
|
|
@@ -667,6 +713,7 @@ model JobDescription {
|
|
|
667
713
|
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
668
714
|
applications Application[]
|
|
669
715
|
interviews Interview[]
|
|
716
|
+
assignments Assignment[]
|
|
670
717
|
fit_check FitCheck[] // one-to-many link
|
|
671
718
|
job_description_data JobDescriptionData[] // one-to-many link
|
|
672
719
|
evaluationPlan EvaluationPlan[] // relation to evaluation methods
|
|
@@ -751,6 +798,7 @@ model OngoingEvaluation {
|
|
|
751
798
|
job_description_id String
|
|
752
799
|
evaluation_plan_id String
|
|
753
800
|
interview_id String? @unique
|
|
801
|
+
assignment_id String? @unique
|
|
754
802
|
status OngoingEvaluationStatus?
|
|
755
803
|
state OngoingEvaluationState? @default(NOT_STARTED)
|
|
756
804
|
round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)
|
|
@@ -763,6 +811,7 @@ model OngoingEvaluation {
|
|
|
763
811
|
organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
764
812
|
evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
765
813
|
interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
814
|
+
assignment Assignment?
|
|
766
815
|
created_at DateTime @default(now())
|
|
767
816
|
updated_at DateTime @updatedAt
|
|
768
817
|
created_by String
|
|
@@ -820,6 +869,7 @@ model Organisation {
|
|
|
820
869
|
assessment_library AssessmentLibrary[]
|
|
821
870
|
assignment_library AssignmentLibrary[]
|
|
822
871
|
interviews Interview[]
|
|
872
|
+
assignments Assignment[]
|
|
823
873
|
fit_check FitCheck[] // one-to-many link
|
|
824
874
|
resumes Resume[] // one-to-many link
|
|
825
875
|
approvals Approval[] // one-to-many link
|
|
@@ -1070,6 +1120,8 @@ model User {
|
|
|
1070
1120
|
assessment_results Assessment[]
|
|
1071
1121
|
candidate_assessments Assessment[] @relation("CandidateAssessments")
|
|
1072
1122
|
reviewer_assessments Assessment[] @relation("ReviewerAssessments")
|
|
1123
|
+
candidate_assignments Assignment[] @relation("CandidateAssignments")
|
|
1124
|
+
reviewer_assignments Assignment[] @relation("AssignmentReviewer")
|
|
1073
1125
|
candidateResponses CandidateQuestionResponse[]
|
|
1074
1126
|
questions Question[]
|
|
1075
1127
|
ongoing_evaluations OngoingEvaluation[] // optional one-to-many
|
package/client/wasm.js
CHANGED
|
@@ -209,7 +209,7 @@ exports.Prisma.ApprovalScalarFieldEnum = {
|
|
|
209
209
|
|
|
210
210
|
exports.Prisma.AssessmentScalarFieldEnum = {
|
|
211
211
|
id: 'id',
|
|
212
|
-
|
|
212
|
+
assessment_library_id: 'assessment_library_id',
|
|
213
213
|
candidate_id: 'candidate_id',
|
|
214
214
|
reviewer_id: 'reviewer_id',
|
|
215
215
|
score: 'score',
|
|
@@ -221,6 +221,7 @@ exports.Prisma.AssessmentScalarFieldEnum = {
|
|
|
221
221
|
created_by: 'created_by',
|
|
222
222
|
updated_by: 'updated_by',
|
|
223
223
|
is_active: 'is_active',
|
|
224
|
+
panelistId: 'panelistId',
|
|
224
225
|
userId: 'userId'
|
|
225
226
|
};
|
|
226
227
|
|
|
@@ -249,6 +250,30 @@ exports.Prisma.AssessmentQuestionScalarFieldEnum = {
|
|
|
249
250
|
updated_at: 'updated_at'
|
|
250
251
|
};
|
|
251
252
|
|
|
253
|
+
exports.Prisma.AssignmentScalarFieldEnum = {
|
|
254
|
+
id: 'id',
|
|
255
|
+
candidate_id: 'candidate_id',
|
|
256
|
+
assignment_library_id: 'assignment_library_id',
|
|
257
|
+
reviewer_id: 'reviewer_id',
|
|
258
|
+
application_id: 'application_id',
|
|
259
|
+
job_description_id: 'job_description_id',
|
|
260
|
+
organisation_id: 'organisation_id',
|
|
261
|
+
ongoing_evaluation_id: 'ongoing_evaluation_id',
|
|
262
|
+
score: 'score',
|
|
263
|
+
ai_result: 'ai_result',
|
|
264
|
+
ai_reasoning: 'ai_reasoning',
|
|
265
|
+
status: 'status',
|
|
266
|
+
cancel_reason: 'cancel_reason',
|
|
267
|
+
solution_url: 'solution_url',
|
|
268
|
+
scheduled_start_time: 'scheduled_start_time',
|
|
269
|
+
scheduled_end_time: 'scheduled_end_time',
|
|
270
|
+
created_at: 'created_at',
|
|
271
|
+
updated_at: 'updated_at',
|
|
272
|
+
created_by: 'created_by',
|
|
273
|
+
updated_by: 'updated_by',
|
|
274
|
+
is_active: 'is_active'
|
|
275
|
+
};
|
|
276
|
+
|
|
252
277
|
exports.Prisma.AssignmentLibraryScalarFieldEnum = {
|
|
253
278
|
id: 'id',
|
|
254
279
|
deadline: 'deadline',
|
|
@@ -518,6 +543,7 @@ exports.Prisma.OngoingEvaluationScalarFieldEnum = {
|
|
|
518
543
|
job_description_id: 'job_description_id',
|
|
519
544
|
evaluation_plan_id: 'evaluation_plan_id',
|
|
520
545
|
interview_id: 'interview_id',
|
|
546
|
+
assignment_id: 'assignment_id',
|
|
521
547
|
status: 'status',
|
|
522
548
|
state: 'state',
|
|
523
549
|
round_status: 'round_status',
|
|
@@ -791,6 +817,12 @@ exports.AssessmentCategory = exports.$Enums.AssessmentCategory = {
|
|
|
791
817
|
ASSIGNMENT: 'ASSIGNMENT'
|
|
792
818
|
};
|
|
793
819
|
|
|
820
|
+
exports.AssignmentStatus = exports.$Enums.AssignmentStatus = {
|
|
821
|
+
AVAILABLE: 'AVAILABLE',
|
|
822
|
+
SCHEDULED: 'SCHEDULED',
|
|
823
|
+
CANCELLED: 'CANCELLED'
|
|
824
|
+
};
|
|
825
|
+
|
|
794
826
|
exports.JobType = exports.$Enums.JobType = {
|
|
795
827
|
Full_time: 'Full_time',
|
|
796
828
|
Part_time: 'Part_time',
|
|
@@ -936,6 +968,7 @@ exports.Prisma.ModelName = {
|
|
|
936
968
|
Assessment: 'Assessment',
|
|
937
969
|
AssessmentLibrary: 'AssessmentLibrary',
|
|
938
970
|
AssessmentQuestion: 'AssessmentQuestion',
|
|
971
|
+
Assignment: 'Assignment',
|
|
939
972
|
AssignmentLibrary: 'AssignmentLibrary',
|
|
940
973
|
Budget: 'Budget',
|
|
941
974
|
Calendly: 'Calendly',
|
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@ model Application {
|
|
|
27
27
|
job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
28
28
|
fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
29
29
|
interviews Interview[]
|
|
30
|
+
assignments Assignment[]
|
|
30
31
|
ongoing_evaluations OngoingEvaluation[]
|
|
31
32
|
activity_logs ActivityLog[]
|
|
32
33
|
// Audit fields
|
|
@@ -10,29 +10,30 @@ enum AssessmentStatus {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
model Assessment {
|
|
13
|
-
id
|
|
14
|
-
|
|
15
|
-
candidate_id
|
|
16
|
-
reviewer_id
|
|
17
|
-
score
|
|
18
|
-
feedback
|
|
19
|
-
scheduled_start_time
|
|
20
|
-
assessment_status
|
|
21
|
-
created_at
|
|
22
|
-
updated_at
|
|
23
|
-
created_by
|
|
24
|
-
updated_by
|
|
25
|
-
is_active
|
|
13
|
+
id String @id @default(uuid())
|
|
14
|
+
assessment_library_id String
|
|
15
|
+
candidate_id String
|
|
16
|
+
reviewer_id String?
|
|
17
|
+
score Float?
|
|
18
|
+
feedback String?
|
|
19
|
+
scheduled_start_time DateTime? @default(now()) // Start Time to start the assessment
|
|
20
|
+
assessment_status AssessmentStatus @default(SCHEDULED)
|
|
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
26
|
// Relations
|
|
27
|
-
|
|
28
|
-
candidate
|
|
29
|
-
reviewer
|
|
30
|
-
questions
|
|
31
|
-
candidateResponse
|
|
32
|
-
|
|
33
|
-
userId
|
|
27
|
+
assessment_library AssessmentLibrary @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
28
|
+
candidate User @relation("CandidateAssessments", fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
29
|
+
reviewer User? @relation("ReviewerAssessments", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
30
|
+
questions AssessmentQuestion[] @relation("AssessmentToAssessmentQuestion")
|
|
31
|
+
candidateResponse CandidateQuestionResponse[]
|
|
32
|
+
panelistId String?
|
|
33
|
+
User User? @relation(fields: [userId], references: [id])
|
|
34
|
+
userId String?
|
|
34
35
|
|
|
35
|
-
@@unique([
|
|
36
|
-
@@index([
|
|
36
|
+
@@unique([assessment_library_id, candidate_id])
|
|
37
|
+
@@index([assessment_library_id])
|
|
37
38
|
@@index([candidate_id])
|
|
38
39
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
enum AssignmentStatus {
|
|
2
|
+
AVAILABLE
|
|
3
|
+
SCHEDULED
|
|
4
|
+
CANCELLED
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
model Assignment {
|
|
8
|
+
id String @id @default(uuid())
|
|
9
|
+
candidate_id String
|
|
10
|
+
assignment_library_id String
|
|
11
|
+
reviewer_id String?
|
|
12
|
+
application_id String?
|
|
13
|
+
job_description_id String
|
|
14
|
+
organisation_id String
|
|
15
|
+
ongoing_evaluation_id String? @unique
|
|
16
|
+
score Int?
|
|
17
|
+
ai_result String?
|
|
18
|
+
ai_reasoning String?
|
|
19
|
+
status AssignmentStatus @default(AVAILABLE)
|
|
20
|
+
cancel_reason String?
|
|
21
|
+
solution_url String?
|
|
22
|
+
scheduled_start_time DateTime?
|
|
23
|
+
scheduled_end_time DateTime?
|
|
24
|
+
created_at DateTime @default(now())
|
|
25
|
+
updated_at DateTime @updatedAt
|
|
26
|
+
created_by String
|
|
27
|
+
updated_by String
|
|
28
|
+
is_active Boolean @default(true)
|
|
29
|
+
// Relations
|
|
30
|
+
candidate User? @relation("CandidateAssignments", fields: [candidate_id], references: [id], onDelete: Cascade)
|
|
31
|
+
assignment_library AssignmentLibrary @relation(fields: [assignment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
32
|
+
reviewer User? @relation("AssignmentReviewer", fields: [reviewer_id], references: [id], onDelete: SetNull)
|
|
33
|
+
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
34
|
+
job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
35
|
+
application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
36
|
+
ongoing_evaluation OngoingEvaluation? @relation(fields: [ongoing_evaluation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
37
|
+
|
|
38
|
+
@@unique([candidate_id, ongoing_evaluation_id])
|
|
39
|
+
@@index([candidate_id])
|
|
40
|
+
@@index([reviewer_id])
|
|
41
|
+
@@index([job_description_id])
|
|
42
|
+
}
|
|
@@ -14,6 +14,7 @@ model AssignmentLibrary {
|
|
|
14
14
|
jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
15
15
|
/// Back-relation: one-to-one from EvaluationPlan (FK lives on EvaluationPlan.assignment_library_id)
|
|
16
16
|
evaluationPlan EvaluationPlan[]
|
|
17
|
+
assignments Assignment[]
|
|
17
18
|
|
|
18
19
|
@@index([job_description_id])
|
|
19
20
|
}
|
|
@@ -28,6 +28,7 @@ model JobDescription {
|
|
|
28
28
|
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
29
29
|
applications Application[]
|
|
30
30
|
interviews Interview[]
|
|
31
|
+
assignments Assignment[]
|
|
31
32
|
fit_check FitCheck[] // one-to-many link
|
|
32
33
|
job_description_data JobDescriptionData[] // one-to-many link
|
|
33
34
|
evaluationPlan EvaluationPlan[] // relation to evaluation methods
|
|
@@ -34,6 +34,7 @@ model OngoingEvaluation {
|
|
|
34
34
|
job_description_id String
|
|
35
35
|
evaluation_plan_id String
|
|
36
36
|
interview_id String? @unique
|
|
37
|
+
assignment_id String? @unique
|
|
37
38
|
status OngoingEvaluationStatus?
|
|
38
39
|
state OngoingEvaluationState? @default(NOT_STARTED)
|
|
39
40
|
round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)
|
|
@@ -46,6 +47,7 @@ model OngoingEvaluation {
|
|
|
46
47
|
organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
47
48
|
evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
48
49
|
interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
50
|
+
assignment Assignment?
|
|
49
51
|
created_at DateTime @default(now())
|
|
50
52
|
updated_at DateTime @updatedAt
|
|
51
53
|
created_by String
|
|
@@ -31,6 +31,7 @@ model Organisation {
|
|
|
31
31
|
assessment_library AssessmentLibrary[]
|
|
32
32
|
assignment_library AssignmentLibrary[]
|
|
33
33
|
interviews Interview[]
|
|
34
|
+
assignments Assignment[]
|
|
34
35
|
fit_check FitCheck[] // one-to-many link
|
|
35
36
|
resumes Resume[] // one-to-many link
|
|
36
37
|
approvals Approval[] // one-to-many link
|
|
@@ -39,6 +39,8 @@ model User {
|
|
|
39
39
|
assessment_results Assessment[]
|
|
40
40
|
candidate_assessments Assessment[] @relation("CandidateAssessments")
|
|
41
41
|
reviewer_assessments Assessment[] @relation("ReviewerAssessments")
|
|
42
|
+
candidate_assignments Assignment[] @relation("CandidateAssignments")
|
|
43
|
+
reviewer_assignments Assignment[] @relation("AssignmentReviewer")
|
|
42
44
|
candidateResponses CandidateQuestionResponse[]
|
|
43
45
|
questions Question[]
|
|
44
46
|
ongoing_evaluations OngoingEvaluation[] // optional one-to-many
|