@adaptware/eagles-db 0.1.49 → 0.1.51
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 +112 -32
- package/client/index-browser.js +104 -24
- package/client/index.d.ts +27342 -18906
- package/client/index.js +114 -34
- package/client/{libquery_engine-darwin-arm64.dylib.node → libquery_engine-darwin.dylib.node} +0 -0
- package/client/package.json +1 -1
- package/client/schema.prisma +210 -99
- package/client/wasm.js +104 -24
- package/package.json +1 -1
- package/prisma/schema/applications.prisma +1 -0
- package/prisma/schema/assessment.prisma +24 -22
- package/prisma/schema/assignment.prisma +42 -0
- package/prisma/schema/assignmentLibrary.prisma +1 -0
- package/prisma/schema/evaluationPlan.prisma +7 -4
- package/prisma/schema/feedback.prisma +3 -9
- package/prisma/schema/intermediateFeedback.prisma +18 -0
- package/prisma/schema/interview.prisma +46 -37
- package/prisma/schema/interviewLibrary.prisma +31 -0
- package/prisma/schema/jobDescription.prisma +1 -0
- package/prisma/schema/ongoingEvaluation.prisma +2 -0
- package/prisma/schema/organisation.prisma +4 -1
- package/prisma/schema/overallFeedback.prisma +34 -0
- package/prisma/schema/panelist.prisma +24 -0
- package/prisma/schema/transcript.prisma +9 -8
- package/prisma/schema/user.prisma +3 -0
- package/prisma/.DS_Store +0 -0
package/client/{libquery_engine-darwin-arm64.dylib.node → libquery_engine-darwin.dylib.node}
RENAMED
|
Binary file
|
package/client/package.json
CHANGED
package/client/schema.prisma
CHANGED
|
@@ -77,29 +77,6 @@ model Action {
|
|
|
77
77
|
@@index([due_date])
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
enum ActivityActorType {
|
|
81
|
-
USER
|
|
82
|
-
AI
|
|
83
|
-
SYSTEM
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
model ActivityLog {
|
|
87
|
-
id String @id @default(uuid())
|
|
88
|
-
application_id String
|
|
89
|
-
actor_id String?
|
|
90
|
-
actor_type ActivityActorType @default(USER)
|
|
91
|
-
message String
|
|
92
|
-
timestamp DateTime @default(now())
|
|
93
|
-
metadata Json?
|
|
94
|
-
created_at DateTime @default(now())
|
|
95
|
-
is_active Boolean @default(true)
|
|
96
|
-
// Relations
|
|
97
|
-
actor User? @relation("ActorActivityLogs", fields: [actor_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
98
|
-
application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
99
|
-
|
|
100
|
-
@@index([application_id])
|
|
101
|
-
}
|
|
102
|
-
|
|
103
80
|
// PENDING could be understood as unscreened
|
|
104
81
|
enum ApplicationStatus {
|
|
105
82
|
PENDING
|
|
@@ -109,19 +86,20 @@ enum ApplicationStatus {
|
|
|
109
86
|
}
|
|
110
87
|
|
|
111
88
|
model Application {
|
|
112
|
-
id
|
|
113
|
-
candidate_id
|
|
114
|
-
resume_id
|
|
115
|
-
organisation_id
|
|
116
|
-
job_description_id
|
|
117
|
-
status
|
|
118
|
-
fit_check_score
|
|
119
|
-
fit_check_status
|
|
120
|
-
applied_at
|
|
121
|
-
evaluation_plan_id
|
|
122
|
-
evaluation_plan
|
|
123
|
-
fit_check_id
|
|
124
|
-
round_no
|
|
89
|
+
id String @id @default(uuid())
|
|
90
|
+
candidate_id String
|
|
91
|
+
resume_id String
|
|
92
|
+
organisation_id String
|
|
93
|
+
job_description_id String
|
|
94
|
+
status ApplicationStatus @default(PENDING)
|
|
95
|
+
fit_check_score Float?
|
|
96
|
+
fit_check_status FitCheckStatus?
|
|
97
|
+
applied_at DateTime @default(now())
|
|
98
|
+
evaluation_plan_id String?
|
|
99
|
+
evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])
|
|
100
|
+
fit_check_id String? @unique
|
|
101
|
+
round_no Int @default(0)
|
|
102
|
+
|
|
125
103
|
// Relations
|
|
126
104
|
candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
127
105
|
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
@@ -130,17 +108,18 @@ model Application {
|
|
|
130
108
|
fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
131
109
|
interviews Interview[]
|
|
132
110
|
ongoing_evaluations OngoingEvaluation[]
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
is_active Boolean @default(true)
|
|
111
|
+
|
|
112
|
+
created_at DateTime @default(now())
|
|
113
|
+
updated_at DateTime @updatedAt
|
|
114
|
+
created_by String
|
|
115
|
+
updated_by String
|
|
116
|
+
is_active Boolean @default(true)
|
|
140
117
|
|
|
141
118
|
@@unique([candidate_id, job_description_id]) // Ensures candidate applies only once per job
|
|
142
119
|
@@index([candidate_id])
|
|
143
120
|
@@index([job_description_id])
|
|
121
|
+
@@index([organisation_id])
|
|
122
|
+
@@index([resume_id])
|
|
144
123
|
}
|
|
145
124
|
|
|
146
125
|
model Approval {
|
|
@@ -189,6 +168,8 @@ model Assessment {
|
|
|
189
168
|
reviewer User? @relation("ReviewerAssessments", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
190
169
|
questions AssessmentQuestion[] @relation("AssessmentToAssessmentQuestion")
|
|
191
170
|
candidateResponse CandidateQuestionResponse[]
|
|
171
|
+
Panelist Panelist? @relation(fields: [panelistId], references: [id])
|
|
172
|
+
panelistId String?
|
|
192
173
|
User User? @relation(fields: [userId], references: [id])
|
|
193
174
|
userId String?
|
|
194
175
|
|
|
@@ -228,6 +209,7 @@ model AssessmentLibrary {
|
|
|
228
209
|
evaluation_Plans EvaluationPlan[]
|
|
229
210
|
|
|
230
211
|
@@index([organisation_id])
|
|
212
|
+
@@index([created_at])
|
|
231
213
|
}
|
|
232
214
|
|
|
233
215
|
/**
|
|
@@ -266,6 +248,7 @@ model AssignmentLibrary {
|
|
|
266
248
|
evaluationPlan EvaluationPlan[]
|
|
267
249
|
|
|
268
250
|
@@index([job_description_id])
|
|
251
|
+
@@index([created_at])
|
|
269
252
|
}
|
|
270
253
|
|
|
271
254
|
enum JobType {
|
|
@@ -440,7 +423,10 @@ model EvaluationPlan {
|
|
|
440
423
|
// Relations
|
|
441
424
|
jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)
|
|
442
425
|
questions Question[] // One evaluation plan → many questions
|
|
426
|
+
panelists Panelist[]
|
|
427
|
+
interviews Interview[]
|
|
443
428
|
applications Application[]
|
|
429
|
+
// New optional one-to-one relation with AssessmentLibrary
|
|
444
430
|
assessment AssessmentLibrary? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
|
|
445
431
|
assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)
|
|
446
432
|
ongoing_evaluations OngoingEvaluation[]
|
|
@@ -449,16 +435,10 @@ model EvaluationPlan {
|
|
|
449
435
|
@@index([job_description_id])
|
|
450
436
|
}
|
|
451
437
|
|
|
452
|
-
enum FeedbackType {
|
|
453
|
-
SECTION
|
|
454
|
-
OVERALL
|
|
455
|
-
}
|
|
456
|
-
|
|
457
438
|
model Feedback {
|
|
458
|
-
id
|
|
459
|
-
interview_id
|
|
460
|
-
|
|
461
|
-
order_no Int?
|
|
439
|
+
id String @id @default(uuid())
|
|
440
|
+
interview_id String
|
|
441
|
+
order_no Int
|
|
462
442
|
|
|
463
443
|
ai_feedback Json?
|
|
464
444
|
human_feedback Json?
|
|
@@ -485,7 +465,6 @@ model FitCheck {
|
|
|
485
465
|
id String @id @default(uuid())
|
|
486
466
|
/// FK to organisations table
|
|
487
467
|
organisation_id String?
|
|
488
|
-
candidate_id String?
|
|
489
468
|
resume_id String
|
|
490
469
|
job_description_id String
|
|
491
470
|
|
|
@@ -523,7 +502,6 @@ model FitCheck {
|
|
|
523
502
|
updated_at DateTime @updatedAt
|
|
524
503
|
/// Relations
|
|
525
504
|
organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
526
|
-
candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
527
505
|
resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
528
506
|
job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
529
507
|
application Application?
|
|
@@ -550,6 +528,25 @@ model Google {
|
|
|
550
528
|
is_active Boolean @default(true)
|
|
551
529
|
}
|
|
552
530
|
|
|
531
|
+
model IntermediateFeedback {
|
|
532
|
+
id String @id @default(uuid())
|
|
533
|
+
interview_id String
|
|
534
|
+
overall_feedback_id String?
|
|
535
|
+
intermediate_feedback Json
|
|
536
|
+
order_no Int @default(autoincrement())
|
|
537
|
+
created_at DateTime @default(now())
|
|
538
|
+
updated_at DateTime @updatedAt
|
|
539
|
+
created_by String
|
|
540
|
+
updated_by String
|
|
541
|
+
is_active Boolean @default(true)
|
|
542
|
+
// Relations
|
|
543
|
+
interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
544
|
+
OverallFeedback OverallFeedback? @relation(fields: [overall_feedback_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
545
|
+
transcripts Transcript[]
|
|
546
|
+
|
|
547
|
+
@@index([interview_id])
|
|
548
|
+
}
|
|
549
|
+
|
|
553
550
|
enum InterviewStatus {
|
|
554
551
|
INTERVIEW_REQUESTED
|
|
555
552
|
SCHEDULED
|
|
@@ -560,47 +557,96 @@ enum InterviewStatus {
|
|
|
560
557
|
EVALUATED // Feedback completed and locked
|
|
561
558
|
}
|
|
562
559
|
|
|
560
|
+
enum InterviewFeedback {
|
|
561
|
+
STRONG_HIRE
|
|
562
|
+
HIRE
|
|
563
|
+
NO_HIRE
|
|
564
|
+
STRONG_NO_HIRE
|
|
565
|
+
}
|
|
566
|
+
|
|
563
567
|
model Interview {
|
|
564
|
-
id
|
|
565
|
-
candidate_id
|
|
566
|
-
interviewer_id
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
568
|
+
id String @id @default(uuid())
|
|
569
|
+
candidate_id String
|
|
570
|
+
interviewer_id String?
|
|
571
|
+
evaluation_plan_id String
|
|
572
|
+
application_id String?
|
|
573
|
+
resume_id String
|
|
574
|
+
job_description_id String
|
|
575
|
+
organisation_id String
|
|
576
|
+
room_name String?
|
|
577
|
+
interview_summary String[]
|
|
578
|
+
ai_interview_feedback InterviewFeedback?
|
|
579
|
+
interview_feedback InterviewFeedback?
|
|
580
|
+
interview_rating Float? // Overall rating out of 100 based on evaluation
|
|
581
|
+
scheduled_start_time DateTime?
|
|
582
|
+
scheduled_end_time DateTime?
|
|
583
|
+
actual_start_time DateTime?
|
|
584
|
+
actual_end_time DateTime?
|
|
585
|
+
recording_url String?
|
|
586
|
+
interview_status InterviewStatus @default(SCHEDULED)
|
|
587
|
+
google_event_id String?
|
|
588
|
+
created_at DateTime @default(now())
|
|
589
|
+
updated_at DateTime @updatedAt
|
|
590
|
+
created_by String
|
|
591
|
+
updated_by String
|
|
592
|
+
is_active Boolean @default(true)
|
|
586
593
|
// Relations
|
|
587
|
-
candidate
|
|
588
|
-
interviewer
|
|
589
|
-
organisation
|
|
590
|
-
job_description
|
|
591
|
-
resume
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
594
|
+
candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
|
|
595
|
+
interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
|
|
596
|
+
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
597
|
+
job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
598
|
+
resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
599
|
+
evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
600
|
+
application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
601
|
+
ongoing_evaluation OngoingEvaluation?
|
|
602
|
+
intermediateFeedbacks IntermediateFeedback[]
|
|
603
|
+
transcripts Transcript[]
|
|
604
|
+
suggestions Suggestion[]
|
|
605
|
+
overallFeedback OverallFeedback[]
|
|
606
|
+
feedback Feedback[]
|
|
607
|
+
interviewNotes InterviewNotes[]
|
|
608
|
+
|
|
609
|
+
@@unique([interviewer_id, candidate_id, evaluation_plan_id])
|
|
610
|
+
@@index([application_id])
|
|
599
611
|
@@index([candidate_id])
|
|
600
612
|
@@index([interviewer_id])
|
|
601
613
|
@@index([job_description_id])
|
|
602
614
|
}
|
|
603
615
|
|
|
616
|
+
/// Defines the category or purpose of the interview, suitable for any job role.
|
|
617
|
+
enum InterviewCategory {
|
|
618
|
+
SCREENING // Initial screening interview
|
|
619
|
+
TECHNICAL // Skill or role-specific interview
|
|
620
|
+
BEHAVIORAL // Behavioral or situational round
|
|
621
|
+
CASE_STUDY // Case-based or analytical round
|
|
622
|
+
MANAGERIAL // Leadership or management-focused
|
|
623
|
+
CULTURAL_FIT // Checks alignment with company culture
|
|
624
|
+
FINAL_DISCUSSION // Final HR or offer discussion
|
|
625
|
+
GENERAL // Generic or flexible-purpose interview
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
/// Represents a reusable interview template applicable to any job type.
|
|
629
|
+
model InterviewLibrary {
|
|
630
|
+
id String @id @default(uuid())
|
|
631
|
+
title String
|
|
632
|
+
description String
|
|
633
|
+
organisation_id String
|
|
634
|
+
category InterviewCategory
|
|
635
|
+
evaluation_type EvaluationType
|
|
636
|
+
duration Float
|
|
637
|
+
passing_marks Float
|
|
638
|
+
is_active Boolean @default(true)
|
|
639
|
+
created_by String
|
|
640
|
+
updated_by String
|
|
641
|
+
created_at DateTime @default(now())
|
|
642
|
+
updated_at DateTime @updatedAt
|
|
643
|
+
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
644
|
+
|
|
645
|
+
@@index([organisation_id])
|
|
646
|
+
@@index([category])
|
|
647
|
+
@@index([created_at])
|
|
648
|
+
}
|
|
649
|
+
|
|
604
650
|
model InterviewNotes {
|
|
605
651
|
id String @id @default(uuid())
|
|
606
652
|
interview_id String
|
|
@@ -679,6 +725,7 @@ model JobDescriptionData {
|
|
|
679
725
|
jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
680
726
|
|
|
681
727
|
@@unique([job_description_id, key])
|
|
728
|
+
@@index([created_at])
|
|
682
729
|
}
|
|
683
730
|
|
|
684
731
|
model Message {
|
|
@@ -788,6 +835,7 @@ model Organisation {
|
|
|
788
835
|
address String
|
|
789
836
|
company_values Json[]
|
|
790
837
|
|
|
838
|
+
interviewers User[]
|
|
791
839
|
created_at DateTime @default(now())
|
|
792
840
|
updated_at DateTime @updatedAt
|
|
793
841
|
created_by String
|
|
@@ -796,14 +844,15 @@ model Organisation {
|
|
|
796
844
|
alias String? @unique
|
|
797
845
|
logo String?
|
|
798
846
|
applications Application[]
|
|
799
|
-
interviewers User[]
|
|
800
847
|
user_roles UserRole[]
|
|
801
848
|
job_descriptions JobDescription[]
|
|
802
849
|
assessment_library AssessmentLibrary[]
|
|
803
850
|
assignment_library AssignmentLibrary[]
|
|
851
|
+
interview_library InterviewLibrary[]
|
|
804
852
|
interviews Interview[]
|
|
805
853
|
fit_check FitCheck[] // one-to-many link
|
|
806
854
|
resumes Resume[] // one-to-many link
|
|
855
|
+
panelists Panelist[] // one-to-many link
|
|
807
856
|
approvals Approval[] // one-to-many link
|
|
808
857
|
suggestions Suggestion[]
|
|
809
858
|
ongoing_evaluations OngoingEvaluation[] // optional one-to-many
|
|
@@ -812,6 +861,67 @@ model Organisation {
|
|
|
812
861
|
@@index([name])
|
|
813
862
|
}
|
|
814
863
|
|
|
864
|
+
enum FeedbackType {
|
|
865
|
+
HUMAN
|
|
866
|
+
AI
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
enum OverallRecommendation {
|
|
870
|
+
StrongHire
|
|
871
|
+
Hire
|
|
872
|
+
LeaningHire
|
|
873
|
+
NoHire
|
|
874
|
+
StrongNoHire
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
model OverallFeedback {
|
|
878
|
+
id String @id @default(uuid())
|
|
879
|
+
interview_id String
|
|
880
|
+
interviewer_id String? // 👈 optional field
|
|
881
|
+
feedback_type FeedbackType
|
|
882
|
+
overall_score Float
|
|
883
|
+
overall_recommendation OverallRecommendation
|
|
884
|
+
overall_feedback Json
|
|
885
|
+
created_at DateTime @default(now())
|
|
886
|
+
updated_at DateTime @updatedAt
|
|
887
|
+
created_by String
|
|
888
|
+
updated_by String
|
|
889
|
+
is_active Boolean @default(true)
|
|
890
|
+
// Relations
|
|
891
|
+
interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
892
|
+
interviewer Panelist? @relation(fields: [interviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
893
|
+
intermediateFeedbacks IntermediateFeedback[] // 👈 one-to-many relation added here
|
|
894
|
+
|
|
895
|
+
@@unique([interview_id, interviewer_id]) // 👈 updated uniqueness logic
|
|
896
|
+
@@index([interview_id])
|
|
897
|
+
@@index([interviewer_id])
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
model Panelist {
|
|
901
|
+
id String @id @default(uuid())
|
|
902
|
+
name String
|
|
903
|
+
designation String
|
|
904
|
+
experience String // e.g. "10+", keeping as String for flexibility
|
|
905
|
+
expertise String // e.g. "Product Strategy, Figma..."
|
|
906
|
+
suited_interview String // e.g. "Consulting, Customer understanding..."
|
|
907
|
+
industry String // e.g. "Healthcare, Fintech"
|
|
908
|
+
special_areas String? // Optional field
|
|
909
|
+
organisation_id String
|
|
910
|
+
user_id String @unique
|
|
911
|
+
|
|
912
|
+
user User @relation(fields: [user_id], references: [id])
|
|
913
|
+
organisation Organisation @relation(fields: [organisation_id], references: [id])
|
|
914
|
+
evaluationPlans EvaluationPlan[]
|
|
915
|
+
overallFeedbacks OverallFeedback[]
|
|
916
|
+
created_at DateTime @default(now())
|
|
917
|
+
updated_at DateTime @updatedAt
|
|
918
|
+
created_by String
|
|
919
|
+
updated_by String
|
|
920
|
+
is_active Boolean @default(true)
|
|
921
|
+
|
|
922
|
+
assessments Assessment[]
|
|
923
|
+
}
|
|
924
|
+
|
|
815
925
|
model Permission {
|
|
816
926
|
id String @id @default(uuid())
|
|
817
927
|
permissions String[] @default([])
|
|
@@ -983,10 +1093,11 @@ model Suggestion {
|
|
|
983
1093
|
organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)
|
|
984
1094
|
|
|
985
1095
|
@@index([interview_id])
|
|
1096
|
+
@@index([transcript_id])
|
|
986
1097
|
}
|
|
987
1098
|
|
|
988
1099
|
model Transcript {
|
|
989
|
-
id String
|
|
1100
|
+
id String @id @default(uuid())
|
|
990
1101
|
interview_id String?
|
|
991
1102
|
suggestion_id String?
|
|
992
1103
|
intermediate_feedback_id String?
|
|
@@ -995,16 +1106,17 @@ model Transcript {
|
|
|
995
1106
|
candidate_timestamp DateTime?
|
|
996
1107
|
interviewer String
|
|
997
1108
|
candidate String
|
|
998
|
-
order_no Int
|
|
999
|
-
created_at DateTime
|
|
1000
|
-
updated_at DateTime
|
|
1109
|
+
order_no Int @default(autoincrement())
|
|
1110
|
+
created_at DateTime @default(now())
|
|
1111
|
+
updated_at DateTime @updatedAt
|
|
1001
1112
|
created_by String
|
|
1002
1113
|
updated_by String
|
|
1003
|
-
is_active Boolean
|
|
1114
|
+
is_active Boolean @default(true)
|
|
1004
1115
|
// Relations
|
|
1005
|
-
interview Interview?
|
|
1006
|
-
suggestion Suggestion?
|
|
1007
|
-
|
|
1116
|
+
interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: SetNull)
|
|
1117
|
+
suggestion Suggestion? @relation(fields: [suggestion_id], references: [id], onDelete: SetNull)
|
|
1118
|
+
intermediate_feedback IntermediateFeedback? @relation(fields: [intermediate_feedback_id], references: [id], onDelete: SetNull)
|
|
1119
|
+
job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
1008
1120
|
|
|
1009
1121
|
@@unique([interview_id, order_no])
|
|
1010
1122
|
@@index([interview_id])
|
|
@@ -1042,6 +1154,7 @@ model User {
|
|
|
1042
1154
|
job_description JobDescription[]
|
|
1043
1155
|
hiring_manager_job_descriptions JobDescription[] @relation("HiringManager")
|
|
1044
1156
|
approvals Approval[]
|
|
1157
|
+
panelist Panelist?
|
|
1045
1158
|
sent_messages Message[] @relation("Sent Messages")
|
|
1046
1159
|
received_messages Message[] @relation("Received Messages")
|
|
1047
1160
|
profile_created Boolean
|
|
@@ -1055,11 +1168,9 @@ model User {
|
|
|
1055
1168
|
candidateResponses CandidateQuestionResponse[]
|
|
1056
1169
|
questions Question[]
|
|
1057
1170
|
ongoing_evaluations OngoingEvaluation[] // optional one-to-many
|
|
1058
|
-
actor_activity_logs ActivityLog[] @relation("ActorActivityLogs")
|
|
1059
1171
|
actions Action[]
|
|
1060
1172
|
calendly Calendly?
|
|
1061
1173
|
google Google?
|
|
1062
|
-
fitChecks FitCheck[]
|
|
1063
1174
|
|
|
1064
1175
|
name String?
|
|
1065
1176
|
phone String?
|