@adaptware/eagles-db 0.4.36 → 0.4.37

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 (86) hide show
  1. package/client/edge.js +874 -10
  2. package/client/index-browser.js +905 -40
  3. package/client/index.d.ts +81912 -27565
  4. package/client/index.js +874 -10
  5. package/client/libquery_engine-darwin.dylib.node +0 -0
  6. package/client/package.json +1 -1
  7. package/client/schema.prisma +1584 -108
  8. package/client/wasm.js +874 -10
  9. package/package.json +1 -1
  10. package/prisma/.DS_Store +0 -0
  11. package/prisma/migrations/20260519120000_migrate_shortlisted_to_selected/migration.sql +2 -0
  12. package/prisma/schema/.DS_Store +0 -0
  13. package/prisma/schema/CandidateQuestionResponse.prisma +1 -0
  14. package/prisma/schema/UserRole.prisma +1 -0
  15. package/prisma/schema/action.prisma +5 -0
  16. package/prisma/schema/activityEvent.prisma +138 -0
  17. package/prisma/schema/activityLog.prisma +3 -0
  18. package/prisma/schema/applicationAnalytics.prisma +87 -0
  19. package/prisma/schema/applications.prisma +12 -2
  20. package/prisma/schema/approval.prisma +2 -0
  21. package/prisma/schema/assessment.prisma +1 -0
  22. package/prisma/schema/assessmentLibrary.prisma +1 -0
  23. package/prisma/schema/assessmentQuestion.prisma +1 -0
  24. package/prisma/schema/assessmentRoundAnalytics.prisma +119 -0
  25. package/prisma/schema/assignment.prisma +3 -0
  26. package/prisma/schema/assignmentLibrary.prisma +1 -0
  27. package/prisma/schema/assignmentRoundAnalytics.prisma +109 -0
  28. package/prisma/schema/authModule.prisma +3 -0
  29. package/prisma/schema/budget.prisma +6 -0
  30. package/prisma/schema/calendly.prisma +2 -0
  31. package/prisma/schema/candidateProfile.prisma +2 -0
  32. package/prisma/schema/communication.prisma +11 -0
  33. package/prisma/schema/contactUs.prisma +2 -0
  34. package/prisma/schema/document.prisma +5 -4
  35. package/prisma/schema/evaluationPlan.prisma +35 -10
  36. package/prisma/schema/feedback.prisma +1 -0
  37. package/prisma/schema/fitCheck.prisma +3 -0
  38. package/prisma/schema/google.prisma +2 -0
  39. package/prisma/schema/integration.prisma +13 -0
  40. package/prisma/schema/interview.prisma +9 -0
  41. package/prisma/schema/interviewNotes.prisma +1 -0
  42. package/prisma/schema/interviewRoundAnalytics.prisma +140 -0
  43. package/prisma/schema/interviewerAnalytics.prisma +129 -0
  44. package/prisma/schema/jobApplicationFields.prisma +3 -0
  45. package/prisma/schema/jobApplicationResponse.prisma +1 -0
  46. package/prisma/schema/jobApplicationTemplate.prisma +3 -0
  47. package/prisma/schema/jobDescription.prisma +43 -35
  48. package/prisma/schema/jobDescriptionData.prisma +1 -0
  49. package/prisma/schema/jobProfile.prisma +3 -0
  50. package/prisma/schema/jobRoundAnalytics.prisma +101 -0
  51. package/prisma/schema/liveAnalysis.prisma +1 -0
  52. package/prisma/schema/message.prisma +2 -0
  53. package/prisma/schema/migrations/20260519120000_add_analytics_schema/migration.sql +84 -0
  54. package/prisma/schema/migrations/20260625120000_add_interviewer_analytics/migration.sql +26 -0
  55. package/prisma/schema/migrations/20260629120000_add_user_lifecycle_activity_events/migration.sql +13 -0
  56. package/prisma/schema/migrations/20260629140000_drop_organisation_org_code/migration.sql +2 -0
  57. package/prisma/schema/migrations/20260629160000_employee_codes_dual_interviewer_analytics/migration.sql +87 -0
  58. package/prisma/schema/migrations/20260630120000_add_application_sources/migration.sql +38 -0
  59. package/prisma/schema/migrations/20260701120000_add_source_effectiveness_analytics/migration.sql +40 -0
  60. package/prisma/schema/migrations/20260702120000_add_analytics_daily_tables/migration.sql +232 -0
  61. package/prisma/schema/migrations/{20260710120000_add_resume_rendered_export_fields → 20260706120000_add_resume_rendered_export}/migration.sql +5 -2
  62. package/prisma/schema/notes.prisma +1 -0
  63. package/prisma/schema/ongoingEvaluation.prisma +7 -0
  64. package/prisma/schema/openJobAnalytics.prisma +85 -0
  65. package/prisma/schema/organisation.prisma +39 -31
  66. package/prisma/schema/organisationConfig.prisma +1 -0
  67. package/prisma/schema/permission.prisma +1 -0
  68. package/prisma/schema/pipelineDistributionAnalytics.prisma +64 -0
  69. package/prisma/schema/promise.prisma +3 -0
  70. package/prisma/schema/questions.prisma +4 -0
  71. package/prisma/schema/refreshToken.prisma +2 -0
  72. package/prisma/schema/reportingOverviewJobAnalytics.prisma +49 -0
  73. package/prisma/schema/resume.prisma +5 -4
  74. package/prisma/schema/resumeData.prisma +1 -0
  75. package/prisma/schema/roundAnalytics.prisma +145 -0
  76. package/prisma/schema/schema.prisma +2 -0
  77. package/prisma/schema/source.prisma +36 -0
  78. package/prisma/schema/sourceEffectivenessAnalytics.prisma +79 -0
  79. package/prisma/schema/suggestion.prisma +1 -0
  80. package/prisma/schema/transcript.prisma +1 -0
  81. package/prisma/schema/user.prisma +10 -0
  82. package/prisma/schema/userProfile.prisma +2 -0
  83. package/prisma/schema/zoomMeeting.prisma +5 -0
  84. package/prisma/schema/migrations/20260522120000_ongoing_evaluation_record_kind/migration.sql +0 -25
  85. package/prisma/schema/migrations/20260523120000_replace_record_kind_with_is_committed/migration.sql +0 -24
  86. package/prisma/schema/migrations/20260528120000_drop_job_description_recommendation_config/migration.sql +0 -2
package/client/wasm.js CHANGED
@@ -136,6 +136,22 @@ exports.Prisma.ActionScalarFieldEnum = {
136
136
  is_active: 'is_active'
137
137
  };
138
138
 
139
+ exports.Prisma.ActivityEventScalarFieldEnum = {
140
+ id: 'id',
141
+ organisation_id: 'organisation_id',
142
+ event_type: 'event_type',
143
+ entity_type: 'entity_type',
144
+ entity_id: 'entity_id',
145
+ actor_id: 'actor_id',
146
+ actor_type: 'actor_type',
147
+ related_entities: 'related_entities',
148
+ snapshot: 'snapshot',
149
+ payload: 'payload',
150
+ schema_version: 'schema_version',
151
+ occurred_at: 'occurred_at',
152
+ created_at: 'created_at'
153
+ };
154
+
139
155
  exports.Prisma.ActivityLogScalarFieldEnum = {
140
156
  id: 'id',
141
157
  application_id: 'application_id',
@@ -148,6 +164,62 @@ exports.Prisma.ActivityLogScalarFieldEnum = {
148
164
  is_active: 'is_active'
149
165
  };
150
166
 
167
+ exports.Prisma.ApplicationAnalyticsScalarFieldEnum = {
168
+ id: 'id',
169
+ organisation_id: 'organisation_id',
170
+ application_id: 'application_id',
171
+ job_description_id: 'job_description_id',
172
+ candidate_id: 'candidate_id',
173
+ source_id: 'source_id',
174
+ source_name: 'source_name',
175
+ source_category: 'source_category',
176
+ source_colour: 'source_colour',
177
+ job_code: 'job_code',
178
+ job_number: 'job_number',
179
+ role_title: 'role_title',
180
+ hiring_manager_id: 'hiring_manager_id',
181
+ candidate_name: 'candidate_name',
182
+ recruiter_id: 'recruiter_id',
183
+ applied_at: 'applied_at',
184
+ status_updated_at: 'status_updated_at',
185
+ status: 'status',
186
+ fit_check_score: 'fit_check_score',
187
+ is_screened: 'is_screened',
188
+ is_evaluated: 'is_evaluated',
189
+ is_rejected: 'is_rejected',
190
+ is_shortlisted: 'is_shortlisted',
191
+ has_committed_evaluation: 'has_committed_evaluation',
192
+ updated_at: 'updated_at'
193
+ };
194
+
195
+ exports.Prisma.ApplicationAnalyticsDailyScalarFieldEnum = {
196
+ id: 'id',
197
+ snapshot_date: 'snapshot_date',
198
+ organisation_id: 'organisation_id',
199
+ application_id: 'application_id',
200
+ job_description_id: 'job_description_id',
201
+ candidate_id: 'candidate_id',
202
+ source_id: 'source_id',
203
+ source_name: 'source_name',
204
+ source_category: 'source_category',
205
+ source_colour: 'source_colour',
206
+ job_code: 'job_code',
207
+ job_number: 'job_number',
208
+ role_title: 'role_title',
209
+ hiring_manager_id: 'hiring_manager_id',
210
+ candidate_name: 'candidate_name',
211
+ recruiter_id: 'recruiter_id',
212
+ applied_at: 'applied_at',
213
+ status_updated_at: 'status_updated_at',
214
+ status: 'status',
215
+ fit_check_score: 'fit_check_score',
216
+ is_screened: 'is_screened',
217
+ is_evaluated: 'is_evaluated',
218
+ is_rejected: 'is_rejected',
219
+ is_shortlisted: 'is_shortlisted',
220
+ has_committed_evaluation: 'has_committed_evaluation'
221
+ };
222
+
151
223
  exports.Prisma.ApplicationScalarFieldEnum = {
152
224
  id: 'id',
153
225
  candidate_id: 'candidate_id',
@@ -158,8 +230,11 @@ exports.Prisma.ApplicationScalarFieldEnum = {
158
230
  applied_at: 'applied_at',
159
231
  evaluation_plan_id: 'evaluation_plan_id',
160
232
  fit_check_id: 'fit_check_id',
233
+ recruiter_id: 'recruiter_id',
234
+ source_id: 'source_id',
161
235
  round_no: 'round_no',
162
236
  is_jaf_completed: 'is_jaf_completed',
237
+ proceed_to_next_round: 'proceed_to_next_round',
163
238
  on_notice_period: 'on_notice_period',
164
239
  expected_joining_date: 'expected_joining_date',
165
240
  current_ctc: 'current_ctc',
@@ -230,6 +305,84 @@ exports.Prisma.AssessmentQuestionScalarFieldEnum = {
230
305
  updated_at: 'updated_at'
231
306
  };
232
307
 
308
+ exports.Prisma.AssessmentRoundAnalyticsScalarFieldEnum = {
309
+ id: 'id',
310
+ organisation_id: 'organisation_id',
311
+ round_id: 'round_id',
312
+ assessment_id: 'assessment_id',
313
+ application_id: 'application_id',
314
+ candidate_id: 'candidate_id',
315
+ job_description_id: 'job_description_id',
316
+ evaluation_plan_id: 'evaluation_plan_id',
317
+ job_code: 'job_code',
318
+ job_number: 'job_number',
319
+ role_title: 'role_title',
320
+ hiring_manager_id: 'hiring_manager_id',
321
+ department: 'department',
322
+ location: 'location',
323
+ round_name: 'round_name',
324
+ evaluation_category: 'evaluation_category',
325
+ round_type: 'round_type',
326
+ round_format: 'round_format',
327
+ plan_order_no: 'plan_order_no',
328
+ plan_type: 'plan_type',
329
+ is_custom: 'is_custom',
330
+ reviewer_id: 'reviewer_id',
331
+ reviewer_employee_id: 'reviewer_employee_id',
332
+ reviewer_name: 'reviewer_name',
333
+ candidate_name: 'candidate_name',
334
+ evaluation_type: 'evaluation_type',
335
+ scheduled_start_at: 'scheduled_start_at',
336
+ scheduled_end_at: 'scheduled_end_at',
337
+ actual_start_at: 'actual_start_at',
338
+ actual_end_at: 'actual_end_at',
339
+ attempt_expires_at: 'attempt_expires_at',
340
+ evaluated_at: 'evaluated_at',
341
+ score: 'score',
342
+ status: 'status',
343
+ round_result: 'round_result',
344
+ updated_at: 'updated_at'
345
+ };
346
+
347
+ exports.Prisma.AssessmentRoundAnalyticsDailyScalarFieldEnum = {
348
+ id: 'id',
349
+ snapshot_date: 'snapshot_date',
350
+ organisation_id: 'organisation_id',
351
+ round_id: 'round_id',
352
+ assessment_id: 'assessment_id',
353
+ application_id: 'application_id',
354
+ candidate_id: 'candidate_id',
355
+ job_description_id: 'job_description_id',
356
+ evaluation_plan_id: 'evaluation_plan_id',
357
+ job_code: 'job_code',
358
+ job_number: 'job_number',
359
+ role_title: 'role_title',
360
+ hiring_manager_id: 'hiring_manager_id',
361
+ department: 'department',
362
+ location: 'location',
363
+ round_name: 'round_name',
364
+ evaluation_category: 'evaluation_category',
365
+ round_type: 'round_type',
366
+ round_format: 'round_format',
367
+ plan_order_no: 'plan_order_no',
368
+ plan_type: 'plan_type',
369
+ is_custom: 'is_custom',
370
+ reviewer_id: 'reviewer_id',
371
+ reviewer_employee_id: 'reviewer_employee_id',
372
+ reviewer_name: 'reviewer_name',
373
+ candidate_name: 'candidate_name',
374
+ evaluation_type: 'evaluation_type',
375
+ scheduled_start_at: 'scheduled_start_at',
376
+ scheduled_end_at: 'scheduled_end_at',
377
+ actual_start_at: 'actual_start_at',
378
+ actual_end_at: 'actual_end_at',
379
+ attempt_expires_at: 'attempt_expires_at',
380
+ evaluated_at: 'evaluated_at',
381
+ score: 'score',
382
+ status: 'status',
383
+ round_result: 'round_result'
384
+ };
385
+
233
386
  exports.Prisma.AssignmentScalarFieldEnum = {
234
387
  id: 'id',
235
388
  candidate_id: 'candidate_id',
@@ -269,6 +422,84 @@ exports.Prisma.AssignmentLibraryScalarFieldEnum = {
269
422
  is_active: 'is_active'
270
423
  };
271
424
 
425
+ exports.Prisma.AssignmentRoundAnalyticsScalarFieldEnum = {
426
+ id: 'id',
427
+ organisation_id: 'organisation_id',
428
+ round_id: 'round_id',
429
+ assignment_id: 'assignment_id',
430
+ application_id: 'application_id',
431
+ candidate_id: 'candidate_id',
432
+ job_description_id: 'job_description_id',
433
+ evaluation_plan_id: 'evaluation_plan_id',
434
+ job_code: 'job_code',
435
+ job_number: 'job_number',
436
+ role_title: 'role_title',
437
+ hiring_manager_id: 'hiring_manager_id',
438
+ department: 'department',
439
+ location: 'location',
440
+ round_name: 'round_name',
441
+ evaluation_category: 'evaluation_category',
442
+ round_type: 'round_type',
443
+ round_format: 'round_format',
444
+ plan_order_no: 'plan_order_no',
445
+ plan_type: 'plan_type',
446
+ is_custom: 'is_custom',
447
+ reviewer_id: 'reviewer_id',
448
+ reviewer_employee_id: 'reviewer_employee_id',
449
+ reviewer_name: 'reviewer_name',
450
+ candidate_name: 'candidate_name',
451
+ evaluation_type: 'evaluation_type',
452
+ scheduled_start_at: 'scheduled_start_at',
453
+ scheduled_end_at: 'scheduled_end_at',
454
+ completed_at: 'completed_at',
455
+ evaluated_at: 'evaluated_at',
456
+ cancelled_at: 'cancelled_at',
457
+ status: 'status',
458
+ overall_score: 'overall_score',
459
+ cancel_reason: 'cancel_reason',
460
+ round_result: 'round_result',
461
+ updated_at: 'updated_at'
462
+ };
463
+
464
+ exports.Prisma.AssignmentRoundAnalyticsDailyScalarFieldEnum = {
465
+ id: 'id',
466
+ snapshot_date: 'snapshot_date',
467
+ organisation_id: 'organisation_id',
468
+ round_id: 'round_id',
469
+ assignment_id: 'assignment_id',
470
+ application_id: 'application_id',
471
+ candidate_id: 'candidate_id',
472
+ job_description_id: 'job_description_id',
473
+ evaluation_plan_id: 'evaluation_plan_id',
474
+ job_code: 'job_code',
475
+ job_number: 'job_number',
476
+ role_title: 'role_title',
477
+ hiring_manager_id: 'hiring_manager_id',
478
+ department: 'department',
479
+ location: 'location',
480
+ round_name: 'round_name',
481
+ evaluation_category: 'evaluation_category',
482
+ round_type: 'round_type',
483
+ round_format: 'round_format',
484
+ plan_order_no: 'plan_order_no',
485
+ plan_type: 'plan_type',
486
+ is_custom: 'is_custom',
487
+ reviewer_id: 'reviewer_id',
488
+ reviewer_employee_id: 'reviewer_employee_id',
489
+ reviewer_name: 'reviewer_name',
490
+ candidate_name: 'candidate_name',
491
+ evaluation_type: 'evaluation_type',
492
+ scheduled_start_at: 'scheduled_start_at',
493
+ scheduled_end_at: 'scheduled_end_at',
494
+ completed_at: 'completed_at',
495
+ evaluated_at: 'evaluated_at',
496
+ cancelled_at: 'cancelled_at',
497
+ status: 'status',
498
+ overall_score: 'overall_score',
499
+ cancel_reason: 'cancel_reason',
500
+ round_result: 'round_result'
501
+ };
502
+
272
503
  exports.Prisma.AuthModuleScalarFieldEnum = {
273
504
  id: 'id',
274
505
  user_id: 'user_id',
@@ -456,6 +687,7 @@ exports.Prisma.EvaluationPlanScalarFieldEnum = {
456
687
  elimination_round: 'elimination_round',
457
688
  evaluation_type: 'evaluation_type',
458
689
  type_of_round: 'type_of_round',
690
+ round_purpose: 'round_purpose',
459
691
  timeline: 'timeline',
460
692
  order_no: 'order_no',
461
693
  details: 'details',
@@ -464,6 +696,7 @@ exports.Prisma.EvaluationPlanScalarFieldEnum = {
464
696
  duration: 'duration',
465
697
  duration_unit: 'duration_unit',
466
698
  deadline: 'deadline',
699
+ category: 'category',
467
700
  created_by: 'created_by',
468
701
  updated_by: 'updated_by',
469
702
  created_at: 'created_at',
@@ -637,6 +870,188 @@ exports.Prisma.InterviewNotesScalarFieldEnum = {
637
870
  is_active: 'is_active'
638
871
  };
639
872
 
873
+ exports.Prisma.InterviewRoundAnalyticsScalarFieldEnum = {
874
+ id: 'id',
875
+ organisation_id: 'organisation_id',
876
+ round_id: 'round_id',
877
+ interview_id: 'interview_id',
878
+ application_id: 'application_id',
879
+ candidate_id: 'candidate_id',
880
+ job_description_id: 'job_description_id',
881
+ evaluation_plan_id: 'evaluation_plan_id',
882
+ job_code: 'job_code',
883
+ job_number: 'job_number',
884
+ role_title: 'role_title',
885
+ hiring_manager_id: 'hiring_manager_id',
886
+ department: 'department',
887
+ location: 'location',
888
+ round_name: 'round_name',
889
+ evaluation_category: 'evaluation_category',
890
+ round_type: 'round_type',
891
+ round_format: 'round_format',
892
+ plan_order_no: 'plan_order_no',
893
+ plan_type: 'plan_type',
894
+ is_custom: 'is_custom',
895
+ interviewer_id: 'interviewer_id',
896
+ interviewer_employee_id: 'interviewer_employee_id',
897
+ interviewer_name: 'interviewer_name',
898
+ candidate_name: 'candidate_name',
899
+ candidate_email: 'candidate_email',
900
+ evaluation_type: 'evaluation_type',
901
+ ai_assistance_mode: 'ai_assistance_mode',
902
+ interview_platform: 'interview_platform',
903
+ interview_status: 'interview_status',
904
+ scheduled_start_at: 'scheduled_start_at',
905
+ scheduled_end_at: 'scheduled_end_at',
906
+ actual_start_at: 'actual_start_at',
907
+ actual_end_at: 'actual_end_at',
908
+ evaluated_at: 'evaluated_at',
909
+ first_assigned_at: 'first_assigned_at',
910
+ duration_minutes: 'duration_minutes',
911
+ human_rating: 'human_rating',
912
+ ai_rating: 'ai_rating',
913
+ recommendation: 'recommendation',
914
+ ai_disagrees_with_ai: 'ai_disagrees_with_ai',
915
+ difficulty_score: 'difficulty_score',
916
+ supportiveness_score: 'supportiveness_score',
917
+ topics_coverage_percent: 'topics_coverage_percent',
918
+ updated_at: 'updated_at'
919
+ };
920
+
921
+ exports.Prisma.InterviewRoundAnalyticsDailyScalarFieldEnum = {
922
+ id: 'id',
923
+ snapshot_date: 'snapshot_date',
924
+ organisation_id: 'organisation_id',
925
+ round_id: 'round_id',
926
+ interview_id: 'interview_id',
927
+ application_id: 'application_id',
928
+ candidate_id: 'candidate_id',
929
+ job_description_id: 'job_description_id',
930
+ evaluation_plan_id: 'evaluation_plan_id',
931
+ job_code: 'job_code',
932
+ job_number: 'job_number',
933
+ role_title: 'role_title',
934
+ hiring_manager_id: 'hiring_manager_id',
935
+ department: 'department',
936
+ location: 'location',
937
+ round_name: 'round_name',
938
+ evaluation_category: 'evaluation_category',
939
+ round_type: 'round_type',
940
+ round_format: 'round_format',
941
+ plan_order_no: 'plan_order_no',
942
+ plan_type: 'plan_type',
943
+ is_custom: 'is_custom',
944
+ interviewer_id: 'interviewer_id',
945
+ interviewer_employee_id: 'interviewer_employee_id',
946
+ interviewer_name: 'interviewer_name',
947
+ candidate_name: 'candidate_name',
948
+ candidate_email: 'candidate_email',
949
+ evaluation_type: 'evaluation_type',
950
+ ai_assistance_mode: 'ai_assistance_mode',
951
+ interview_platform: 'interview_platform',
952
+ interview_status: 'interview_status',
953
+ scheduled_start_at: 'scheduled_start_at',
954
+ scheduled_end_at: 'scheduled_end_at',
955
+ actual_start_at: 'actual_start_at',
956
+ actual_end_at: 'actual_end_at',
957
+ evaluated_at: 'evaluated_at',
958
+ first_assigned_at: 'first_assigned_at',
959
+ duration_minutes: 'duration_minutes',
960
+ human_rating: 'human_rating',
961
+ ai_rating: 'ai_rating',
962
+ recommendation: 'recommendation',
963
+ ai_disagrees_with_ai: 'ai_disagrees_with_ai',
964
+ difficulty_score: 'difficulty_score',
965
+ supportiveness_score: 'supportiveness_score',
966
+ topics_coverage_percent: 'topics_coverage_percent'
967
+ };
968
+
969
+ exports.Prisma.InterviewerOrganisationAnalyticsScalarFieldEnum = {
970
+ id: 'id',
971
+ organisation_id: 'organisation_id',
972
+ user_id: 'user_id',
973
+ name: 'name',
974
+ employee_id: 'employee_id',
975
+ interview_count: 'interview_count',
976
+ accepted_count: 'accepted_count',
977
+ rejected_count: 'rejected_count',
978
+ unsure_count: 'unsure_count',
979
+ ai_disagreement_count: 'ai_disagreement_count',
980
+ ai_disagreement_percent: 'ai_disagreement_percent',
981
+ avg_difficulty: 'avg_difficulty',
982
+ avg_supportiveness: 'avg_supportiveness',
983
+ avg_topics_coverage_percent: 'avg_topics_coverage_percent',
984
+ updated_at: 'updated_at'
985
+ };
986
+
987
+ exports.Prisma.InterviewerJobAnalyticsScalarFieldEnum = {
988
+ id: 'id',
989
+ organisation_id: 'organisation_id',
990
+ user_id: 'user_id',
991
+ job_description_id: 'job_description_id',
992
+ hiring_manager_id: 'hiring_manager_id',
993
+ department: 'department',
994
+ location: 'location',
995
+ role_title: 'role_title',
996
+ job_code: 'job_code',
997
+ opened_at: 'opened_at',
998
+ name: 'name',
999
+ employee_id: 'employee_id',
1000
+ interview_count: 'interview_count',
1001
+ accepted_count: 'accepted_count',
1002
+ rejected_count: 'rejected_count',
1003
+ unsure_count: 'unsure_count',
1004
+ ai_disagreement_count: 'ai_disagreement_count',
1005
+ ai_disagreement_percent: 'ai_disagreement_percent',
1006
+ avg_difficulty: 'avg_difficulty',
1007
+ avg_supportiveness: 'avg_supportiveness',
1008
+ avg_topics_coverage_percent: 'avg_topics_coverage_percent',
1009
+ updated_at: 'updated_at'
1010
+ };
1011
+
1012
+ exports.Prisma.InterviewerOrganisationAnalyticsDailyScalarFieldEnum = {
1013
+ id: 'id',
1014
+ snapshot_date: 'snapshot_date',
1015
+ organisation_id: 'organisation_id',
1016
+ user_id: 'user_id',
1017
+ name: 'name',
1018
+ employee_id: 'employee_id',
1019
+ interview_count: 'interview_count',
1020
+ accepted_count: 'accepted_count',
1021
+ rejected_count: 'rejected_count',
1022
+ unsure_count: 'unsure_count',
1023
+ ai_disagreement_count: 'ai_disagreement_count',
1024
+ ai_disagreement_percent: 'ai_disagreement_percent',
1025
+ avg_difficulty: 'avg_difficulty',
1026
+ avg_supportiveness: 'avg_supportiveness',
1027
+ avg_topics_coverage_percent: 'avg_topics_coverage_percent'
1028
+ };
1029
+
1030
+ exports.Prisma.InterviewerJobAnalyticsDailyScalarFieldEnum = {
1031
+ id: 'id',
1032
+ snapshot_date: 'snapshot_date',
1033
+ organisation_id: 'organisation_id',
1034
+ user_id: 'user_id',
1035
+ job_description_id: 'job_description_id',
1036
+ hiring_manager_id: 'hiring_manager_id',
1037
+ department: 'department',
1038
+ location: 'location',
1039
+ role_title: 'role_title',
1040
+ job_code: 'job_code',
1041
+ opened_at: 'opened_at',
1042
+ name: 'name',
1043
+ employee_id: 'employee_id',
1044
+ interview_count: 'interview_count',
1045
+ accepted_count: 'accepted_count',
1046
+ rejected_count: 'rejected_count',
1047
+ unsure_count: 'unsure_count',
1048
+ ai_disagreement_count: 'ai_disagreement_count',
1049
+ ai_disagreement_percent: 'ai_disagreement_percent',
1050
+ avg_difficulty: 'avg_difficulty',
1051
+ avg_supportiveness: 'avg_supportiveness',
1052
+ avg_topics_coverage_percent: 'avg_topics_coverage_percent'
1053
+ };
1054
+
640
1055
  exports.Prisma.JobApplicationFieldScalarFieldEnum = {
641
1056
  id: 'id',
642
1057
  organisation_id: 'organisation_id',
@@ -704,6 +1119,10 @@ exports.Prisma.JobDescriptionScalarFieldEnum = {
704
1119
  summary: 'summary',
705
1120
  ai_insight: 'ai_insight',
706
1121
  job_fit_comparison: 'job_fit_comparison',
1122
+ target_closing_date: 'target_closing_date',
1123
+ closing_date: 'closing_date',
1124
+ job_number: 'job_number',
1125
+ job_code: 'job_code',
707
1126
  created_at: 'created_at',
708
1127
  updated_at: 'updated_at',
709
1128
  created_by: 'created_by',
@@ -753,6 +1172,54 @@ exports.Prisma.JobProfileScalarFieldEnum = {
753
1172
  is_active: 'is_active'
754
1173
  };
755
1174
 
1175
+ exports.Prisma.JobRoundAnalyticsScalarFieldEnum = {
1176
+ id: 'id',
1177
+ organisation_id: 'organisation_id',
1178
+ job_description_id: 'job_description_id',
1179
+ evaluation_plan_id: 'evaluation_plan_id',
1180
+ round_name: 'round_name',
1181
+ evaluation_category: 'evaluation_category',
1182
+ job_code: 'job_code',
1183
+ role_title: 'role_title',
1184
+ hiring_manager_id: 'hiring_manager_id',
1185
+ plan_order_no: 'plan_order_no',
1186
+ plan_type: 'plan_type',
1187
+ is_custom: 'is_custom',
1188
+ assigned_count: 'assigned_count',
1189
+ completed_count: 'completed_count',
1190
+ passed_count: 'passed_count',
1191
+ failed_count: 'failed_count',
1192
+ withdrawn_count: 'withdrawn_count',
1193
+ no_show_count: 'no_show_count',
1194
+ total_completion_minutes: 'total_completion_minutes',
1195
+ avg_completion_minutes: 'avg_completion_minutes',
1196
+ updated_at: 'updated_at'
1197
+ };
1198
+
1199
+ exports.Prisma.JobRoundAnalyticsDailyScalarFieldEnum = {
1200
+ id: 'id',
1201
+ snapshot_date: 'snapshot_date',
1202
+ organisation_id: 'organisation_id',
1203
+ job_description_id: 'job_description_id',
1204
+ evaluation_plan_id: 'evaluation_plan_id',
1205
+ round_name: 'round_name',
1206
+ evaluation_category: 'evaluation_category',
1207
+ job_code: 'job_code',
1208
+ role_title: 'role_title',
1209
+ hiring_manager_id: 'hiring_manager_id',
1210
+ plan_order_no: 'plan_order_no',
1211
+ plan_type: 'plan_type',
1212
+ is_custom: 'is_custom',
1213
+ assigned_count: 'assigned_count',
1214
+ completed_count: 'completed_count',
1215
+ passed_count: 'passed_count',
1216
+ failed_count: 'failed_count',
1217
+ withdrawn_count: 'withdrawn_count',
1218
+ no_show_count: 'no_show_count',
1219
+ total_completion_minutes: 'total_completion_minutes',
1220
+ avg_completion_minutes: 'avg_completion_minutes'
1221
+ };
1222
+
756
1223
  exports.Prisma.LiveAnalysisScalarFieldEnum = {
757
1224
  id: 'id',
758
1225
  interview_id: 'interview_id',
@@ -809,6 +1276,7 @@ exports.Prisma.OngoingEvaluationScalarFieldEnum = {
809
1276
  description: 'description',
810
1277
  order_no: 'order_no',
811
1278
  format: 'format',
1279
+ round_purpose: 'round_purpose',
812
1280
  topics: 'topics',
813
1281
  assignee: 'assignee',
814
1282
  elimination_round: 'elimination_round',
@@ -818,6 +1286,7 @@ exports.Prisma.OngoingEvaluationScalarFieldEnum = {
818
1286
  deadline: 'deadline',
819
1287
  duration_unit: 'duration_unit',
820
1288
  details: 'details',
1289
+ category: 'category',
821
1290
  created_at: 'created_at',
822
1291
  updated_at: 'updated_at',
823
1292
  created_by: 'created_by',
@@ -826,6 +1295,64 @@ exports.Prisma.OngoingEvaluationScalarFieldEnum = {
826
1295
  is_current: 'is_current'
827
1296
  };
828
1297
 
1298
+ exports.Prisma.OpenJobAnalyticsScalarFieldEnum = {
1299
+ id: 'id',
1300
+ organisation_id: 'organisation_id',
1301
+ job_description_id: 'job_description_id',
1302
+ job_code: 'job_code',
1303
+ job_number: 'job_number',
1304
+ role_title: 'role_title',
1305
+ department: 'department',
1306
+ hiring_manager_id: 'hiring_manager_id',
1307
+ hiring_manager_name: 'hiring_manager_name',
1308
+ location: 'location',
1309
+ compensation: 'compensation',
1310
+ vacancies: 'vacancies',
1311
+ opened_at: 'opened_at',
1312
+ target_closing_date: 'target_closing_date',
1313
+ closing_date: 'closing_date',
1314
+ is_open: 'is_open',
1315
+ closure_type: 'closure_type',
1316
+ time_to_hire_days: 'time_to_hire_days',
1317
+ application_count: 'application_count',
1318
+ in_consideration_count: 'in_consideration_count',
1319
+ shortlisted_count: 'shortlisted_count',
1320
+ filtered_count: 'filtered_count',
1321
+ in_evaluation_count: 'in_evaluation_count',
1322
+ offered_count: 'offered_count',
1323
+ hired_count: 'hired_count',
1324
+ updated_at: 'updated_at'
1325
+ };
1326
+
1327
+ exports.Prisma.OpenJobAnalyticsDailyScalarFieldEnum = {
1328
+ id: 'id',
1329
+ snapshot_date: 'snapshot_date',
1330
+ organisation_id: 'organisation_id',
1331
+ job_description_id: 'job_description_id',
1332
+ job_code: 'job_code',
1333
+ job_number: 'job_number',
1334
+ role_title: 'role_title',
1335
+ department: 'department',
1336
+ hiring_manager_id: 'hiring_manager_id',
1337
+ hiring_manager_name: 'hiring_manager_name',
1338
+ location: 'location',
1339
+ compensation: 'compensation',
1340
+ vacancies: 'vacancies',
1341
+ opened_at: 'opened_at',
1342
+ target_closing_date: 'target_closing_date',
1343
+ closing_date: 'closing_date',
1344
+ is_open: 'is_open',
1345
+ closure_type: 'closure_type',
1346
+ time_to_hire_days: 'time_to_hire_days',
1347
+ application_count: 'application_count',
1348
+ in_consideration_count: 'in_consideration_count',
1349
+ shortlisted_count: 'shortlisted_count',
1350
+ filtered_count: 'filtered_count',
1351
+ in_evaluation_count: 'in_evaluation_count',
1352
+ offered_count: 'offered_count',
1353
+ hired_count: 'hired_count'
1354
+ };
1355
+
829
1356
  exports.Prisma.OrganisationScalarFieldEnum = {
830
1357
  id: 'id',
831
1358
  name: 'name',
@@ -844,6 +1371,8 @@ exports.Prisma.OrganisationScalarFieldEnum = {
844
1371
  is_active: 'is_active',
845
1372
  alias: 'alias',
846
1373
  logo: 'logo',
1374
+ job_sequence: 'job_sequence',
1375
+ employee_sequence: 'employee_sequence',
847
1376
  timezone: 'timezone'
848
1377
  };
849
1378
 
@@ -866,6 +1395,46 @@ exports.Prisma.PermissionScalarFieldEnum = {
866
1395
  is_active: 'is_active'
867
1396
  };
868
1397
 
1398
+ exports.Prisma.PipelineDistributionAnalyticsScalarFieldEnum = {
1399
+ id: 'id',
1400
+ organisation_id: 'organisation_id',
1401
+ job_description_id: 'job_description_id',
1402
+ job_code: 'job_code',
1403
+ job_number: 'job_number',
1404
+ role_title: 'role_title',
1405
+ hiring_manager_id: 'hiring_manager_id',
1406
+ application_count: 'application_count',
1407
+ filtered_in_count: 'filtered_in_count',
1408
+ min_fit_score: 'min_fit_score',
1409
+ experience_screening_count: 'experience_screening_count',
1410
+ technical_screening_count: 'technical_screening_count',
1411
+ technical_interview_count: 'technical_interview_count',
1412
+ business_round_count: 'business_round_count',
1413
+ behavioral_round_count: 'behavioral_round_count',
1414
+ shortlisted_count: 'shortlisted_count',
1415
+ updated_at: 'updated_at'
1416
+ };
1417
+
1418
+ exports.Prisma.PipelineDistributionAnalyticsDailyScalarFieldEnum = {
1419
+ id: 'id',
1420
+ snapshot_date: 'snapshot_date',
1421
+ organisation_id: 'organisation_id',
1422
+ job_description_id: 'job_description_id',
1423
+ job_code: 'job_code',
1424
+ job_number: 'job_number',
1425
+ role_title: 'role_title',
1426
+ hiring_manager_id: 'hiring_manager_id',
1427
+ application_count: 'application_count',
1428
+ filtered_in_count: 'filtered_in_count',
1429
+ min_fit_score: 'min_fit_score',
1430
+ experience_screening_count: 'experience_screening_count',
1431
+ technical_screening_count: 'technical_screening_count',
1432
+ technical_interview_count: 'technical_interview_count',
1433
+ business_round_count: 'business_round_count',
1434
+ behavioral_round_count: 'behavioral_round_count',
1435
+ shortlisted_count: 'shortlisted_count'
1436
+ };
1437
+
869
1438
  exports.Prisma.AsyncOperationScalarFieldEnum = {
870
1439
  id: 'id',
871
1440
  operation_name: 'operation_name',
@@ -914,6 +1483,29 @@ exports.Prisma.RefreshTokenScalarFieldEnum = {
914
1483
  updated_at: 'updated_at'
915
1484
  };
916
1485
 
1486
+ exports.Prisma.ReportingOverviewJobAnalyticsScalarFieldEnum = {
1487
+ id: 'id',
1488
+ organisation_id: 'organisation_id',
1489
+ job_description_id: 'job_description_id',
1490
+ job_code: 'job_code',
1491
+ job_number: 'job_number',
1492
+ hiring_manager_id: 'hiring_manager_id',
1493
+ opened_at: 'opened_at',
1494
+ target_closing_date: 'target_closing_date',
1495
+ closing_date: 'closing_date',
1496
+ is_open: 'is_open',
1497
+ closure_type: 'closure_type',
1498
+ time_to_hire_days: 'time_to_hire_days',
1499
+ in_consideration_count: 'in_consideration_count',
1500
+ updated_at: 'updated_at'
1501
+ };
1502
+
1503
+ exports.Prisma.ReportingOverviewJobRecruiterScalarFieldEnum = {
1504
+ id: 'id',
1505
+ job_description_id: 'job_description_id',
1506
+ recruiter_user_id: 'recruiter_user_id'
1507
+ };
1508
+
917
1509
  exports.Prisma.ResumeScalarFieldEnum = {
918
1510
  id: 'id',
919
1511
  user_id: 'user_id',
@@ -946,6 +1538,134 @@ exports.Prisma.ResumeDataScalarFieldEnum = {
946
1538
  is_active: 'is_active'
947
1539
  };
948
1540
 
1541
+ exports.Prisma.RoundAnalyticsScalarFieldEnum = {
1542
+ id: 'id',
1543
+ organisation_id: 'organisation_id',
1544
+ application_id: 'application_id',
1545
+ candidate_id: 'candidate_id',
1546
+ job_description_id: 'job_description_id',
1547
+ evaluation_plan_id: 'evaluation_plan_id',
1548
+ round_id: 'round_id',
1549
+ round_name: 'round_name',
1550
+ evaluation_category: 'evaluation_category',
1551
+ round_type: 'round_type',
1552
+ assigned_at: 'assigned_at',
1553
+ scheduled_at: 'scheduled_at',
1554
+ started_at: 'started_at',
1555
+ completed_at: 'completed_at',
1556
+ evaluated_at: 'evaluated_at',
1557
+ round_completed_at: 'round_completed_at',
1558
+ round_created_at: 'round_created_at',
1559
+ round_result: 'round_result',
1560
+ round_result_at: 'round_result_at',
1561
+ scheduling_duration_minutes: 'scheduling_duration_minutes',
1562
+ round_duration_minutes: 'round_duration_minutes',
1563
+ feedback_duration_minutes: 'feedback_duration_minutes',
1564
+ decision_duration_minutes: 'decision_duration_minutes',
1565
+ total_round_duration_minutes: 'total_round_duration_minutes',
1566
+ is_custom: 'is_custom',
1567
+ created_at: 'created_at',
1568
+ updated_at: 'updated_at'
1569
+ };
1570
+
1571
+ exports.Prisma.RoundAnalyticsDailyScalarFieldEnum = {
1572
+ id: 'id',
1573
+ snapshot_date: 'snapshot_date',
1574
+ organisation_id: 'organisation_id',
1575
+ application_id: 'application_id',
1576
+ candidate_id: 'candidate_id',
1577
+ job_description_id: 'job_description_id',
1578
+ evaluation_plan_id: 'evaluation_plan_id',
1579
+ round_id: 'round_id',
1580
+ round_name: 'round_name',
1581
+ evaluation_category: 'evaluation_category',
1582
+ round_type: 'round_type',
1583
+ assigned_at: 'assigned_at',
1584
+ scheduled_at: 'scheduled_at',
1585
+ started_at: 'started_at',
1586
+ completed_at: 'completed_at',
1587
+ evaluated_at: 'evaluated_at',
1588
+ round_completed_at: 'round_completed_at',
1589
+ round_created_at: 'round_created_at',
1590
+ round_result: 'round_result',
1591
+ round_result_at: 'round_result_at',
1592
+ scheduling_duration_minutes: 'scheduling_duration_minutes',
1593
+ round_duration_minutes: 'round_duration_minutes',
1594
+ feedback_duration_minutes: 'feedback_duration_minutes',
1595
+ decision_duration_minutes: 'decision_duration_minutes',
1596
+ total_round_duration_minutes: 'total_round_duration_minutes',
1597
+ is_custom: 'is_custom'
1598
+ };
1599
+
1600
+ exports.Prisma.SourceScalarFieldEnum = {
1601
+ id: 'id',
1602
+ organisation_id: 'organisation_id',
1603
+ name: 'name',
1604
+ category: 'category',
1605
+ parent_source_id: 'parent_source_id',
1606
+ colour: 'colour',
1607
+ description: 'description',
1608
+ is_active: 'is_active',
1609
+ created_at: 'created_at',
1610
+ updated_at: 'updated_at'
1611
+ };
1612
+
1613
+ exports.Prisma.SourceEffectivenessAnalyticsScalarFieldEnum = {
1614
+ id: 'id',
1615
+ organisation_id: 'organisation_id',
1616
+ job_description_id: 'job_description_id',
1617
+ source_id: 'source_id',
1618
+ source_name: 'source_name',
1619
+ source_category: 'source_category',
1620
+ source_colour: 'source_colour',
1621
+ job_code: 'job_code',
1622
+ job_number: 'job_number',
1623
+ role_title: 'role_title',
1624
+ hiring_manager_id: 'hiring_manager_id',
1625
+ applications_count: 'applications_count',
1626
+ screened_count: 'screened_count',
1627
+ evaluated_count: 'evaluated_count',
1628
+ rejected_count: 'rejected_count',
1629
+ shortlisted_count: 'shortlisted_count',
1630
+ offered_count: 'offered_count',
1631
+ offer_accepted_count: 'offer_accepted_count',
1632
+ offer_declined_count: 'offer_declined_count',
1633
+ withdrawn_count: 'withdrawn_count',
1634
+ hired_count: 'hired_count',
1635
+ total_fit_score: 'total_fit_score',
1636
+ fit_score_sample_count: 'fit_score_sample_count',
1637
+ average_fit_score: 'average_fit_score',
1638
+ updated_at: 'updated_at'
1639
+ };
1640
+
1641
+ exports.Prisma.SourceEffectivenessAnalyticsDailyScalarFieldEnum = {
1642
+ id: 'id',
1643
+ snapshot_date: 'snapshot_date',
1644
+ organisation_id: 'organisation_id',
1645
+ job_description_id: 'job_description_id',
1646
+ source_id: 'source_id',
1647
+ source_name: 'source_name',
1648
+ source_category: 'source_category',
1649
+ source_colour: 'source_colour',
1650
+ job_code: 'job_code',
1651
+ job_number: 'job_number',
1652
+ role_title: 'role_title',
1653
+ hiring_manager_id: 'hiring_manager_id',
1654
+ applications_count: 'applications_count',
1655
+ screened_count: 'screened_count',
1656
+ evaluated_count: 'evaluated_count',
1657
+ rejected_count: 'rejected_count',
1658
+ shortlisted_count: 'shortlisted_count',
1659
+ offered_count: 'offered_count',
1660
+ offer_accepted_count: 'offer_accepted_count',
1661
+ offer_declined_count: 'offer_declined_count',
1662
+ withdrawn_count: 'withdrawn_count',
1663
+ hired_count: 'hired_count',
1664
+ total_fit_score: 'total_fit_score',
1665
+ fit_score_sample_count: 'fit_score_sample_count',
1666
+ average_fit_score: 'average_fit_score'
1667
+ };
1668
+
949
1669
  exports.Prisma.SuggestionScalarFieldEnum = {
950
1670
  id: 'id',
951
1671
  interview_id: 'interview_id',
@@ -1016,7 +1736,9 @@ exports.Prisma.UserScalarFieldEnum = {
1016
1736
  ethnicity: 'ethnicity',
1017
1737
  veteran_status: 'veteran_status',
1018
1738
  disability_status: 'disability_status',
1019
- professional_expertise: 'professional_expertise'
1739
+ professional_expertise: 'professional_expertise',
1740
+ employee_number: 'employee_number',
1741
+ employee_code: 'employee_code'
1020
1742
  };
1021
1743
 
1022
1744
  exports.Prisma.UserProfileScalarFieldEnum = {
@@ -1113,6 +1835,80 @@ exports.ActionStatus = exports.$Enums.ActionStatus = {
1113
1835
  CANCELLED: 'CANCELLED'
1114
1836
  };
1115
1837
 
1838
+ exports.ActivityEventType = exports.$Enums.ActivityEventType = {
1839
+ APPLICATION_CREATED: 'APPLICATION_CREATED',
1840
+ APPLICATION_STARTED: 'APPLICATION_STARTED',
1841
+ APPLICATION_REJECTED: 'APPLICATION_REJECTED',
1842
+ APPLICATION_SHORTLISTED: 'APPLICATION_SHORTLISTED',
1843
+ FIT_CHECK_COMPLETED: 'FIT_CHECK_COMPLETED',
1844
+ ROUND_ASSIGNED: 'ROUND_ASSIGNED',
1845
+ ROUND_COMPLETED: 'ROUND_COMPLETED',
1846
+ ROUND_PASSED: 'ROUND_PASSED',
1847
+ ROUND_FAILED: 'ROUND_FAILED',
1848
+ INTERVIEW_CREATED: 'INTERVIEW_CREATED',
1849
+ INTERVIEW_SCHEDULED: 'INTERVIEW_SCHEDULED',
1850
+ INTERVIEW_RESCHEDULED: 'INTERVIEW_RESCHEDULED',
1851
+ INTERVIEW_CANCELLED: 'INTERVIEW_CANCELLED',
1852
+ INTERVIEW_STARTED: 'INTERVIEW_STARTED',
1853
+ INTERVIEW_COMPLETED: 'INTERVIEW_COMPLETED',
1854
+ INTERVIEW_NO_SHOW: 'INTERVIEW_NO_SHOW',
1855
+ INTERVIEW_EVALUATION_PENDING: 'INTERVIEW_EVALUATION_PENDING',
1856
+ INTERVIEW_EVALUATED: 'INTERVIEW_EVALUATED',
1857
+ FEEDBACK_SUBMITTED: 'FEEDBACK_SUBMITTED',
1858
+ ASSIGNMENT_CREATED: 'ASSIGNMENT_CREATED',
1859
+ ASSIGNMENT_STARTED: 'ASSIGNMENT_STARTED',
1860
+ ASSIGNMENT_COMPLETED: 'ASSIGNMENT_COMPLETED',
1861
+ ASSIGNMENT_CANCELLED: 'ASSIGNMENT_CANCELLED',
1862
+ ASSIGNMENT_EVALUATED: 'ASSIGNMENT_EVALUATED',
1863
+ ASSESSMENT_CREATED: 'ASSESSMENT_CREATED',
1864
+ ASSESSMENT_STARTED: 'ASSESSMENT_STARTED',
1865
+ ASSESSMENT_COMPLETED: 'ASSESSMENT_COMPLETED',
1866
+ ASSESSMENT_CANCELLED: 'ASSESSMENT_CANCELLED',
1867
+ ASSESSMENT_EVALUATED: 'ASSESSMENT_EVALUATED',
1868
+ JOB_CREATED: 'JOB_CREATED',
1869
+ JOB_PUBLISHED: 'JOB_PUBLISHED',
1870
+ JOB_CLOSED: 'JOB_CLOSED',
1871
+ JOB_DEACTIVATED: 'JOB_DEACTIVATED',
1872
+ USER_INVITED: 'USER_INVITED',
1873
+ USER_INVITATION_RESENT: 'USER_INVITATION_RESENT',
1874
+ USER_CREATED: 'USER_CREATED',
1875
+ USER_INVITATION_ACCEPTED: 'USER_INVITATION_ACCEPTED',
1876
+ USER_INVITATION_EXPIRED: 'USER_INVITATION_EXPIRED',
1877
+ USER_DEACTIVATED: 'USER_DEACTIVATED',
1878
+ USER_REACTIVATED: 'USER_REACTIVATED',
1879
+ USER_ROLE_CHANGED: 'USER_ROLE_CHANGED',
1880
+ USER_PROFILE_COMPLETED: 'USER_PROFILE_COMPLETED',
1881
+ CANDIDATE_REGISTERED: 'CANDIDATE_REGISTERED',
1882
+ CANDIDATE_CREATED: 'CANDIDATE_CREATED',
1883
+ CANDIDATE_PROFILE_COMPLETED: 'CANDIDATE_PROFILE_COMPLETED',
1884
+ EVALUATION_PLAN_CREATED: 'EVALUATION_PLAN_CREATED',
1885
+ EVALUATION_PLAN_PUBLISHED: 'EVALUATION_PLAN_PUBLISHED',
1886
+ EVALUATION_PLAN_DELETED: 'EVALUATION_PLAN_DELETED',
1887
+ EVALUATION_PLAN_UPDATED: 'EVALUATION_PLAN_UPDATED',
1888
+ STATUS_CHANGED: 'STATUS_CHANGED',
1889
+ CUSTOM: 'CUSTOM'
1890
+ };
1891
+
1892
+ exports.ActivityEntityType = exports.$Enums.ActivityEntityType = {
1893
+ APPLICATION: 'APPLICATION',
1894
+ CANDIDATE: 'CANDIDATE',
1895
+ JOB: 'JOB',
1896
+ ONGOING_EVALUATION: 'ONGOING_EVALUATION',
1897
+ EVALUATION_PLAN: 'EVALUATION_PLAN',
1898
+ INTERVIEW: 'INTERVIEW',
1899
+ ASSIGNMENT: 'ASSIGNMENT',
1900
+ ASSESSMENT: 'ASSESSMENT',
1901
+ ORGANISATION: 'ORGANISATION',
1902
+ USER: 'USER'
1903
+ };
1904
+
1905
+ exports.ActivityEntityActorType = exports.$Enums.ActivityEntityActorType = {
1906
+ USER: 'USER',
1907
+ SYSTEM: 'SYSTEM',
1908
+ AI_AGENT: 'AI_AGENT',
1909
+ WEBHOOK: 'WEBHOOK'
1910
+ };
1911
+
1116
1912
  exports.ActivityActorType = exports.$Enums.ActivityActorType = {
1117
1913
  USER: 'USER',
1118
1914
  AI: 'AI',
@@ -1122,9 +1918,18 @@ exports.ActivityActorType = exports.$Enums.ActivityActorType = {
1122
1918
  exports.ApplicationStatus = exports.$Enums.ApplicationStatus = {
1123
1919
  PENDING: 'PENDING',
1124
1920
  IN_PROGRESS: 'IN_PROGRESS',
1125
- SHORTLISTED: 'SHORTLISTED',
1126
1921
  SELECTED: 'SELECTED',
1127
- REJECTED: 'REJECTED'
1922
+ SHORTLISTED: 'SHORTLISTED',
1923
+ REJECTED: 'REJECTED',
1924
+ ON_HOLD: 'ON_HOLD'
1925
+ };
1926
+
1927
+ exports.AssessmentRoundStatus = exports.$Enums.AssessmentRoundStatus = {
1928
+ SCHEDULED: 'SCHEDULED',
1929
+ IN_PROGRESS: 'IN_PROGRESS',
1930
+ COMPLETED: 'COMPLETED',
1931
+ EVALUATED: 'EVALUATED',
1932
+ CANCELLED: 'CANCELLED'
1128
1933
  };
1129
1934
 
1130
1935
  exports.AssignmentStatus = exports.$Enums.AssignmentStatus = {
@@ -1195,6 +2000,14 @@ exports.RoundType = exports.$Enums.RoundType = {
1195
2000
  SCREENING: 'SCREENING'
1196
2001
  };
1197
2002
 
2003
+ exports.EvaluationCategory = exports.$Enums.EvaluationCategory = {
2004
+ EXPERIENCE_SCREENING: 'EXPERIENCE_SCREENING',
2005
+ TECHNICAL_SCREENING: 'TECHNICAL_SCREENING',
2006
+ TECHNICAL_INTERVIEW: 'TECHNICAL_INTERVIEW',
2007
+ BUSINESS_ROUND: 'BUSINESS_ROUND',
2008
+ BEHAVIORAL_ROUND: 'BEHAVIORAL_ROUND'
2009
+ };
2010
+
1198
2011
  exports.EvaluationRoundFormat = exports.$Enums.EvaluationRoundFormat = {
1199
2012
  PHONE_CALL: 'PHONE_CALL',
1200
2013
  VIDEO_CALL_AI_ASSISTED: 'VIDEO_CALL_AI_ASSISTED',
@@ -1302,6 +2115,12 @@ exports.AiAssistanceMode = exports.$Enums.AiAssistanceMode = {
1302
2115
  ASSISTED: 'ASSISTED'
1303
2116
  };
1304
2117
 
2118
+ exports.InterviewRecommendation = exports.$Enums.InterviewRecommendation = {
2119
+ ACCEPTED: 'ACCEPTED',
2120
+ REJECTED: 'REJECTED',
2121
+ UNSURE: 'UNSURE'
2122
+ };
2123
+
1305
2124
  exports.JobApplicationFieldType = exports.$Enums.JobApplicationFieldType = {
1306
2125
  TEXT: 'TEXT',
1307
2126
  NUMBER: 'NUMBER',
@@ -1372,6 +2191,26 @@ exports.Difficulty = exports.$Enums.Difficulty = {
1372
2191
  HARD: 'HARD'
1373
2192
  };
1374
2193
 
2194
+ exports.OpenJobClosureType = exports.$Enums.OpenJobClosureType = {
2195
+ FILLED: 'FILLED',
2196
+ CANCELLED: 'CANCELLED'
2197
+ };
2198
+
2199
+ exports.RoundResult = exports.$Enums.RoundResult = {
2200
+ PASSED: 'PASSED',
2201
+ FAILED: 'FAILED'
2202
+ };
2203
+
2204
+ exports.SourceCategory = exports.$Enums.SourceCategory = {
2205
+ JOB_BOARD: 'JOB_BOARD',
2206
+ REFERRAL: 'REFERRAL',
2207
+ AGENCY: 'AGENCY',
2208
+ SOCIAL_MEDIA: 'SOCIAL_MEDIA',
2209
+ CAREERS_PAGE: 'CAREERS_PAGE',
2210
+ EVENT: 'EVENT',
2211
+ OTHER: 'OTHER'
2212
+ };
2213
+
1375
2214
  exports.FirstLoginStatus = exports.$Enums.FirstLoginStatus = {
1376
2215
  PENDING: 'PENDING',
1377
2216
  COMPLETED: 'COMPLETED'
@@ -1392,14 +2231,21 @@ exports.Prisma.ModelName = {
1392
2231
  CandidateQuestionResponse: 'CandidateQuestionResponse',
1393
2232
  UserRole: 'UserRole',
1394
2233
  Action: 'Action',
2234
+ ActivityEvent: 'ActivityEvent',
1395
2235
  ActivityLog: 'ActivityLog',
2236
+ ApplicationAnalytics: 'ApplicationAnalytics',
2237
+ ApplicationAnalyticsDaily: 'ApplicationAnalyticsDaily',
1396
2238
  Application: 'Application',
1397
2239
  Approval: 'Approval',
1398
2240
  Assessment: 'Assessment',
1399
2241
  AssessmentLibrary: 'AssessmentLibrary',
1400
2242
  AssessmentQuestion: 'AssessmentQuestion',
2243
+ AssessmentRoundAnalytics: 'AssessmentRoundAnalytics',
2244
+ AssessmentRoundAnalyticsDaily: 'AssessmentRoundAnalyticsDaily',
1401
2245
  Assignment: 'Assignment',
1402
2246
  AssignmentLibrary: 'AssignmentLibrary',
2247
+ AssignmentRoundAnalytics: 'AssignmentRoundAnalytics',
2248
+ AssignmentRoundAnalyticsDaily: 'AssignmentRoundAnalyticsDaily',
1403
2249
  AuthModule: 'AuthModule',
1404
2250
  Budget: 'Budget',
1405
2251
  Calendly: 'Calendly',
@@ -1418,24 +2264,43 @@ exports.Prisma.ModelName = {
1418
2264
  ZohoSyncMapping: 'ZohoSyncMapping',
1419
2265
  Interview: 'Interview',
1420
2266
  InterviewNotes: 'InterviewNotes',
2267
+ InterviewRoundAnalytics: 'InterviewRoundAnalytics',
2268
+ InterviewRoundAnalyticsDaily: 'InterviewRoundAnalyticsDaily',
2269
+ InterviewerOrganisationAnalytics: 'InterviewerOrganisationAnalytics',
2270
+ InterviewerJobAnalytics: 'InterviewerJobAnalytics',
2271
+ InterviewerOrganisationAnalyticsDaily: 'InterviewerOrganisationAnalyticsDaily',
2272
+ InterviewerJobAnalyticsDaily: 'InterviewerJobAnalyticsDaily',
1421
2273
  JobApplicationField: 'JobApplicationField',
1422
2274
  JobApplicationResponse: 'JobApplicationResponse',
1423
2275
  JobApplicationTemplate: 'JobApplicationTemplate',
1424
2276
  JobDescription: 'JobDescription',
1425
2277
  JobDescriptionData: 'JobDescriptionData',
1426
2278
  JobProfile: 'JobProfile',
2279
+ JobRoundAnalytics: 'JobRoundAnalytics',
2280
+ JobRoundAnalyticsDaily: 'JobRoundAnalyticsDaily',
1427
2281
  LiveAnalysis: 'LiveAnalysis',
1428
2282
  Message: 'Message',
1429
2283
  Notes: 'Notes',
1430
2284
  OngoingEvaluation: 'OngoingEvaluation',
2285
+ OpenJobAnalytics: 'OpenJobAnalytics',
2286
+ OpenJobAnalyticsDaily: 'OpenJobAnalyticsDaily',
1431
2287
  Organisation: 'Organisation',
1432
2288
  OrganisationConfig: 'OrganisationConfig',
1433
2289
  Permission: 'Permission',
2290
+ PipelineDistributionAnalytics: 'PipelineDistributionAnalytics',
2291
+ PipelineDistributionAnalyticsDaily: 'PipelineDistributionAnalyticsDaily',
1434
2292
  AsyncOperation: 'AsyncOperation',
1435
2293
  Question: 'Question',
1436
2294
  RefreshToken: 'RefreshToken',
2295
+ ReportingOverviewJobAnalytics: 'ReportingOverviewJobAnalytics',
2296
+ ReportingOverviewJobRecruiter: 'ReportingOverviewJobRecruiter',
1437
2297
  Resume: 'Resume',
1438
2298
  ResumeData: 'ResumeData',
2299
+ RoundAnalytics: 'RoundAnalytics',
2300
+ RoundAnalyticsDaily: 'RoundAnalyticsDaily',
2301
+ Source: 'Source',
2302
+ SourceEffectivenessAnalytics: 'SourceEffectivenessAnalytics',
2303
+ SourceEffectivenessAnalyticsDaily: 'SourceEffectivenessAnalyticsDaily',
1439
2304
  Suggestion: 'Suggestion',
1440
2305
  Transcript: 'Transcript',
1441
2306
  User: 'User',
@@ -1455,7 +2320,7 @@ const config = {
1455
2320
  "value": "prisma-client-js"
1456
2321
  },
1457
2322
  "output": {
1458
- "value": "/Users/ayushchakraborty/Project/eagles-db/client",
2323
+ "value": "/Users/aadityanarainsingh/Documents/treadspace/eagles/eagles-db/client",
1459
2324
  "fromEnvVar": null
1460
2325
  },
1461
2326
  "config": {
@@ -1473,12 +2338,11 @@ const config = {
1473
2338
  }
1474
2339
  ],
1475
2340
  "previewFeatures": [],
1476
- "sourceFilePath": "/Users/ayushchakraborty/Project/eagles-db/prisma/schema/schema.prisma",
2341
+ "sourceFilePath": "/Users/aadityanarainsingh/Documents/treadspace/eagles/eagles-db/prisma/schema/schema.prisma",
1477
2342
  "isCustomOutput": true
1478
2343
  },
1479
2344
  "relativeEnvPaths": {
1480
- "rootEnvPath": null,
1481
- "schemaEnvPath": "../.env"
2345
+ "rootEnvPath": null
1482
2346
  },
1483
2347
  "relativePath": "../prisma/schema",
1484
2348
  "clientVersion": "6.19.3",
@@ -1496,13 +2360,13 @@ const config = {
1496
2360
  }
1497
2361
  }
1498
2362
  },
1499
- "inlineSchema": "model CandidateQuestionResponse {\n id String @id @default(uuid())\n //foreign keys\n question_id String\n candidate_id String\n assessment_id String\n //data\n response String\n score Float?\n /// Audit fields\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n question Question @relation(fields: [question_id], references: [id], onDelete: Cascade)\n assessment Assessment @relation(fields: [assessment_id], references: [id], onDelete: Cascade)\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([assessment_id, question_id, candidate_id])\n @@index([candidate_id])\n @@index([assessment_id])\n}\n\nmodel UserRole {\n id String @id @default(uuid())\n role String\n organisation_id String?\n is_custom Boolean @default(false)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n permission_id String? @unique\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n users User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([role, organisation_id])\n @@index([role, organisation_id])\n @@index([organisation_id])\n @@index([permission_id])\n}\n\nenum ActionType {\n TAKE_INTERVIEW\n PROVIDE_FEEDBACK\n SCHEDULE_INTERVIEW\n}\n\nenum ActionStatus {\n PENDING\n COMPLETED\n CANCELLED\n}\n\nmodel Action {\n id String @id @default(uuid())\n assignee_id String\n title String\n action_type ActionType\n action_id String // Generic foreign key that can link to any entity\n due_date DateTime?\n organisation_id String\n status ActionStatus @default(PENDING)\n // Relations\n user User @relation(fields: [assignee_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@index([assignee_id, action_type])\n @@index([status])\n @@index([due_date])\n}\n\nenum ActivityActorType {\n USER\n AI\n SYSTEM\n}\n\nmodel ActivityLog {\n id String @id @default(uuid())\n application_id String\n actor_id String?\n actor_type ActivityActorType @default(USER)\n message String\n timestamp DateTime @default(now())\n metadata Json?\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n // Relations\n actor User? @relation(\"ActorActivityLogs\", fields: [actor_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id])\n}\n\n// PENDING could be understood as unscreened\nenum ApplicationStatus {\n PENDING\n IN_PROGRESS\n SHORTLISTED\n SELECTED\n REJECTED\n}\n\nmodel Application {\n id String @id @default(uuid())\n candidate_id String\n resume_id String\n organisation_id String\n job_description_id String\n fit_check_score Float?\n applied_at DateTime @default(now())\n evaluation_plan_id String?\n fit_check_id String? @unique\n round_no Int @default(0)\n is_jaf_completed Boolean @default(false)\n //Screening fields\n on_notice_period Boolean @default(false)\n expected_joining_date DateTime?\n current_ctc String?\n expected_ctc String?\n notice_period Int?\n preferred_location String?\n evaluationComment String?\n // Relations\n fit_check_status FitCheckStatus?\n status ApplicationStatus @default(PENDING)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n interviews Interview[]\n assignments Assignment[]\n ongoing_evaluations OngoingEvaluation[]\n activity_logs ActivityLog[]\n notes Notes[]\n job_application_responses JobApplicationResponse[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([candidate_id, job_description_id]) // Ensures candidate applies only once per job\n @@index([candidate_id])\n @@index([job_description_id])\n}\n\nmodel Approval {\n id String @id @default(uuid())\n job_description_id String\n user_id String\n organisaton_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisaton_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n}\n\nmodel Assessment {\n id String @id @default(uuid())\n //foreign keys\n organisation_id String?\n assessment_library_id String\n candidate_id String\n reviewer_id String?\n //data\n score Float?\n feedback Json?\n // Scheduled Deadline Window\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n /// Actual Start and End Time\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Attempt Expires At\n attempt_expires_at DateTime?\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n assessment_library AssessmentLibrary @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User @relation(\"CandidateAssessments\", fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"ReviewerAssessments\", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n questions AssessmentQuestion[] @relation(\"AssessmentToAssessmentQuestion\")\n candidateResponse CandidateQuestionResponse[]\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n User User? @relation(fields: [userId], references: [id])\n userId String?\n ongoingEvaluation OngoingEvaluation?\n\n @@unique([assessment_library_id, candidate_id])\n @@index([assessment_library_id])\n @@index([candidate_id])\n}\n\n/// Defines how an assessment is conducted.\n\nmodel AssessmentLibrary {\n id String @id @default(uuid())\n title String\n time_required Int\n passing_score Float?\n max_score Float?\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n questions Question[] // One assessment → many questions\n assessments Assessment[]\n evaluation_Plans EvaluationPlan[]\n\n @@index([organisation_id])\n}\n\n/**\n * Join table linking Assessments and Questions in a many-to-many relationship.\n * - Each row represents one link between a specific Assessment and a specific Question.\n * - Composite ID ensures no duplicate pairings exist.\n * - Cascade delete ensures join rows are removed when either side is deleted.\n * - Enables sharing the same Question across multiple Assessments.\n */\nmodel AssessmentQuestion {\n assessment_id String\n question_id String\n assessment Assessment @relation(\"AssessmentToAssessmentQuestion\", fields: [assessment_id], references: [id], onDelete: Cascade)\n question Question @relation(\"QuestionToAssessmentQuestion\", fields: [question_id], references: [id], onDelete: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@id([assessment_id, question_id])\n}\n\nenum AssignmentStatus {\n AVAILABLE\n SCHEDULED\n CANCELLED\n}\n\nmodel Assignment {\n id String @id @default(uuid())\n candidate_id String\n assignment_library_id String\n reviewer_id String?\n application_id String?\n job_description_id String\n organisation_id String\n ongoing_evaluation_id String? @unique\n overallScore Int?\n feedback Json?\n status AssignmentStatus @default(AVAILABLE)\n cancel_reason String?\n /// @deprecated Prefer `solution_document_id` + `Document`.\n solution_url String?\n /// @deprecated Prefer `zip_document_id` + `Document`.\n zip_url String?\n solution_document_id String? @unique\n zip_document_id String? @unique\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateAssignments\", fields: [candidate_id], references: [id], onDelete: Cascade)\n assignment_library AssignmentLibrary @relation(fields: [assignment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"AssignmentReviewer\", fields: [reviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation? @relation(fields: [ongoing_evaluation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n solution_document Document? @relation(\"AssignmentSolutionDocument\", fields: [solution_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n zip_document Document? @relation(\"AssignmentZipDocument\", fields: [zip_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([candidate_id, ongoing_evaluation_id])\n @@index([candidate_id])\n @@index([reviewer_id])\n @@index([job_description_id])\n}\n\nmodel AssignmentLibrary {\n id String @id @default(uuid())\n deadline Int\n /// Flexible JSON for assignment-specific config (rubrics, instructions, criteria, etc.)\n assignment Json?\n job_description_id String\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Back-relation: one-to-one from EvaluationPlan (FK lives on EvaluationPlan.assignment_library_id)\n evaluationPlan EvaluationPlan[]\n assignments Assignment[]\n\n @@index([job_description_id])\n}\n\nenum AuthProvider {\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n}\n\nmodel AuthModule {\n id String @id @default(uuid())\n user_id String\n /// The provider of the authentication module\n provider AuthProvider\n provider_account_id String? @db.Text\n\n access_token String? @db.Text\n refresh_token String? @db.Text\n id_token String? @db.Text\n expires_at DateTime?\n\n token_type String?\n\n scope String?\n is_active Boolean @default(true)\n\n /// Provider-specific JSON (e.g. Zoom: email, display); tokens remain in encrypted columns.\n metadata Json @default(\"{}\")\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(\"UserAuthModule\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@unique([user_id, provider])\n @@unique([provider, provider_account_id])\n @@index([user_id])\n}\n\nenum JobType {\n Full_time\n Part_time\n Contract\n Internship\n Temporary\n}\n\nenum JDCreationType {\n Pick_from_Library\n Upload_JD\n Create_New\n Create_From_Profile\n}\n\nmodel Budget {\n id String @id @default(uuid())\n job_type JobType\n location String\n shift String\n openings Int\n budget_per_job String\n level String\n start_date DateTime\n closing_date DateTime\n business_unit String\n purpose String\n role String\n domain String\n jd_creation_type JDCreationType\n job_description_id String @unique\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n}\n\nmodel Calendly {\n id String @id @default(uuid())\n user_id String @unique\n\n access_token String\n refresh_token String\n expires_at DateTime\n calendly_user_uri String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n}\n\nmodel CandidateProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n location String\n salary String?\n description String?\n resume_id String? @unique\n date_of_birth DateTime?\n\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n work_experience Json?\n education Json?\n notice_period String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n is_active Boolean @default(true)\n}\n\n// Multi-channel communication (WhatsApp, Email, SMS, Call) with provider abstraction.\n// Strategy: typed columns for everything stable; JSON only for genuinely variable data.\n\nenum CommChannel {\n WHATSAPP\n EMAIL\n SMS\n CALL\n}\n\nenum CommProvider {\n META_WHATSAPP\n TWILIO\n GUPSHUP\n MTALKZ\n THREE_SIXTY_DIALOG\n GMAIL\n OUTLOOK\n GENERIC_SMTP\n GENERIC\n}\n\nenum CommDirection {\n INBOUND\n OUTBOUND\n}\n\nenum CommMessageStatus {\n QUEUED\n SENT\n DELIVERED\n READ\n FAILED\n RECEIVED\n}\n\n/// Per-organisation provider selection + (encrypted) credentials for one channel.\n/// `metadata` stores non-secret provider settings (e.g. phone_number_id, waba_id, webhook_verify_token).\nmodel ChannelProviderConfig {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n /// Encrypted JSON blob of secrets (token, app_secret, …) using integrationTokenCrypto.\n credentials String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n is_default Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n conversations Conversation[]\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider])\n @@index([organisation_id, channel])\n @@index([organisation_id, channel, is_active])\n}\n\n/// A logical conversation thread with one external party on one channel.\n/// `external_id` is the channel-native identifier (E.164 phone for WhatsApp/SMS, email address for email).\n///\n/// `application_id` / `job_description_id` are the *current* recruiting scope\n/// the thread is bound to (the recruiter can switch context, but individual\n/// `CommunicationMessage` rows record the scope they were sent under so the\n/// audit trail is preserved). Both nullable so pre-application sourcing\n/// (no application yet, just a JD) still works.\nmodel Conversation {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n external_id String\n contact_user_id String?\n application_id String?\n job_description_id String?\n provider_thread_id String?\n subject String?\n status String @default(\"open\")\n unread_count Int @default(0)\n last_message_at DateTime?\n metadata Json @default(\"{}\")\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider, external_id])\n @@index([organisation_id, channel])\n @@index([organisation_id, last_message_at])\n @@index([external_id])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n}\n\n/// Individual message in a conversation. Inbound + outbound share the same model.\n/// `body` is plain text. `attachments` is a JSON array of media descriptors (no binaries persisted).\n/// `metadata` stores raw provider payloads + interactive payloads for audit/debug.\n///\n/// `application_id` / `job_description_id` are the recruiting scope this\n/// specific message was sent/received under, captured at the time of the\n/// event (not derived from the parent conversation, since a recruiter may\n/// reuse a thread across multiple applications). Both nullable.\nmodel CommunicationMessage {\n id String @id @default(uuid())\n conversation_id String\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n direction CommDirection\n status CommMessageStatus\n body String?\n from_identifier String\n to_identifier String\n sender_user_id String?\n application_id String?\n job_description_id String?\n provider_message_id String?\n template_name String?\n attachments Json @default(\"[]\")\n metadata Json @default(\"{}\")\n error String?\n sent_at DateTime?\n delivered_at DateTime?\n read_at DateTime?\n\n conversation Conversation @relation(fields: [conversation_id], references: [id], onDelete: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([provider, provider_message_id])\n @@index([conversation_id, created_at])\n @@index([organisation_id, channel, created_at])\n @@index([organisation_id, status])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n}\n\nmodel ContactUs {\n id String @id @default(uuid())\n name String\n email String\n organisation_name String\n organisation_website String\n subject String\n message String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n is_active Boolean @default(true)\n}\n\nmodel Document {\n // Primary key\n id String @id @default(uuid())\n // Foreign keys\n organisation_id String?\n candidate_id String?\n // Data fields\n original_file_name String\n stored_file_name String\n file_extension String?\n s3_bucket String?\n s3_key String?\n mime_type String?\n file_size BigInt?\n file_hash String?\n metadata Json?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n resume Resume?\n resume_rendered_export Resume? @relation(\"RenderedResumeExportDocument\")\n job_description_source JobDescription? @relation(\"SourceDocument\")\n job_description_rendered JobDescription? @relation(\"RenderedJdDocument\")\n interview_recording Interview?\n job_application_responses JobApplicationResponse[]\n assignment_solution Assignment? @relation(\"AssignmentSolutionDocument\")\n assignment_zip Assignment? @relation(\"AssignmentZipDocument\")\n\n // Indexes\n @@index([candidate_id])\n @@index([organisation_id, candidate_id])\n @@index([file_hash])\n}\n\nenum RoundType {\n ASSESSMENT\n INTERVIEW\n ASSIGNMENT\n SCREENING\n}\n\nenum EvaluationRoundFormat {\n // ────────────────\n // Screening formats\n // ────────────────\n PHONE_CALL\n VIDEO_CALL_AI_ASSISTED\n VIDEO_CALL_UNASSISTED\n\n // ────────────────\n // Assessment formats\n // ────────────────\n AI_GENERATED_TEST\n UPLOADED_TEST\n EXTERNAL_PLATFORM\n\n // ────────────────\n // Assignment formats\n // ────────────────\n AI_GENERATED_ASSIGNMENT\n UPLOADED_ASSIGNMENT\n\n // ────────────────\n // Interview formats\n // ────────────────\n TREADSPACE_AI_ASSISTED\n EXTERNAL_VIDEO_AI_ASSISTED\n EXTERNAL_VIDEO_UNASSISTED\n}\n\nenum EvaluationType {\n // New (In active use now)\n TREADSPACE_AI_ASSISTED\n TREADSPACE_FULL_AI\n EXTERNAL_AI_ASSISTED\n NON_AI_ASSISTED\n}\n\nenum EvaluationPlanType {\n CUSTOM\n GENERIC\n DELETED\n}\n\nenum EvaluationPlanShareScope {\n PRIVATE\n CREATOR\n ORGANIZATION\n}\n\nenum DurationUnit {\n MINUTES\n HOURS\n DAYS\n}\n\nmodel EvaluationPlan {\n id String @id @default(uuid())\n job_description_id String\n assessment_id String?\n assignment_library_id String?\n title String\n description String?\n format EvaluationRoundFormat?\n topics String[]\n assignee String?\n elimination_round Boolean @default(false)\n evaluation_type EvaluationType @default(TREADSPACE_AI_ASSISTED)\n type_of_round RoundType\n timeline Int?\n order_no Int?\n details Json?\n plan_type EvaluationPlanType @default(GENERIC)\n share_scope EvaluationPlanShareScope @default(PRIVATE)\n duration Int?\n duration_unit DurationUnit?\n deadline Int?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n questions Question[] // One evaluation plan → many questions\n interviews Interview[]\n applications Application[]\n // New optional one-to-one relation with AssessmentLibrary\n assessment AssessmentLibrary? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)\n ongoing_evaluations OngoingEvaluation[]\n\n @@index([job_description_id])\n @@index([job_description_id, plan_type, share_scope])\n @@index([created_by, share_scope])\n}\n\nmodel Feedback {\n id String @id @default(uuid())\n interview_id String\n order_no Int\n\n ai_feedback Json?\n human_feedback Json?\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n}\n\nenum FitCheckStatus {\n RECOMMENDED\n TO_REVIEW\n NOT_RECOMMENDED\n}\n\nmodel FitCheck {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// FK to organisations table\n organisation_id String?\n candidate_id String?\n resume_id String\n job_description_id String\n\n /// Old Fields will be deprecated soon\n skills_match String[]\n responsibilities_match String[]\n responsibilities_score Float?\n experience_match String[]\n experience_score Float?\n organisation_value_score Float?\n organisation_value_match String[]\n qualifications_match String[]\n qualifications_score Float?\n fit Json[]\n fit_check_status FitCheckStatus?\n // Fields to be used now\n skills_analysis Json?\n overall_analysis Json?\n skills_score Float?\n overall_score Float\n short_match_analysis Json[]\n fit_comparison Json?\n recommendation Json?\n // New Fields needs to be changed now\n candidate_analysis Json[]\n technical_analysis Json[]\n competency_analysis Json[]\n\n /// Audit fields\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Timestamps\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application?\n\n /// Ensure one FitCheck per (resume_id, job_description_id) pair\n @@unique([resume_id, job_description_id])\n @@index([resume_id])\n}\n\nmodel Google {\n id String @id @default(uuid())\n user_id String @unique\n\n google_email String\n refresh_token String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n}\n\nenum IntegrationProvider {\n NAUKRI\n ZOHO_RECRUIT\n LINKEDIN\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n}\n\nenum IntegrationAuthType {\n OAUTH2\n API_KEY\n SSO\n}\n\nenum SyncDirection {\n PUSH\n PULL\n BIDIRECTIONAL\n}\n\nenum SyncEntityType {\n CANDIDATE\n JOB_OPENING\n INTERVIEW\n APPLICATION\n}\n\nenum SyncStatus {\n SYNCED\n PENDING\n FAILED\n}\n\nmodel IntegrationCredential {\n id String @id @default(uuid())\n organisation_id String?\n provider IntegrationProvider\n auth_type IntegrationAuthType\n access_token String?\n refresh_token String?\n token_expires_at DateTime?\n api_key String?\n api_secret String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, provider])\n @@index([provider])\n}\n\nmodel IntegrationJobSync {\n id String @id @default(uuid())\n job_description_id String\n provider IntegrationProvider\n external_id String?\n sync_enabled Boolean @default(true)\n last_synced_at DateTime?\n sync_direction SyncDirection @default(PUSH)\n metadata Json @default(\"{}\")\n\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, provider])\n @@index([provider])\n}\n\nmodel ZohoSyncMapping {\n id String @id @default(uuid())\n organisation_id String\n entity_type SyncEntityType\n treadspace_id String\n zoho_module String\n zoho_record_id String\n last_synced_at DateTime @default(now())\n sync_status SyncStatus @default(PENDING)\n error_message String?\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, entity_type, treadspace_id])\n @@index([zoho_record_id])\n @@index([sync_status])\n}\n\nenum InterviewStatus {\n INTERVIEW_REQUESTED\n SCHEDULED\n IN_PROGRESS\n CANCELLED\n NO_SHOW // Candidate or interviewer failed to appear\n EVALUATION_PENDING // Waiting for feedback or evaluation\n EVALUATED // Feedback completed and locked\n}\n\nenum InterviewFeedback {\n STRONG_HIRE\n HIRE\n NO_HIRE\n STRONG_NO_HIRE\n}\n\nenum InterviewPlatform {\n TREADSPACE\n ZOOM\n}\n\nenum AiAssistanceMode {\n NONE\n ASSISTED\n}\n\nmodel Interview {\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n candidate_id String\n interviewer_id String?\n evaluation_plan_id String\n application_id String?\n resume_id String\n job_description_id String\n calendar_event_id String?\n /// Data\n room_name String?\n interview_summary String[]\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Interview length in minutes (source of truth; not derived from schedule window).\n duration Int?\n /// @deprecated Prefer `recording_document_id` + `Document` (type INTERVIEW_RECORDING).\n recording_url String?\n recording_document_id String? @unique\n evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)\n ai_assistance_mode AiAssistanceMode? @default(ASSISTED)\n interview_status InterviewStatus @default(SCHEDULED)\n interview_platform InterviewPlatform @default(TREADSPACE)\n /// Old Feedback fields will be deprecated soon\n ai_interview_feedback InterviewFeedback?\n interview_feedback InterviewFeedback?\n overall_feedback String?\n interview_rating Float? // Overall rating out of 100 based on evaluation\n /// New Feedback fields\n ai_feedback Json?\n human_feedback Json?\n interviewer_feedback Json?\n section_feedback Json[]\n interview_preparation Json?\n final_feedback Json?\n interview_analysis_ranges Json?\n interview_flow_summary String?\n /// When Orion AI feedback was last persisted on this interview.\n ai_feedback_generated_at DateTime?\n /// When recruiter human feedback was last saved (draft or final).\n human_feedback_updated_at DateTime?\n\n /// Self-scheduling\n reschedule_count Int @default(0)\n last_rescheduled_at DateTime?\n first_assigned_at DateTime?\n /// True while the candidate is waiting on recruiter action (typically a\n /// reassign) after they submitted alternate slots via \"None match\" /\n /// \"Suggest times\". Cleared whenever the recruiter routes a fresh\n /// request via `upsertInterviewRequestRecord`.\n awaiting_recruiter_action Boolean @default(false)\n\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateInterviews\", fields: [candidate_id], references: [id], onDelete: SetNull)\n interviewer User? @relation(\"InterviewerInterviews\", fields: [interviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation?\n transcripts Transcript[]\n suggestions Suggestion[]\n feedback Feedback[]\n interviewNotes InterviewNotes[]\n liveAnalysis LiveAnalysis[]\n zoom_meeting ZoomMeeting?\n\n // Indexes\n @@unique([interviewer_id, candidate_id, evaluation_plan_id])\n @@index([candidate_id])\n @@index([interviewer_id])\n @@index([job_description_id])\n}\n\nmodel InterviewNotes {\n id String @id @default(uuid())\n interview_id String\n note String\n details Json?\n timestamp DateTime @default(now())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([interview_id])\n}\n\nenum JobApplicationFieldType {\n TEXT\n NUMBER\n DATE\n BOOLEAN\n MULTI_SELECT\n FILE\n DROP_DOWN\n}\n\nmodel JobApplicationField {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n template_id String\n /// Data fields\n field_type JobApplicationFieldType\n label String\n description String?\n is_mandatory Boolean @default(false)\n is_draft Boolean @default(true)\n options String[]\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_template JobApplicationTemplate @relation(fields: [template_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_responses JobApplicationResponse[]\n\n /// Indexes\n @@index([organisation_id, template_id])\n}\n\nmodel JobApplicationResponse {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n application_id String\n job_application_field_id String?\n document_id String?\n /// Answer payload\n response Json?\n /// Denormalized question snapshot (immutable on candidate save)\n field_type JobApplicationFieldType?\n label String?\n description String?\n is_mandatory Boolean?\n is_draft Boolean?\n is_submitted Boolean @default(false)\n options String[]\n updated_by_organisation Boolean @default(false)\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n field JobApplicationField? @relation(fields: [job_application_field_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n document Document? @relation(fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n /// Partial unique on (application_id, job_application_field_id) WHERE job_application_field_id IS NOT NULL — see migration SQL\n @@index([application_id])\n @@index([job_application_field_id])\n}\n\nenum JobApplicationTemplateScope {\n ORGANIZATION\n JOB\n}\n\nmodel JobApplicationTemplate {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n job_description_id String? @unique\n /// Data fields\n name String\n description String?\n scope JobApplicationTemplateScope @default(ORGANIZATION)\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fields JobApplicationField[]\n\n /// Indexes\n @@index([organisation_id, scope])\n @@index([job_description_id])\n}\n\nenum JobDescriptionStatus {\n CREATED\n DRAFT\n ACTIVE\n DEACTIVATED\n CLOSED\n}\n\nmodel JobDescription {\n id String @id @default(uuid())\n organisation_id String\n hiring_manager_id String?\n status JobDescriptionStatus @default(DRAFT)\n screeningQuestions String[]\n recommendedQuestions Json[]\n /// @deprecated Prefer `source_document_id` + `Document` (type JOB_DESCRIPTION).\n uploaded_job_description_path String?\n source_document_id String? @unique\n rendered_jd_document_id String? @unique\n rendered_jd_document Document? @relation(\"RenderedJdDocument\", fields: [rendered_jd_document_id], references: [id], onDelete: SetNull)\n is_plan_published Boolean @default(false)\n is_posted Boolean @default(false)\n summary Json?\n ai_insight Json?\n job_fit_comparison Json?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n openings Int @default(1)\n job_profile_id String?\n job_profile JobProfile? @relation(fields: [job_profile_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n source_document Document? @relation(\"SourceDocument\", fields: [source_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n job_description_data JobDescriptionData[] // one-to-many link\n evaluationPlan EvaluationPlan[] // relation to evaluation methods\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n assignment_library AssignmentLibrary[]\n approvals Approval[] // one-to-many relation\n resumes Resume[] // one-to-many link\n budget Budget?\n hiring_manager User? @relation(\"HiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n recruiters User[]\n transcripts Transcript[]\n integration_job_syncs IntegrationJobSync[]\n job_application_template JobApplicationTemplate?\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([job_profile_id])\n}\n\nmodel JobDescriptionData {\n id String @id @default(uuid())\n job_description_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([job_description_id, key])\n}\n\nenum JobProfileStatus {\n DRAFT\n INTAKE_SENT\n INTAKE_IN_PROGRESS\n COMPLETE\n}\n\nmodel JobProfile {\n id String @id @default(uuid())\n organisation_id String\n hiring_manager_id String?\n created_by String\n assigned_to String?\n status JobProfileStatus @default(DRAFT)\n\n // Basics\n title String?\n role_type String? // new / replacement / backfill\n work_arrangement String? // onsite / hybrid / remote\n employment_type String? // full_time / part_time / contract / internship\n location String?\n experience String?\n experience_min String?\n comp_range String?\n budget String?\n\n // Requirements (structured from AI conversation)\n responsibilities Json?\n must_have_skills Json?\n nice_to_have_skills Json?\n culture Json?\n\n // Competencies\n competencies Json?\n\n // Conversation state\n conversation_history Json?\n orion_execution_id String?\n\n // Audit\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n // Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n hiring_manager User? @relation(\"JobProfileHiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n creator User @relation(\"ProfileCreator\", fields: [created_by], references: [id], onDelete: Restrict, onUpdate: Cascade)\n assignee User? @relation(\"ProfileAssignee\", fields: [assigned_to], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_descriptions JobDescription[]\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([assigned_to])\n @@index([created_by])\n}\n\nmodel LiveAnalysis {\n id String @id @default(uuid())\n //foreign keys\n interview_id String\n //data\n analysis Json\n //audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n //relations\n interview Interview @relation(fields: [interview_id], references: [id])\n\n @@index([interview_id])\n}\n\nmodel Message {\n id String @id @default(uuid())\n sender_id String\n receiver_id String\n message String\n\n sender User @relation(\"Sent Messages\", fields: [sender_id], references: [id])\n receiver User @relation(\"Received Messages\", fields: [receiver_id], references: [id])\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n}\n\nmodel Notes {\n id String @id @default(uuid())\n application_id String\n user_id String\n note String\n pinned Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id, created_at])\n @@index([user_id, created_at])\n}\n\nenum OngoingEvaluationState {\n NOT_STARTED\n IN_PROGRESS\n CLEARED\n SKIPPED\n NOT_CLEARED\n}\n\nenum OngoingEvaluationRoundStatus {\n NOT_SCHEDULED\n REQUESTED_SCHEDULING\n SCHEDULED\n IN_PROGRESS\n PENDING_EVALUATION\n EVALUATED\n}\n\nmodel OngoingEvaluation {\n // Primary Key\n id String @id @default(uuid())\n // Foreign Keys \n organisation_id String\n application_id String\n candidate_id String\n resume_id String\n job_description_id String\n evaluation_plan_id String\n interview_id String? @unique\n assignment_id String? @unique\n assessment_id String? @unique\n // Data Fields\n state OngoingEvaluationState? @default(NOT_STARTED)\n round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)\n comments String? @default(\"\")\n completed_at DateTime?\n is_committed Boolean?\n /// Evaluation Plan Fields Filled After Round Started\n title String?\n description String?\n order_no Int?\n format EvaluationRoundFormat?\n topics String[]\n assignee String?\n elimination_round Boolean? @default(false)\n evaluation_type EvaluationType?\n type_of_round RoundType?\n duration Int?\n deadline Int?\n duration_unit DurationUnit?\n details Json?\n // Audit Fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_current Boolean @default(false)\n // Relations\n jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n assignment Assignment?\n assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n\n @@unique([application_id, evaluation_plan_id])\n @@index([application_id])\n @@index([evaluation_plan_id])\n}\n\nenum OrganisationSize {\n ONE_TO_TEN @map(\"1-10\")\n ELEVEN_TO_FIFTY @map(\"11-50\")\n FIFTY_ONE_TO_TWO_HUNDRED @map(\"51-200\")\n TWO_HUNDRED_ONE_TO_FIVE_HUNDRED @map(\"201-500\")\n FIVE_HUNDRED_PLUS @map(\"500+\")\n}\n\nmodel Organisation {\n id String @id @default(uuid())\n name String @unique\n industry String\n about String\n website String\n size OrganisationSize @default(ONE_TO_TEN)\n phone String\n address String\n company_values Json[]\n allowed_email_domains String[]\n\n interviewers User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n alias String? @unique\n logo String?\n applications Application[]\n user_roles UserRole[]\n job_descriptions JobDescription[]\n job_profiles JobProfile[]\n assessment_library AssessmentLibrary[]\n assignment_library AssignmentLibrary[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n resumes Resume[] // one-to-many link\n approvals Approval[] // one-to-many link\n suggestions Suggestion[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actions Action[]\n integration_credentials IntegrationCredential[]\n zoho_sync_mappings ZohoSyncMapping[]\n assessments Assessment[]\n timezone String @default(\"Asia/Kolkata\")\n organisation_configs OrganisationConfig[]\n job_application_fields JobApplicationField[]\n documents Document[]\n job_application_templates JobApplicationTemplate[]\n\n channel_provider_configs ChannelProviderConfig[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n\n @@index([name])\n}\n\nmodel OrganisationConfig {\n id String @id @default(uuid())\n organisation_id String\n config_key String\n value Json\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([organisation_id, config_key])\n @@map(\"organisationConfig\")\n}\n\nmodel Permission {\n id String @id @default(uuid())\n permissions String[] @default([])\n created_by String?\n updated_by String?\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n user User?\n user_roles UserRole?\n\n @@index([created_at])\n}\n\nenum AsyncOperationStatus {\n PENDING\n IN_PROGRESS\n SUCCESS\n FAILED\n RETRYING\n CANCELLED\n}\n\nmodel AsyncOperation {\n id String @id @default(uuid())\n // Identification\n operation_name String\n // Status tracking\n status AsyncOperationStatus @default(PENDING)\n started_at DateTime?\n completed_at DateTime?\n // Execution metadata\n payload Json?\n metadata Json?\n // Tracing\n correlationId String?\n sourceService String?\n // Retry information\n retry_count Int @default(0)\n max_retries Int @default(0)\n next_retry_at DateTime?\n // Error information\n error_message String?\n error_details String?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@index([status])\n @@index([operation_name])\n @@index([correlationId])\n}\n\nenum Difficulty {\n EASY // simple/basic questions\n MEDIUM // moderate difficulty\n HARD // challenging questions\n}\n\nmodel Question {\n id String @id @default(uuid())\n assessment_library_id String?\n evaluation_plan_id String?\n candidate_id String?\n skill String?\n question String\n answer String\n options String[] // For MCQ's\n max_score Float?\n difficulty Difficulty?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull)\n assessments AssessmentQuestion[] @relation(\"QuestionToAssessmentQuestion\")\n assessmentLibrary AssessmentLibrary? @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade)\n evaluationPlan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull)\n candidateResponse CandidateQuestionResponse[]\n}\n\nmodel RefreshToken {\n id String @id @default(uuid())\n user_id String\n token String @unique\n is_active Boolean @default(true)\n expires_at DateTime\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n user User @relation(\"TokenRefresh\", fields: [user_id], references: [id], onDelete: Cascade)\n}\n\nmodel Resume {\n id String @id @default(uuid())\n user_id String?\n organisation_id String?\n job_description_id String?\n /// @deprecated Prefer `document_id` + `Document`. Kept until backfill completes.\n uploaded_resume_path String?\n document_id String? @unique\n /// Latest rendered ATS export document (PDF/DOCX). Mirrors JD `rendered_jd_document_id`.\n rendered_export_document_id String? @unique\n /// Last template id used for the linked rendered export (cache key with fingerprints).\n resume_template_id String?\n /// @deprecated Prefer `Document.file_hash`. Kept for legacy read fallback.\n file_hash String?\n summary Json?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n name String?\n user User? @relation(fields: [user_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n document Document? @relation(fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n rendered_export_document Document? @relation(\"RenderedResumeExportDocument\", fields: [rendered_export_document_id], references: [id], onDelete: SetNull)\n applications Application[]\n interviews Interview[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n\n resume_data ResumeData[] // one-to-many link\n fit_check FitCheck[] // one-to-many link\n // inverse side of the relation — no foreign key here\n candidate_profile CandidateProfile? // one-to-one link\n yearsOfExperience Int?\n\n @@index([user_id])\n @@index([file_hash])\n}\n\nmodel ResumeData {\n id String @id @default(uuid())\n resume_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([created_at])\n}\n\n// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../../client\"\n binaryTargets = [\"native\", \"linux-arm64-openssl-1.1.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Suggestion {\n id String @id @default(uuid())\n interview_id String?\n transcript_id String? @unique // ✅ ensures one-to-one\n organisation_id String\n suggestion String?\n question String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull)\n transcripts Transcript[]\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n @@index([interview_id])\n}\n\nmodel Transcript {\n id String @id @default(uuid())\n interview_id String?\n suggestion_id String?\n intermediate_feedback_id String?\n job_description_id String?\n interviewer_timestamp DateTime?\n candidate_timestamp DateTime?\n interviewer String\n candidate String\n order_no Int @default(autoincrement())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: SetNull)\n suggestion Suggestion? @relation(fields: [suggestion_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@index([job_description_id])\n}\n\nenum FirstLoginStatus {\n PENDING\n COMPLETED\n}\n\nenum UserInvitationStatus {\n INVITED\n ACCEPTED\n EXPIRED\n}\n\nmodel User {\n id String @id @default(uuid())\n email String @unique\n password String\n role_id String\n role UserRole @relation(fields: [role_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n organisation_id String?\n // Back-relations are defined from Resume side via user_id\n google_id String? @unique\n refresh_token String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_self_registered Boolean @default(true)\n permission_id String? @unique\n preferences Json? @default(\"{}\")\n invitation_status UserInvitationStatus @default(INVITED)\n invited_at DateTime? @default(now())\n invitation_expires_at DateTime?\n invitation_accepted_at DateTime?\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n resume Resume[]\n candidate_profile CandidateProfile?\n user_profile UserProfile?\n job_description JobDescription[]\n hiring_manager_job_descriptions JobDescription[] @relation(\"HiringManager\")\n hiring_manager_job_profiles JobProfile[] @relation(\"JobProfileHiringManager\")\n approvals Approval[]\n sent_messages Message[] @relation(\"Sent Messages\")\n received_messages Message[] @relation(\"Received Messages\")\n profile_created Boolean\n first_login_status FirstLoginStatus @default(PENDING)\n // Back-relations for interviews (optional but recommended for clarity)\n candidate_interviews Interview[] @relation(\"CandidateInterviews\")\n interviewer_interviews Interview[] @relation(\"InterviewerInterviews\")\n assessment_results Assessment[]\n candidate_assessments Assessment[] @relation(\"CandidateAssessments\")\n reviewer_assessments Assessment[] @relation(\"ReviewerAssessments\")\n candidate_assignments Assignment[] @relation(\"CandidateAssignments\")\n reviewer_assignments Assignment[] @relation(\"AssignmentReviewer\")\n candidateResponses CandidateQuestionResponse[]\n questions Question[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actor_activity_logs ActivityLog[] @relation(\"ActorActivityLogs\")\n actions Action[]\n calendly Calendly?\n google Google?\n fitChecks FitCheck[]\n created_job_profiles JobProfile[] @relation(\"ProfileCreator\")\n assigned_job_profiles JobProfile[] @relation(\"ProfileAssignee\")\n user_auth_modules AuthModule[] @relation(\"UserAuthModule\")\n refresh_token_auth RefreshToken[] @relation(\"TokenRefresh\")\n zoom_meeting_participants ZoomMeetingParticipant[]\n notes Notes[]\n\n name String?\n phone String?\n description String?\n date_of_birth DateTime?\n designation String?\n location String?\n salary String?\n work_experience Json?\n education Json?\n skills Json?\n notice_period String?\n preferred_work_mode String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n professional_expertise String?\n documents Document[]\n\n @@index([role_id])\n @@index([permission_id])\n @@index([organisation_id])\n}\n\nmodel UserProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n description String\n date_of_birth String\n designation String\n is_active Boolean @default(true)\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n work_experience Json?\n}\n\n/// Expected attendee slot when persisting interview-linked Zoom participants (`CANDIDATE` | `INTERVIEWER`).\nenum ZoomMeetingParticipantRole {\n CANDIDATE\n INTERVIEWER\n}\n\n/// Zoom meeting linked 1:1 to an interview; Zoom REST host is `zoom_host_user_id`.\nmodel ZoomMeeting {\n id String @id @default(uuid())\n /// One Zoom row per interview.\n interview_id String @unique\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n /// Treadspace user id whose Zoom User-OAuth token created this meeting; required for PATCH/DELETE on Zoom REST.\n /// Set from the Zoom host `userId` in `ZoomMeetingDAO.upsertZoomParticipants` (same user as `POST /users/me/meetings`).\n zoom_host_user_id String\n\n /// Zoom REST/API meeting id (same value used as Meeting SDK `meetingNumber` / JWT `mn`).\n zoom_meeting_id String\n /// Zoom meeting **instance** UUID from REST create (`uuid`) and RTMS/webhooks (`meeting_uuid`).\n zoom_meeting_uuid String?\n join_url String\n start_url String?\n password String?\n topic String?\n\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Audit; kept aligned with `zoom_host_user_id` when the meeting is recreated under a new host.\n created_by String\n updated_by String\n\n participants ZoomMeetingParticipant[]\n\n @@index([interview_id])\n @@index([zoom_meeting_id])\n @@index([zoom_meeting_uuid])\n}\n\n/// Expected participants for a `ZoomMeeting`: links to `User` (candidate / interviewer). Replaced on each meeting upsert.\nmodel ZoomMeetingParticipant {\n id String @id @default(uuid())\n zoom_meeting_row_id String\n zoom_meeting ZoomMeeting @relation(fields: [zoom_meeting_row_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user_id String\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Zoom account id (`AuthModule.provider_account_id`) when this `user_id` has linked Zoom; usually set for interviewer, often null for candidate.\n zoom_participant_id String?\n role ZoomMeetingParticipantRole\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@index([zoom_meeting_row_id])\n @@index([user_id])\n @@index([zoom_participant_id])\n}\n\n/// Ledger of processed Zoom webhook deliveries: one row per `dedupe_key` (request id or body hash).\n/// Stops double-handling when Zoom retries the same notification (e.g. RTMS, `meeting.started`).\nmodel ZoomWebhookEvent {\n id String @id @default(uuid())\n /// Stable key: SHA-256 of raw request body, or `x-zm-trackingid` when present.\n dedupe_key String @unique\n event String\n created_at DateTime @default(now())\n\n @@index([event])\n @@index([created_at])\n}\n",
1500
- "inlineSchemaHash": "9027aaf487b1eed195ff17fce9a9a948edf8458557a350c7e5166ddc5d266063",
2363
+ "inlineSchema": "model CandidateQuestionResponse {\n id String @id @default(uuid())\n //foreign keys\n question_id String\n candidate_id String\n assessment_id String\n //data\n response String\n score Float?\n /// Audit fields\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n question Question @relation(fields: [question_id], references: [id], onDelete: Cascade)\n assessment Assessment @relation(fields: [assessment_id], references: [id], onDelete: Cascade)\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([assessment_id, question_id, candidate_id])\n @@index([candidate_id])\n @@index([assessment_id])\n @@schema(\"public\")\n}\n\nmodel UserRole {\n id String @id @default(uuid())\n role String\n organisation_id String?\n is_custom Boolean @default(false)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n permission_id String? @unique\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n users User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([role, organisation_id])\n @@index([role, organisation_id])\n @@index([organisation_id])\n @@index([permission_id])\n @@schema(\"public\")\n}\n\nenum ActionType {\n TAKE_INTERVIEW\n PROVIDE_FEEDBACK\n SCHEDULE_INTERVIEW\n\n @@schema(\"public\")\n}\n\nenum ActionStatus {\n PENDING\n COMPLETED\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel Action {\n id String @id @default(uuid())\n assignee_id String\n title String\n action_type ActionType\n action_id String // Generic foreign key that can link to any entity\n due_date DateTime?\n organisation_id String\n status ActionStatus @default(PENDING)\n // Relations\n user User @relation(fields: [assignee_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@index([assignee_id, action_type])\n @@index([status])\n @@index([due_date])\n @@schema(\"public\")\n}\n\nenum ActivityEventType {\n APPLICATION_CREATED\n APPLICATION_STARTED\n APPLICATION_REJECTED\n APPLICATION_SHORTLISTED\n\n FIT_CHECK_COMPLETED\n\n ROUND_ASSIGNED\n ROUND_COMPLETED\n ROUND_PASSED\n ROUND_FAILED\n\n INTERVIEW_CREATED\n INTERVIEW_SCHEDULED\n INTERVIEW_RESCHEDULED\n INTERVIEW_CANCELLED\n INTERVIEW_STARTED\n INTERVIEW_COMPLETED\n INTERVIEW_NO_SHOW\n INTERVIEW_EVALUATION_PENDING\n INTERVIEW_EVALUATED\n\n FEEDBACK_SUBMITTED\n\n ASSIGNMENT_CREATED\n ASSIGNMENT_STARTED\n ASSIGNMENT_COMPLETED\n ASSIGNMENT_CANCELLED\n ASSIGNMENT_EVALUATED\n\n ASSESSMENT_CREATED\n ASSESSMENT_STARTED\n ASSESSMENT_COMPLETED\n ASSESSMENT_CANCELLED\n ASSESSMENT_EVALUATED\n\n JOB_CREATED\n JOB_PUBLISHED\n JOB_CLOSED\n JOB_DEACTIVATED\n\n USER_INVITED\n USER_INVITATION_RESENT\n USER_CREATED\n USER_INVITATION_ACCEPTED\n USER_INVITATION_EXPIRED\n USER_DEACTIVATED\n USER_REACTIVATED\n USER_ROLE_CHANGED\n USER_PROFILE_COMPLETED\n\n CANDIDATE_REGISTERED\n CANDIDATE_CREATED\n CANDIDATE_PROFILE_COMPLETED\n\n EVALUATION_PLAN_CREATED\n EVALUATION_PLAN_PUBLISHED\n EVALUATION_PLAN_DELETED\n EVALUATION_PLAN_UPDATED\n STATUS_CHANGED\n\n CUSTOM\n\n @@schema(\"public\")\n}\n\nenum ActivityEntityType {\n APPLICATION\n\n CANDIDATE\n\n JOB\n\n ONGOING_EVALUATION\n\n EVALUATION_PLAN\n\n INTERVIEW\n\n ASSIGNMENT\n\n ASSESSMENT\n\n ORGANISATION\n\n USER\n\n @@schema(\"public\")\n}\n\nenum ActivityEntityActorType {\n USER\n\n SYSTEM\n\n AI_AGENT\n\n WEBHOOK\n\n @@schema(\"public\")\n}\n\nmodel ActivityEvent {\n id String @id @default(uuid())\n\n organisation_id String?\n\n event_type ActivityEventType\n\n entity_type ActivityEntityType\n entity_id String\n\n actor_id String?\n actor_type ActivityEntityActorType\n\n related_entities Json?\n\n snapshot Json?\n\n payload Json?\n\n schema_version Int @default(1)\n\n occurred_at DateTime\n\n created_at DateTime @default(now())\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id])\n\n @@index([organisation_id, occurred_at])\n @@index([organisation_id, event_type])\n @@index([entity_type, entity_id])\n @@index([actor_id])\n @@index([occurred_at])\n @@map(\"activity_events\")\n @@schema(\"public\")\n}\n\nenum ActivityActorType {\n USER\n AI\n SYSTEM\n\n @@schema(\"public\")\n}\n\nmodel ActivityLog {\n id String @id @default(uuid())\n application_id String\n actor_id String?\n actor_type ActivityActorType @default(USER)\n message String\n timestamp DateTime @default(now())\n metadata Json?\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n // Relations\n actor User? @relation(\"ActorActivityLogs\", fields: [actor_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id])\n @@schema(\"public\")\n}\n\nmodel ApplicationAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n application_id String @unique\n job_description_id String\n candidate_id String\n\n source_id String?\n source_name String?\n source_category SourceCategory?\n source_colour String?\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n candidate_name String?\n recruiter_id String?\n\n applied_at DateTime\n status_updated_at DateTime?\n\n status ApplicationStatus?\n fit_check_score Float?\n\n is_screened Boolean @default(false)\n is_evaluated Boolean @default(false)\n is_rejected Boolean @default(false)\n is_shortlisted Boolean @default(false)\n has_committed_evaluation Boolean @default(false)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, applied_at])\n @@index([organisation_id, source_id, applied_at])\n @@index([job_description_id, applied_at])\n @@index([organisation_id, hiring_manager_id])\n @@map(\"application_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel ApplicationAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n application_id String\n job_description_id String\n candidate_id String\n\n source_id String?\n source_name String?\n source_category SourceCategory?\n source_colour String?\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n candidate_name String?\n recruiter_id String?\n\n applied_at DateTime\n status_updated_at DateTime?\n\n status ApplicationStatus?\n fit_check_score Float?\n\n is_screened Boolean @default(false)\n is_evaluated Boolean @default(false)\n is_rejected Boolean @default(false)\n is_shortlisted Boolean @default(false)\n has_committed_evaluation Boolean @default(false)\n\n @@unique([snapshot_date, application_id])\n @@index([snapshot_date], map: \"aad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"aad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, source_id], map: \"aad_snapshot_org_source_idx\")\n @@index([snapshot_date, organisation_id, applied_at], map: \"aad_snapshot_org_applied_idx\")\n @@index([snapshot_date, job_description_id], map: \"aad_snapshot_job_idx\")\n @@map(\"application_analytics_daily\")\n @@schema(\"analytics\")\n}\n\n// PENDING could be understood as unscreened\nenum ApplicationStatus {\n PENDING\n IN_PROGRESS\n SELECTED\n SHORTLISTED\n REJECTED\n ON_HOLD\n\n @@schema(\"public\")\n}\n\nmodel Application {\n id String @id @default(uuid())\n candidate_id String\n resume_id String\n organisation_id String\n job_description_id String\n fit_check_score Float?\n applied_at DateTime @default(now())\n evaluation_plan_id String?\n fit_check_id String? @unique\n recruiter_id String?\n source_id String?\n round_no Int @default(0)\n is_jaf_completed Boolean @default(false)\n proceed_to_next_round Boolean? @default(false)\n //Screening fields\n on_notice_period Boolean @default(false)\n expected_joining_date DateTime?\n current_ctc String?\n expected_ctc String?\n notice_period Int?\n preferred_location String?\n evaluationComment String?\n // Relations\n fit_check_status FitCheckStatus?\n status ApplicationStatus @default(PENDING)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])\n candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recruiter User? @relation(\"ApplicationRecruiter\", fields: [recruiter_id], references: [id])\n source Source? @relation(fields: [source_id], references: [id], onDelete: SetNull)\n interviews Interview[]\n assignments Assignment[]\n ongoing_evaluations OngoingEvaluation[]\n activity_logs ActivityLog[]\n notes Notes[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n job_application_responses JobApplicationResponse[]\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@unique([candidate_id, job_description_id]) // Ensures candidate applies only once per job\n @@index([candidate_id])\n @@index([job_description_id])\n @@index([source_id])\n @@schema(\"public\")\n}\n\nmodel Approval {\n id String @id @default(uuid())\n job_description_id String\n user_id String\n organisaton_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisaton_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@schema(\"public\")\n}\n\nmodel Assessment {\n id String @id @default(uuid())\n //foreign keys\n organisation_id String?\n assessment_library_id String\n candidate_id String\n reviewer_id String?\n //data\n score Float?\n feedback Json?\n // Scheduled Deadline Window\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n /// Actual Start and End Time\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Attempt Expires At\n attempt_expires_at DateTime?\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n assessment_library AssessmentLibrary @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User @relation(\"CandidateAssessments\", fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"ReviewerAssessments\", fields: [reviewer_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n questions AssessmentQuestion[] @relation(\"AssessmentToAssessmentQuestion\")\n candidateResponse CandidateQuestionResponse[]\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n User User? @relation(fields: [userId], references: [id])\n userId String?\n ongoingEvaluation OngoingEvaluation?\n\n @@unique([assessment_library_id, candidate_id])\n @@index([assessment_library_id])\n @@index([candidate_id])\n @@schema(\"public\")\n}\n\n/// Defines how an assessment is conducted.\n\nmodel AssessmentLibrary {\n id String @id @default(uuid())\n title String\n time_required Int\n passing_score Float?\n max_score Float?\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n questions Question[] // One assessment → many questions\n assessments Assessment[]\n evaluation_Plans EvaluationPlan[]\n\n @@index([organisation_id])\n @@schema(\"public\")\n}\n\n/**\n * Join table linking Assessments and Questions in a many-to-many relationship.\n * - Each row represents one link between a specific Assessment and a specific Question.\n * - Composite ID ensures no duplicate pairings exist.\n * - Cascade delete ensures join rows are removed when either side is deleted.\n * - Enables sharing the same Question across multiple Assessments.\n */\nmodel AssessmentQuestion {\n assessment_id String\n question_id String\n assessment Assessment @relation(\"AssessmentToAssessmentQuestion\", fields: [assessment_id], references: [id], onDelete: Cascade)\n question Question @relation(\"QuestionToAssessmentQuestion\", fields: [question_id], references: [id], onDelete: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@id([assessment_id, question_id])\n @@schema(\"public\")\n}\n\nenum AssessmentRoundStatus {\n SCHEDULED\n IN_PROGRESS\n COMPLETED\n EVALUATED\n CANCELLED\n\n @@schema(\"analytics\")\n}\n\nmodel AssessmentRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n assessment_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n\n score Float?\n status AssessmentRoundStatus?\n round_result RoundResult?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, reviewer_id])\n @@index([job_description_id])\n @@index([application_id])\n @@map(\"assessment_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel AssessmentRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n assessment_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n attempt_expires_at DateTime?\n evaluated_at DateTime?\n\n score Float?\n status AssessmentRoundStatus?\n round_result RoundResult?\n\n @@unique([snapshot_date, assessment_id])\n @@index([snapshot_date], map: \"asrad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"asrad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"asrad_snapshot_job_idx\")\n @@map(\"assessment_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AssignmentStatus {\n AVAILABLE\n SCHEDULED\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel Assignment {\n id String @id @default(uuid())\n candidate_id String\n assignment_library_id String\n reviewer_id String?\n application_id String?\n job_description_id String\n organisation_id String\n ongoing_evaluation_id String? @unique\n overallScore Int?\n feedback Json?\n status AssignmentStatus @default(AVAILABLE)\n cancel_reason String?\n /// @deprecated Prefer `solution_document_id` + `Document`.\n solution_url String?\n /// @deprecated Prefer `zip_document_id` + `Document`.\n zip_url String?\n solution_document_id String? @unique\n zip_document_id String? @unique\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateAssignments\", fields: [candidate_id], references: [id], onDelete: Cascade)\n assignment_library AssignmentLibrary @relation(fields: [assignment_library_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n reviewer User? @relation(\"AssignmentReviewer\", fields: [reviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation? @relation(fields: [ongoing_evaluation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n solution_document Document? @relation(\"AssignmentSolutionDocument\", fields: [solution_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n zip_document Document? @relation(\"AssignmentZipDocument\", fields: [zip_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([candidate_id, ongoing_evaluation_id])\n @@index([candidate_id])\n @@index([reviewer_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel AssignmentLibrary {\n id String @id @default(uuid())\n deadline Int\n /// Flexible JSON for assignment-specific config (rubrics, instructions, criteria, etc.)\n assignment Json?\n job_description_id String\n organisation_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Back-relation: one-to-one from EvaluationPlan (FK lives on EvaluationPlan.assignment_library_id)\n evaluationPlan EvaluationPlan[]\n assignments Assignment[]\n\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel AssignmentRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n assignment_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n completed_at DateTime?\n evaluated_at DateTime?\n cancelled_at DateTime?\n\n status AssignmentStatus?\n overall_score Int?\n cancel_reason String?\n round_result RoundResult?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, reviewer_id])\n @@index([job_description_id])\n @@index([application_id])\n @@map(\"assignment_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel AssignmentRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n assignment_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n reviewer_id String?\n reviewer_employee_id String?\n reviewer_name String?\n\n candidate_name String?\n\n evaluation_type EvaluationType?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n completed_at DateTime?\n evaluated_at DateTime?\n cancelled_at DateTime?\n\n status AssignmentStatus?\n overall_score Int?\n cancel_reason String?\n round_result RoundResult?\n\n @@unique([snapshot_date, assignment_id])\n @@index([snapshot_date], map: \"arad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"arad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"arad_snapshot_job_idx\")\n @@map(\"assignment_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AuthProvider {\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n\n @@schema(\"public\")\n}\n\nmodel AuthModule {\n id String @id @default(uuid())\n user_id String\n /// The provider of the authentication module\n provider AuthProvider\n provider_account_id String? @db.Text\n\n access_token String? @db.Text\n refresh_token String? @db.Text\n id_token String? @db.Text\n expires_at DateTime?\n\n token_type String?\n\n scope String?\n is_active Boolean @default(true)\n\n /// Provider-specific JSON (e.g. Zoom: email, display); tokens remain in encrypted columns.\n metadata Json @default(\"{}\")\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n user User @relation(\"UserAuthModule\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@unique([user_id, provider])\n @@unique([provider, provider_account_id])\n @@index([user_id])\n @@schema(\"public\")\n}\n\nenum JobType {\n Full_time\n Part_time\n Contract\n Internship\n Temporary\n\n @@schema(\"public\")\n}\n\nenum JDCreationType {\n Pick_from_Library\n Upload_JD\n Create_New\n Create_From_Profile\n\n @@schema(\"public\")\n}\n\nmodel Budget {\n id String @id @default(uuid())\n job_type JobType\n location String\n shift String\n openings Int\n budget_per_job String\n level String\n start_date DateTime\n closing_date DateTime\n business_unit String\n purpose String\n role String\n domain String\n jd_creation_type JDCreationType\n job_description_id String @unique\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel Calendly {\n id String @id @default(uuid())\n user_id String @unique\n\n access_token String\n refresh_token String\n expires_at DateTime\n calendly_user_uri String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel CandidateProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n location String\n salary String?\n description String?\n resume_id String? @unique\n date_of_birth DateTime?\n\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n work_experience Json?\n education Json?\n notice_period String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\n// Multi-channel communication (WhatsApp, Email, SMS, Call) with provider abstraction.\n// Strategy: typed columns for everything stable; JSON only for genuinely variable data.\n\nenum CommChannel {\n WHATSAPP\n EMAIL\n SMS\n CALL\n\n @@schema(\"public\")\n}\n\nenum CommProvider {\n META_WHATSAPP\n TWILIO\n GUPSHUP\n MTALKZ\n THREE_SIXTY_DIALOG\n GMAIL\n OUTLOOK\n GENERIC_SMTP\n GENERIC\n\n @@schema(\"public\")\n}\n\nenum CommDirection {\n INBOUND\n OUTBOUND\n\n @@schema(\"public\")\n}\n\nenum CommMessageStatus {\n QUEUED\n SENT\n DELIVERED\n READ\n FAILED\n RECEIVED\n\n @@schema(\"public\")\n}\n\n/// Per-organisation provider selection + (encrypted) credentials for one channel.\n/// `metadata` stores non-secret provider settings (e.g. phone_number_id, waba_id, webhook_verify_token).\nmodel ChannelProviderConfig {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n /// Encrypted JSON blob of secrets (token, app_secret, …) using integrationTokenCrypto.\n credentials String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n is_default Boolean @default(true)\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n conversations Conversation[]\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider])\n @@index([organisation_id, channel])\n @@index([organisation_id, channel, is_active])\n @@schema(\"public\")\n}\n\n/// A logical conversation thread with one external party on one channel.\n/// `external_id` is the channel-native identifier (E.164 phone for WhatsApp/SMS, email address for email).\n///\n/// `application_id` / `job_description_id` are the *current* recruiting scope\n/// the thread is bound to (the recruiter can switch context, but individual\n/// `CommunicationMessage` rows record the scope they were sent under so the\n/// audit trail is preserved). Both nullable so pre-application sourcing\n/// (no application yet, just a JD) still works.\nmodel Conversation {\n id String @id @default(uuid())\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n external_id String\n contact_user_id String?\n application_id String?\n job_description_id String?\n provider_thread_id String?\n subject String?\n status String @default(\"open\")\n unread_count Int @default(0)\n last_message_at DateTime?\n metadata Json @default(\"{}\")\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n messages CommunicationMessage[]\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, channel, provider, external_id])\n @@index([organisation_id, channel])\n @@index([organisation_id, last_message_at])\n @@index([external_id])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n @@schema(\"public\")\n}\n\n/// Individual message in a conversation. Inbound + outbound share the same model.\n/// `body` is plain text. `attachments` is a JSON array of media descriptors (no binaries persisted).\n/// `metadata` stores raw provider payloads + interactive payloads for audit/debug.\n///\n/// `application_id` / `job_description_id` are the recruiting scope this\n/// specific message was sent/received under, captured at the time of the\n/// event (not derived from the parent conversation, since a recruiter may\n/// reuse a thread across multiple applications). Both nullable.\nmodel CommunicationMessage {\n id String @id @default(uuid())\n conversation_id String\n organisation_id String\n channel CommChannel\n provider CommProvider\n channel_provider_id String?\n direction CommDirection\n status CommMessageStatus\n body String?\n from_identifier String\n to_identifier String\n sender_user_id String?\n application_id String?\n job_description_id String?\n provider_message_id String?\n template_name String?\n attachments Json @default(\"[]\")\n metadata Json @default(\"{}\")\n error String?\n sent_at DateTime?\n delivered_at DateTime?\n read_at DateTime?\n\n conversation Conversation @relation(fields: [conversation_id], references: [id], onDelete: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n channel_provider ChannelProviderConfig? @relation(fields: [channel_provider_id], references: [id], onDelete: SetNull)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([provider, provider_message_id])\n @@index([conversation_id, created_at])\n @@index([organisation_id, channel, created_at])\n @@index([organisation_id, status])\n @@index([organisation_id, application_id])\n @@index([organisation_id, job_description_id])\n @@schema(\"public\")\n}\n\nmodel ContactUs {\n id String @id @default(uuid())\n name String\n email String\n organisation_name String\n organisation_website String\n subject String\n message String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel Document {\n // Primary key\n id String @id @default(uuid())\n // Foreign keys\n organisation_id String?\n candidate_id String?\n // Data fields\n original_file_name String\n stored_file_name String\n file_extension String?\n s3_bucket String?\n s3_key String?\n mime_type String?\n file_size BigInt?\n file_hash String?\n metadata Json?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n resume Resume? @relation(\"ResumeSourceDocument\")\n resume_rendered_export Resume? @relation(\"RenderedResumeExport\")\n job_description_source JobDescription? @relation(\"SourceDocument\")\n job_description_rendered JobDescription? @relation(\"RenderedJdDocument\")\n interview_recording Interview?\n job_application_responses JobApplicationResponse[]\n assignment_solution Assignment? @relation(\"AssignmentSolutionDocument\")\n assignment_zip Assignment? @relation(\"AssignmentZipDocument\")\n\n // Indexes\n @@index([candidate_id])\n @@index([organisation_id, candidate_id])\n @@index([file_hash])\n @@schema(\"public\")\n}\n\nenum RoundType {\n ASSESSMENT\n INTERVIEW\n ASSIGNMENT\n SCREENING\n\n @@schema(\"public\")\n}\n\nenum EvaluationCategory {\n EXPERIENCE_SCREENING\n TECHNICAL_SCREENING\n TECHNICAL_INTERVIEW\n BUSINESS_ROUND\n BEHAVIORAL_ROUND\n\n @@schema(\"public\")\n}\n\nenum EvaluationRoundFormat {\n // ────────────────\n // Screening formats\n // ────────────────\n PHONE_CALL\n VIDEO_CALL_AI_ASSISTED\n VIDEO_CALL_UNASSISTED\n\n // ────────────────\n // Assessment formats\n // ────────────────\n AI_GENERATED_TEST\n UPLOADED_TEST\n EXTERNAL_PLATFORM\n\n // ────────────────\n // Assignment formats\n // ────────────────\n AI_GENERATED_ASSIGNMENT\n UPLOADED_ASSIGNMENT\n\n // ────────────────\n // Interview formats\n // ────────────────\n TREADSPACE_AI_ASSISTED\n EXTERNAL_VIDEO_AI_ASSISTED\n EXTERNAL_VIDEO_UNASSISTED\n\n @@schema(\"public\")\n}\n\nenum EvaluationType {\n // New (In active use now)\n TREADSPACE_AI_ASSISTED\n TREADSPACE_FULL_AI\n EXTERNAL_AI_ASSISTED\n NON_AI_ASSISTED\n\n @@schema(\"public\")\n}\n\nenum EvaluationPlanType {\n CUSTOM\n GENERIC\n DELETED\n\n @@schema(\"public\")\n}\n\nenum EvaluationPlanShareScope {\n PRIVATE\n CREATOR\n ORGANIZATION\n\n @@schema(\"public\")\n}\n\nenum DurationUnit {\n MINUTES\n HOURS\n DAYS\n\n @@schema(\"public\")\n}\n\nmodel EvaluationPlan {\n id String @id @default(uuid())\n job_description_id String\n assessment_id String?\n assignment_library_id String?\n title String\n description String?\n format EvaluationRoundFormat?\n topics String[]\n assignee String?\n elimination_round Boolean @default(false)\n evaluation_type EvaluationType @default(TREADSPACE_AI_ASSISTED)\n type_of_round RoundType\n round_purpose String?\n timeline Int?\n order_no Int?\n details Json?\n plan_type EvaluationPlanType @default(GENERIC)\n share_scope EvaluationPlanShareScope @default(PRIVATE)\n duration Int?\n duration_unit DurationUnit?\n deadline Int?\n category EvaluationCategory?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n // Relations\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n questions Question[] // One evaluation plan → many questions\n interviews Interview[]\n applications Application[]\n // New optional one-to-one relation with AssessmentLibrary\n assessment AssessmentLibrary? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n assignment_library AssignmentLibrary? @relation(fields: [assignment_library_id], references: [id], onDelete: SetNull)\n ongoing_evaluations OngoingEvaluation[]\n\n @@index([job_description_id])\n @@index([job_description_id, plan_type, share_scope])\n @@index([created_by, share_scope])\n @@schema(\"public\")\n}\n\nmodel Feedback {\n id String @id @default(uuid())\n interview_id String\n order_no Int\n\n ai_feedback Json?\n human_feedback Json?\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nenum FitCheckStatus {\n RECOMMENDED\n TO_REVIEW\n NOT_RECOMMENDED\n\n @@schema(\"public\")\n}\n\nmodel FitCheck {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// FK to organisations table\n organisation_id String?\n candidate_id String?\n resume_id String\n job_description_id String\n\n /// Old Fields will be deprecated soon\n skills_match String[]\n responsibilities_match String[]\n responsibilities_score Float?\n experience_match String[]\n experience_score Float?\n organisation_value_score Float?\n organisation_value_match String[]\n qualifications_match String[]\n qualifications_score Float?\n fit Json[]\n fit_check_status FitCheckStatus?\n // Fields to be used now\n skills_analysis Json?\n overall_analysis Json?\n skills_score Float?\n overall_score Float\n short_match_analysis Json[]\n fit_comparison Json?\n recommendation Json?\n // New Fields needs to be changed now\n candidate_analysis Json[]\n technical_analysis Json[]\n competency_analysis Json[]\n\n /// Audit fields\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Timestamps\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n application Application?\n\n /// Ensure one FitCheck per (resume_id, job_description_id) pair\n @@unique([resume_id, job_description_id])\n @@index([resume_id])\n @@schema(\"public\")\n}\n\nmodel Google {\n id String @id @default(uuid())\n user_id String @unique\n\n google_email String\n refresh_token String\n scope String?\n\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nenum IntegrationProvider {\n NAUKRI\n ZOHO_RECRUIT\n LINKEDIN\n GOOGLE\n MICROSOFT\n ZOOM\n CALENDLY\n\n @@schema(\"public\")\n}\n\nenum IntegrationAuthType {\n OAUTH2\n API_KEY\n SSO\n\n @@schema(\"public\")\n}\n\nenum SyncDirection {\n PUSH\n PULL\n BIDIRECTIONAL\n\n @@schema(\"public\")\n}\n\nenum SyncEntityType {\n CANDIDATE\n JOB_OPENING\n INTERVIEW\n APPLICATION\n\n @@schema(\"public\")\n}\n\nenum SyncStatus {\n SYNCED\n PENDING\n FAILED\n\n @@schema(\"public\")\n}\n\nmodel IntegrationCredential {\n id String @id @default(uuid())\n organisation_id String?\n provider IntegrationProvider\n auth_type IntegrationAuthType\n access_token String?\n refresh_token String?\n token_expires_at DateTime?\n api_key String?\n api_secret String?\n metadata Json @default(\"{}\")\n is_active Boolean @default(true)\n\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@unique([organisation_id, provider])\n @@index([provider])\n @@schema(\"public\")\n}\n\nmodel IntegrationJobSync {\n id String @id @default(uuid())\n job_description_id String\n provider IntegrationProvider\n external_id String?\n sync_enabled Boolean @default(true)\n last_synced_at DateTime?\n sync_direction SyncDirection @default(PUSH)\n metadata Json @default(\"{}\")\n\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, provider])\n @@index([provider])\n @@schema(\"public\")\n}\n\nmodel ZohoSyncMapping {\n id String @id @default(uuid())\n organisation_id String\n entity_type SyncEntityType\n treadspace_id String\n zoho_module String\n zoho_record_id String\n last_synced_at DateTime @default(now())\n sync_status SyncStatus @default(PENDING)\n error_message String?\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, entity_type, treadspace_id])\n @@index([zoho_record_id])\n @@index([sync_status])\n @@schema(\"public\")\n}\n\nenum InterviewStatus {\n INTERVIEW_REQUESTED\n SCHEDULED\n IN_PROGRESS\n CANCELLED\n NO_SHOW // Candidate or interviewer failed to appear\n EVALUATION_PENDING // Waiting for feedback or evaluation\n EVALUATED // Feedback completed and locked\n\n @@schema(\"public\")\n}\n\nenum InterviewFeedback {\n STRONG_HIRE\n HIRE\n NO_HIRE\n STRONG_NO_HIRE\n\n @@schema(\"public\")\n}\n\nenum InterviewPlatform {\n TREADSPACE\n ZOOM\n\n @@schema(\"public\")\n}\n\nenum AiAssistanceMode {\n NONE\n ASSISTED\n\n @@schema(\"public\")\n}\n\nmodel Interview {\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n candidate_id String\n interviewer_id String?\n evaluation_plan_id String\n application_id String?\n resume_id String\n job_description_id String\n calendar_event_id String?\n /// Data\n room_name String?\n interview_summary String[]\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n actual_start_time DateTime?\n actual_end_time DateTime?\n /// Interview length in minutes (source of truth; not derived from schedule window).\n duration Int?\n /// @deprecated Prefer `recording_document_id` + `Document` (type INTERVIEW_RECORDING).\n recording_url String?\n recording_document_id String? @unique\n evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)\n ai_assistance_mode AiAssistanceMode? @default(ASSISTED)\n interview_status InterviewStatus @default(SCHEDULED)\n interview_platform InterviewPlatform @default(TREADSPACE)\n /// Old Feedback fields will be deprecated soon\n ai_interview_feedback InterviewFeedback?\n interview_feedback InterviewFeedback?\n overall_feedback String?\n interview_rating Float? // Overall rating out of 100 based on evaluation\n /// New Feedback fields\n ai_feedback Json?\n human_feedback Json?\n interviewer_feedback Json?\n section_feedback Json[]\n interview_preparation Json?\n final_feedback Json?\n interview_analysis_ranges Json?\n interview_flow_summary String?\n /// When Orion AI feedback was last persisted on this interview.\n ai_feedback_generated_at DateTime?\n /// When recruiter human feedback was last saved (draft or final).\n human_feedback_updated_at DateTime?\n\n /// Self-scheduling\n reschedule_count Int @default(0)\n last_rescheduled_at DateTime?\n first_assigned_at DateTime?\n /// True while the candidate is waiting on recruiter action (typically a\n /// reassign) after they submitted alternate slots via \"None match\" /\n /// \"Suggest times\". Cleared whenever the recruiter routes a fresh\n /// request via `upsertInterviewRequestRecord`.\n awaiting_recruiter_action Boolean @default(false)\n\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n candidate User? @relation(\"CandidateInterviews\", fields: [candidate_id], references: [id], onDelete: SetNull)\n interviewer User? @relation(\"InterviewerInterviews\", fields: [interviewer_id], references: [id], onDelete: SetNull)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n ongoing_evaluation OngoingEvaluation?\n transcripts Transcript[]\n suggestions Suggestion[]\n feedback Feedback[]\n interviewNotes InterviewNotes[]\n liveAnalysis LiveAnalysis[]\n zoom_meeting ZoomMeeting?\n\n // Indexes\n @@unique([interviewer_id, candidate_id, evaluation_plan_id])\n @@index([candidate_id])\n @@index([interviewer_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nmodel InterviewNotes {\n id String @id @default(uuid())\n interview_id String\n note String\n details Json?\n timestamp DateTime @default(now())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nenum InterviewRecommendation {\n ACCEPTED\n REJECTED\n UNSURE\n\n @@schema(\"analytics\")\n}\n\nmodel InterviewRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n round_id String @unique\n interview_id String @unique\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n interviewer_id String?\n interviewer_employee_id String?\n interviewer_name String?\n\n candidate_name String?\n candidate_email String?\n\n evaluation_type EvaluationType?\n ai_assistance_mode AiAssistanceMode?\n interview_platform InterviewPlatform?\n interview_status InterviewStatus?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n evaluated_at DateTime?\n first_assigned_at DateTime?\n duration_minutes Int?\n\n human_rating String?\n ai_rating String?\n recommendation InterviewRecommendation?\n ai_disagrees_with_ai Boolean?\n\n difficulty_score Float?\n supportiveness_score Float?\n topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, evaluated_at])\n @@index([organisation_id, interviewer_id, evaluated_at])\n @@index([job_description_id])\n @@index([application_id])\n @@index([organisation_id, hiring_manager_id])\n @@map(\"interview_round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n round_id String\n interview_id String\n application_id String?\n candidate_id String\n job_description_id String\n evaluation_plan_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n department String?\n location String?\n\n round_name String?\n evaluation_category EvaluationCategory?\n round_type RoundType?\n round_format EvaluationRoundFormat?\n plan_order_no Int?\n plan_type EvaluationPlanType?\n is_custom Boolean @default(false)\n\n interviewer_id String?\n interviewer_employee_id String?\n interviewer_name String?\n\n candidate_name String?\n candidate_email String?\n\n evaluation_type EvaluationType?\n ai_assistance_mode AiAssistanceMode?\n interview_platform InterviewPlatform?\n interview_status InterviewStatus?\n\n scheduled_start_at DateTime?\n scheduled_end_at DateTime?\n actual_start_at DateTime?\n actual_end_at DateTime?\n evaluated_at DateTime?\n first_assigned_at DateTime?\n duration_minutes Int?\n\n human_rating String?\n ai_rating String?\n recommendation InterviewRecommendation?\n ai_disagrees_with_ai Boolean?\n\n difficulty_score Float?\n supportiveness_score Float?\n topics_coverage_percent Float?\n\n @@unique([snapshot_date, interview_id])\n @@index([snapshot_date], map: \"irad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"irad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, interviewer_id], map: \"irad_snapshot_org_interviewer_idx\")\n @@index([snapshot_date, job_description_id], map: \"irad_snapshot_job_idx\")\n @@index([snapshot_date, organisation_id, evaluated_at], map: \"irad_snapshot_org_evaluated_idx\")\n @@map(\"interview_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerOrganisationAnalytics {\n id String @id @default(uuid())\n organisation_id String\n user_id String\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, user_id])\n @@index([organisation_id])\n @@index([organisation_id, user_id])\n @@map(\"interviewer_organisation_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n user_id String\n job_description_id String\n\n hiring_manager_id String?\n department String?\n location String?\n role_title String?\n job_code String?\n opened_at DateTime?\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, user_id, job_description_id])\n @@index([organisation_id, job_description_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, department])\n @@index([organisation_id, location])\n @@index([organisation_id, user_id])\n @@map(\"interviewer_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerOrganisationAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n user_id String\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n @@unique([snapshot_date, organisation_id, user_id])\n @@index([snapshot_date], map: \"ioad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"ioad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, user_id], map: \"ioad_snapshot_org_user_idx\")\n @@map(\"interviewer_organisation_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel InterviewerJobAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n user_id String\n job_description_id String\n\n hiring_manager_id String?\n department String?\n location String?\n role_title String?\n job_code String?\n opened_at DateTime?\n\n name String?\n employee_id String?\n\n interview_count Int @default(0)\n accepted_count Int @default(0)\n rejected_count Int @default(0)\n unsure_count Int @default(0)\n ai_disagreement_count Int @default(0)\n ai_disagreement_percent Float?\n avg_difficulty Float?\n avg_supportiveness Float?\n avg_topics_coverage_percent Float?\n\n @@unique([snapshot_date, organisation_id, user_id, job_description_id])\n @@index([snapshot_date], map: \"ijad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id, job_description_id], map: \"ijad_snapshot_org_job_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"ijad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, department], map: \"ijad_snapshot_org_dept_idx\")\n @@index([snapshot_date, organisation_id, location], map: \"ijad_snapshot_org_loc_idx\")\n @@index([snapshot_date, organisation_id, user_id], map: \"ijad_snapshot_org_user_idx\")\n @@map(\"interviewer_job_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum JobApplicationFieldType {\n TEXT\n NUMBER\n DATE\n BOOLEAN\n MULTI_SELECT\n FILE\n DROP_DOWN\n\n @@schema(\"public\")\n}\n\nmodel JobApplicationField {\n /// Primary key (UUID)\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n template_id String\n /// Data fields\n field_type JobApplicationFieldType\n label String\n description String?\n is_mandatory Boolean @default(false)\n is_draft Boolean @default(true)\n options String[]\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_template JobApplicationTemplate @relation(fields: [template_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_application_responses JobApplicationResponse[]\n\n /// Indexes\n @@index([organisation_id, template_id])\n @@schema(\"public\")\n}\n\nmodel JobApplicationResponse {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n application_id String\n job_application_field_id String?\n document_id String?\n /// Answer payload\n response Json?\n /// Denormalized question snapshot (immutable on candidate save)\n field_type JobApplicationFieldType?\n label String?\n description String?\n is_mandatory Boolean?\n is_draft Boolean?\n is_submitted Boolean @default(false)\n options String[]\n updated_by_organisation Boolean @default(false)\n /// Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n /// Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n field JobApplicationField? @relation(fields: [job_application_field_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n document Document? @relation(fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n /// Partial unique on (application_id, job_application_field_id) WHERE job_application_field_id IS NOT NULL — see migration SQL\n @@index([application_id])\n @@index([job_application_field_id])\n @@schema(\"public\")\n}\n\nenum JobApplicationTemplateScope {\n ORGANIZATION\n JOB\n\n @@schema(\"public\")\n}\n\nmodel JobApplicationTemplate {\n /// Primary key\n id String @id @default(uuid())\n /// Foreign keys\n organisation_id String\n job_description_id String? @unique\n /// Data fields\n name String\n description String?\n scope JobApplicationTemplateScope @default(ORGANIZATION)\n /// Audit fields\n is_active Boolean @default(true)\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n fields JobApplicationField[]\n\n /// Indexes\n @@index([organisation_id, scope])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nenum JobDescriptionStatus {\n CREATED\n DRAFT\n ACTIVE\n DEACTIVATED\n CLOSED\n\n @@schema(\"public\")\n}\n\nmodel JobDescription {\n id String @id @default(uuid())\n organisation_id String\n hiring_manager_id String?\n status JobDescriptionStatus @default(DRAFT)\n screeningQuestions String[]\n recommendedQuestions Json[]\n /// @deprecated Prefer `source_document_id` + `Document` (type JOB_DESCRIPTION).\n uploaded_job_description_path String?\n source_document_id String? @unique\n rendered_jd_document_id String? @unique\n rendered_jd_document Document? @relation(\"RenderedJdDocument\", fields: [rendered_jd_document_id], references: [id], onDelete: SetNull)\n is_plan_published Boolean @default(false)\n is_posted Boolean @default(false)\n summary Json?\n ai_insight Json?\n job_fit_comparison Json?\n target_closing_date DateTime?\n closing_date DateTime?\n\n job_number Int?\n job_code String? @unique\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n openings Int @default(1)\n job_profile_id String?\n job_profile JobProfile? @relation(fields: [job_profile_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n source_document Document? @relation(\"SourceDocument\", fields: [source_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n job_description_data JobDescriptionData[] // one-to-many link\n evaluationPlan EvaluationPlan[] // relation to evaluation methods\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n assignment_library AssignmentLibrary[]\n approvals Approval[] // one-to-many relation\n resumes Resume[] // one-to-many link\n budget Budget?\n hiring_manager User? @relation(\"HiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n recruiters User[]\n transcripts Transcript[]\n integration_job_syncs IntegrationJobSync[]\n job_application_template JobApplicationTemplate?\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([job_profile_id])\n @@schema(\"public\")\n}\n\nmodel JobDescriptionData {\n id String @id @default(uuid())\n job_description_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n jobDescription JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([job_description_id, key])\n @@schema(\"public\")\n}\n\nenum JobProfileStatus {\n DRAFT\n INTAKE_SENT\n INTAKE_IN_PROGRESS\n COMPLETE\n\n @@schema(\"public\")\n}\n\nmodel JobProfile {\n id String @id @default(uuid())\n organisation_id String\n hiring_manager_id String?\n created_by String\n assigned_to String?\n status JobProfileStatus @default(DRAFT)\n\n // Basics\n title String?\n role_type String? // new / replacement / backfill\n work_arrangement String? // onsite / hybrid / remote\n employment_type String? // full_time / part_time / contract / internship\n location String?\n experience String?\n experience_min String?\n comp_range String?\n budget String?\n\n // Requirements (structured from AI conversation)\n responsibilities Json?\n must_have_skills Json?\n nice_to_have_skills Json?\n culture Json?\n\n // Competencies\n competencies Json?\n\n // Conversation state\n conversation_history Json?\n orion_execution_id String?\n\n // Audit\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n // Relations\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n hiring_manager User? @relation(\"JobProfileHiringManager\", fields: [hiring_manager_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n creator User @relation(\"ProfileCreator\", fields: [created_by], references: [id], onDelete: Restrict, onUpdate: Cascade)\n assignee User? @relation(\"ProfileAssignee\", fields: [assigned_to], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_descriptions JobDescription[]\n\n @@index([organisation_id])\n @@index([hiring_manager_id])\n @@index([assigned_to])\n @@index([created_by])\n @@schema(\"public\")\n}\n\nmodel JobRoundAnalytics {\n id String @id @default(uuid())\n\n organisation_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_name String\n\n evaluation_category EvaluationCategory?\n\n job_code String?\n\n role_title String?\n\n hiring_manager_id String?\n\n plan_order_no Int?\n\n plan_type EvaluationPlanType?\n\n is_custom Boolean @default(false)\n\n assigned_count Int @default(0)\n\n completed_count Int @default(0)\n\n passed_count Int @default(0)\n\n failed_count Int @default(0)\n\n withdrawn_count Int @default(0)\n\n no_show_count Int @default(0)\n\n total_completion_minutes BigInt @default(0)\n\n avg_completion_minutes Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([job_description_id, evaluation_plan_id])\n @@index([organisation_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([job_description_id])\n @@schema(\"analytics\")\n}\n\nmodel JobRoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n organisation_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_name String\n\n evaluation_category EvaluationCategory?\n\n job_code String?\n\n role_title String?\n\n hiring_manager_id String?\n\n plan_order_no Int?\n\n plan_type EvaluationPlanType?\n\n is_custom Boolean @default(false)\n\n assigned_count Int @default(0)\n\n completed_count Int @default(0)\n\n passed_count Int @default(0)\n\n failed_count Int @default(0)\n\n withdrawn_count Int @default(0)\n\n no_show_count Int @default(0)\n\n total_completion_minutes BigInt @default(0)\n\n avg_completion_minutes Float?\n\n @@unique([snapshot_date, job_description_id, evaluation_plan_id])\n @@index([snapshot_date], map: \"jrad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"jrad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"jrad_snapshot_org_hm_idx\")\n @@index([snapshot_date, job_description_id], map: \"jrad_snapshot_job_idx\")\n @@map(\"job_round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel LiveAnalysis {\n id String @id @default(uuid())\n //foreign keys\n interview_id String\n //data\n analysis Json\n //audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n //relations\n interview Interview @relation(fields: [interview_id], references: [id])\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nmodel Message {\n id String @id @default(uuid())\n sender_id String\n receiver_id String\n message String\n\n sender User @relation(\"Sent Messages\", fields: [sender_id], references: [id])\n receiver User @relation(\"Received Messages\", fields: [receiver_id], references: [id])\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n @@schema(\"public\")\n}\n\nmodel Notes {\n id String @id @default(uuid())\n application_id String\n user_id String\n note String\n pinned Boolean @default(false)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([application_id, created_at])\n @@index([user_id, created_at])\n @@schema(\"public\")\n}\n\nenum OngoingEvaluationState {\n NOT_STARTED\n IN_PROGRESS\n CLEARED\n SKIPPED\n NOT_CLEARED\n\n @@schema(\"public\")\n}\n\nenum OngoingEvaluationRoundStatus {\n NOT_SCHEDULED\n REQUESTED_SCHEDULING\n SCHEDULED\n IN_PROGRESS\n PENDING_EVALUATION\n EVALUATED\n\n @@schema(\"public\")\n}\n\nmodel OngoingEvaluation {\n // Primary Key\n id String @id @default(uuid())\n // Foreign Keys \n organisation_id String\n application_id String\n candidate_id String\n resume_id String\n job_description_id String\n evaluation_plan_id String\n interview_id String? @unique\n assignment_id String? @unique\n assessment_id String? @unique\n // Data Fields\n state OngoingEvaluationState? @default(NOT_STARTED)\n round_status OngoingEvaluationRoundStatus? @default(NOT_SCHEDULED)\n comments String? @default(\"\")\n completed_at DateTime?\n is_committed Boolean?\n /// Evaluation Plan Fields Filled After Round Started\n title String?\n description String?\n order_no Int?\n format EvaluationRoundFormat?\n round_purpose String?\n topics String[]\n assignee String?\n elimination_round Boolean? @default(false)\n evaluation_type EvaluationType?\n type_of_round RoundType?\n duration Int?\n deadline Int?\n duration_unit DurationUnit?\n details Json?\n category EvaluationCategory?\n // Audit Fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_current Boolean @default(false)\n // Relations\n jobDescription JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull)\n application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n assignment Assignment?\n assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)\n\n @@unique([application_id, evaluation_plan_id])\n @@index([application_id])\n @@index([evaluation_plan_id])\n @@schema(\"public\")\n}\n\nmodel OpenJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n role_title String?\n department String?\n hiring_manager_id String?\n hiring_manager_name String?\n location String?\n compensation String?\n vacancies Int @default(1)\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n application_count Int @default(0)\n in_consideration_count Int @default(0)\n shortlisted_count Int @default(0)\n filtered_count Int @default(0)\n in_evaluation_count Int @default(0)\n offered_count Int @default(0)\n hired_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id, is_open])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, opened_at])\n @@index([organisation_id, job_number])\n @@index([organisation_id, is_open, closure_type, closing_date])\n @@index([job_description_id])\n @@map(\"open_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel OpenJobAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n\n job_code String?\n job_number Int?\n role_title String?\n department String?\n hiring_manager_id String?\n hiring_manager_name String?\n location String?\n compensation String?\n vacancies Int @default(1)\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n application_count Int @default(0)\n in_consideration_count Int @default(0)\n shortlisted_count Int @default(0)\n filtered_count Int @default(0)\n in_evaluation_count Int @default(0)\n offered_count Int @default(0)\n hired_count Int @default(0)\n\n @@unique([snapshot_date, job_description_id])\n @@index([snapshot_date], map: \"ojad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id, is_open], map: \"ojad_snapshot_org_open_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"ojad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, opened_at], map: \"ojad_snapshot_org_opened_idx\")\n @@index([snapshot_date, organisation_id, job_number], map: \"ojad_snapshot_org_job_num_idx\")\n @@index([snapshot_date, job_description_id], map: \"ojad_snapshot_job_idx\")\n @@map(\"open_job_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum OrganisationSize {\n ONE_TO_TEN @map(\"1-10\")\n ELEVEN_TO_FIFTY @map(\"11-50\")\n FIFTY_ONE_TO_TWO_HUNDRED @map(\"51-200\")\n TWO_HUNDRED_ONE_TO_FIVE_HUNDRED @map(\"201-500\")\n FIVE_HUNDRED_PLUS @map(\"500+\")\n\n @@schema(\"public\")\n}\n\nmodel Organisation {\n id String @id @default(uuid())\n name String @unique\n industry String\n about String\n website String\n size OrganisationSize @default(ONE_TO_TEN)\n phone String\n address String\n company_values Json[]\n allowed_email_domains String[]\n\n interviewers User[]\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n alias String? @unique\n logo String?\n job_sequence Int @default(1)\n employee_sequence Int @default(1)\n applications Application[]\n user_roles UserRole[]\n job_descriptions JobDescription[]\n job_profiles JobProfile[]\n assessment_library AssessmentLibrary[]\n assignment_library AssignmentLibrary[]\n interviews Interview[]\n assignments Assignment[]\n fit_check FitCheck[] // one-to-many link\n resumes Resume[] // one-to-many link\n approvals Approval[] // one-to-many link\n suggestions Suggestion[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actions Action[]\n integration_credentials IntegrationCredential[]\n zoho_sync_mappings ZohoSyncMapping[]\n assessments Assessment[]\n timezone String @default(\"Asia/Kolkata\")\n organisation_configs OrganisationConfig[]\n activity_events ActivityEvent[]\n\n channel_provider_configs ChannelProviderConfig[]\n conversations Conversation[]\n communication_messages CommunicationMessage[]\n job_application_fields JobApplicationField[]\n documents Document[]\n job_application_templates JobApplicationTemplate[]\n sources Source[]\n // departments Department[]\n\n @@index([name])\n @@schema(\"public\")\n}\n\nmodel OrganisationConfig {\n id String @id @default(uuid())\n organisation_id String\n config_key String\n value Json\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@unique([organisation_id, config_key])\n @@map(\"organisationConfig\")\n @@schema(\"public\")\n}\n\nmodel Permission {\n id String @id @default(uuid())\n permissions String[] @default([])\n created_by String?\n updated_by String?\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n is_active Boolean @default(true)\n user User?\n user_roles UserRole?\n\n @@index([created_at])\n @@schema(\"public\")\n}\n\nmodel PipelineDistributionAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n application_count Int @default(0)\n filtered_in_count Int @default(0)\n min_fit_score Float?\n\n experience_screening_count Int @default(0)\n technical_screening_count Int @default(0)\n technical_interview_count Int @default(0)\n business_round_count Int @default(0)\n behavioral_round_count Int @default(0)\n\n shortlisted_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([organisation_id, job_number])\n @@index([job_description_id])\n @@map(\"pipeline_distribution_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel PipelineDistributionAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n application_count Int @default(0)\n filtered_in_count Int @default(0)\n min_fit_score Float?\n\n experience_screening_count Int @default(0)\n technical_screening_count Int @default(0)\n technical_interview_count Int @default(0)\n business_round_count Int @default(0)\n behavioral_round_count Int @default(0)\n\n shortlisted_count Int @default(0)\n\n @@unique([snapshot_date, job_description_id])\n @@index([snapshot_date], map: \"pdad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"pdad_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"pdad_snapshot_org_hm_idx\")\n @@index([snapshot_date, organisation_id, job_number], map: \"pdad_snapshot_org_job_num_idx\")\n @@index([snapshot_date, job_description_id], map: \"pdad_snapshot_job_idx\")\n @@map(\"pipeline_distribution_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nenum AsyncOperationStatus {\n PENDING\n IN_PROGRESS\n SUCCESS\n FAILED\n RETRYING\n CANCELLED\n\n @@schema(\"public\")\n}\n\nmodel AsyncOperation {\n id String @id @default(uuid())\n // Identification\n operation_name String\n // Status tracking\n status AsyncOperationStatus @default(PENDING)\n started_at DateTime?\n completed_at DateTime?\n // Execution metadata\n payload Json?\n metadata Json?\n // Tracing\n correlationId String?\n sourceService String?\n // Retry information\n retry_count Int @default(0)\n max_retries Int @default(0)\n next_retry_at DateTime?\n // Error information\n error_message String?\n error_details String?\n // Audit fields\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n\n @@index([status])\n @@index([operation_name])\n @@index([correlationId])\n @@schema(\"public\")\n}\n\nenum Difficulty {\n EASY // simple/basic questions\n MEDIUM // moderate difficulty\n HARD // challenging questions\n\n @@schema(\"public\")\n}\n\nmodel Question {\n id String @id @default(uuid())\n assessment_library_id String?\n evaluation_plan_id String?\n candidate_id String?\n skill String?\n question String\n answer String\n options String[] // For MCQ's\n max_score Float?\n difficulty Difficulty?\n created_by String\n updated_by String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n is_active Boolean @default(true)\n candidate User? @relation(fields: [candidate_id], references: [id], onDelete: SetNull)\n assessments AssessmentQuestion[] @relation(\"QuestionToAssessmentQuestion\")\n assessmentLibrary AssessmentLibrary? @relation(fields: [assessment_library_id], references: [id], onDelete: Cascade)\n evaluationPlan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull)\n candidateResponse CandidateQuestionResponse[]\n\n @@schema(\"public\")\n}\n\nmodel RefreshToken {\n id String @id @default(uuid())\n user_id String\n token String @unique\n is_active Boolean @default(true)\n expires_at DateTime\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n user User @relation(\"TokenRefresh\", fields: [user_id], references: [id], onDelete: Cascade)\n\n @@schema(\"public\")\n}\n\nenum OpenJobClosureType {\n FILLED\n CANCELLED\n\n @@schema(\"analytics\")\n}\n\nmodel ReportingOverviewJobAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String @unique\n\n job_code String?\n job_number Int?\n hiring_manager_id String?\n\n opened_at DateTime\n target_closing_date DateTime?\n closing_date DateTime?\n is_open Boolean @default(true)\n\n closure_type OpenJobClosureType?\n time_to_hire_days Int?\n\n in_consideration_count Int @default(0)\n\n updated_at DateTime @updatedAt\n\n recruiters ReportingOverviewJobRecruiter[]\n\n @@index([organisation_id, is_open])\n @@index([organisation_id, hiring_manager_id, is_open])\n @@index([organisation_id, closing_date, closure_type])\n @@map(\"reporting_overview_job_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel ReportingOverviewJobRecruiter {\n id String @id @default(uuid())\n job_description_id String\n recruiter_user_id String\n\n job ReportingOverviewJobAnalytics @relation(fields: [job_description_id], references: [job_description_id], onDelete: Cascade)\n\n @@unique([job_description_id, recruiter_user_id])\n @@index([recruiter_user_id])\n @@map(\"reporting_overview_job_recruiters\")\n @@schema(\"analytics\")\n}\n\nmodel Resume {\n id String @id @default(uuid())\n user_id String?\n organisation_id String?\n job_description_id String?\n /// @deprecated Prefer `document_id` + `Document`. Kept until backfill completes.\n uploaded_resume_path String?\n document_id String? @unique\n /// Latest ATS template export (PDF). Null until first successful export.\n rendered_export_document_id String? @unique\n /// Last chosen ATS layout template id (e.g. ats-classic). Set on first export.\n resume_template_id String?\n /// @deprecated Prefer `Document.file_hash`. Kept for legacy read fallback.\n file_hash String?\n summary Json?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n name String?\n user User? @relation(fields: [user_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n document Document? @relation(\"ResumeSourceDocument\", fields: [document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n rendered_export_document Document? @relation(\"RenderedResumeExport\", fields: [rendered_export_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n interviews Interview[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n\n resume_data ResumeData[] // one-to-many link\n fit_check FitCheck[] // one-to-many link\n // inverse side of the relation — no foreign key here\n candidate_profile CandidateProfile? // one-to-one link\n yearsOfExperience Int?\n\n @@index([user_id])\n @@index([file_hash])\n @@schema(\"public\")\n}\n\nmodel ResumeData {\n id String @id @default(uuid())\n resume_id String\n key String\n value String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n @@index([created_at])\n @@schema(\"public\")\n}\n\nenum RoundResult {\n PASSED\n FAILED\n\n @@schema(\"analytics\")\n}\n\nmodel RoundAnalytics {\n id String @id @default(uuid())\n\n // Core Dimensions\n organisation_id String\n\n application_id String\n\n candidate_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_id String @unique\n\n // Round Information\n round_name String?\n\n evaluation_category EvaluationCategory?\n\n round_type RoundType?\n\n // Lifecycle Timestamps\n assigned_at DateTime?\n\n scheduled_at DateTime?\n\n started_at DateTime?\n\n completed_at DateTime?\n\n evaluated_at DateTime?\n\n round_completed_at DateTime?\n round_created_at DateTime?\n\n // Decision\n round_result RoundResult?\n\n round_result_at DateTime?\n\n // Derived Metrics\n scheduling_duration_minutes Int?\n\n round_duration_minutes Int?\n\n feedback_duration_minutes Int?\n\n decision_duration_minutes Int?\n\n total_round_duration_minutes Int?\n\n is_custom Boolean @default(false)\n\n // Audit\n created_at DateTime @default(now())\n\n updated_at DateTime @updatedAt\n\n @@index([organisation_id])\n @@index([job_description_id])\n @@index([application_id])\n @@index([candidate_id])\n @@index([evaluation_category])\n @@index([round_result])\n @@map(\"round_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel RoundAnalyticsDaily {\n id String @id @default(uuid())\n\n snapshot_date DateTime @db.Date\n\n // Core Dimensions\n organisation_id String\n\n application_id String\n\n candidate_id String\n\n job_description_id String\n\n evaluation_plan_id String\n\n round_id String\n\n // Round Information\n round_name String?\n\n evaluation_category EvaluationCategory?\n\n round_type RoundType?\n\n // Lifecycle Timestamps\n assigned_at DateTime?\n\n scheduled_at DateTime?\n\n started_at DateTime?\n\n completed_at DateTime?\n\n evaluated_at DateTime?\n\n round_completed_at DateTime?\n round_created_at DateTime?\n\n // Decision\n round_result RoundResult?\n\n round_result_at DateTime?\n\n // Derived Metrics\n scheduling_duration_minutes Int?\n\n round_duration_minutes Int?\n\n feedback_duration_minutes Int?\n\n decision_duration_minutes Int?\n\n total_round_duration_minutes Int?\n\n is_custom Boolean @default(false)\n\n @@unique([snapshot_date, round_id])\n @@index([snapshot_date], map: \"rad_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"rad_snapshot_org_idx\")\n @@index([snapshot_date, job_description_id], map: \"rad_snapshot_job_idx\")\n @@index([snapshot_date, application_id], map: \"rad_snapshot_app_idx\")\n @@index([snapshot_date, candidate_id], map: \"rad_snapshot_candidate_idx\")\n @@index([snapshot_date, evaluation_category], map: \"rad_snapshot_eval_cat_idx\")\n @@index([snapshot_date, round_result], map: \"rad_snapshot_round_result_idx\")\n @@map(\"round_analytics_daily\")\n @@schema(\"analytics\")\n}\n\n// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../../client\"\n binaryTargets = [\"native\", \"linux-arm64-openssl-1.1.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n\n schemas = [\"public\", \"analytics\"]\n}\n\nenum SourceCategory {\n JOB_BOARD\n REFERRAL\n AGENCY\n SOCIAL_MEDIA\n CAREERS_PAGE\n EVENT\n OTHER\n\n @@schema(\"public\")\n}\n\nmodel Source {\n id String @id @default(uuid())\n organisation_id String\n name String\n category SourceCategory?\n parent_source_id String?\n colour String?\n description String?\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n parent Source? @relation(\"SourceHierarchy\", fields: [parent_source_id], references: [id], onDelete: SetNull)\n children Source[] @relation(\"SourceHierarchy\")\n applications Application[]\n\n @@unique([organisation_id, name])\n @@index([organisation_id])\n @@index([organisation_id, category])\n @@index([organisation_id, is_active])\n @@index([parent_source_id])\n @@schema(\"public\")\n}\n\nmodel SourceEffectivenessAnalytics {\n id String @id @default(uuid())\n organisation_id String\n job_description_id String\n source_id String\n\n source_name String\n source_category SourceCategory?\n source_colour String?\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n applications_count Int @default(0)\n screened_count Int @default(0)\n evaluated_count Int @default(0)\n rejected_count Int @default(0)\n shortlisted_count Int @default(0)\n offered_count Int @default(0)\n offer_accepted_count Int @default(0)\n offer_declined_count Int @default(0)\n withdrawn_count Int @default(0)\n hired_count Int @default(0)\n\n total_fit_score Float @default(0)\n fit_score_sample_count Int @default(0)\n average_fit_score Float?\n\n updated_at DateTime @updatedAt\n\n @@unique([organisation_id, job_description_id, source_id])\n @@index([organisation_id])\n @@index([organisation_id, source_id])\n @@index([organisation_id, hiring_manager_id])\n @@index([job_description_id])\n @@map(\"source_effectiveness_analytics\")\n @@schema(\"analytics\")\n}\n\nmodel SourceEffectivenessAnalyticsDaily {\n id String @id @default(uuid())\n snapshot_date DateTime @db.Date\n organisation_id String\n job_description_id String\n source_id String\n\n source_name String\n source_category SourceCategory?\n source_colour String?\n job_code String?\n job_number Int?\n role_title String?\n hiring_manager_id String?\n\n applications_count Int @default(0)\n screened_count Int @default(0)\n evaluated_count Int @default(0)\n rejected_count Int @default(0)\n shortlisted_count Int @default(0)\n offered_count Int @default(0)\n offer_accepted_count Int @default(0)\n offer_declined_count Int @default(0)\n withdrawn_count Int @default(0)\n hired_count Int @default(0)\n\n total_fit_score Float @default(0)\n fit_score_sample_count Int @default(0)\n average_fit_score Float?\n\n @@unique([snapshot_date, organisation_id, job_description_id, source_id])\n @@index([snapshot_date], map: \"sead_snapshot_date_idx\")\n @@index([snapshot_date, organisation_id], map: \"sead_snapshot_org_idx\")\n @@index([snapshot_date, organisation_id, source_id], map: \"sead_snapshot_org_source_idx\")\n @@index([snapshot_date, organisation_id, hiring_manager_id], map: \"sead_snapshot_org_hm_idx\")\n @@index([snapshot_date, job_description_id], map: \"sead_snapshot_job_idx\")\n @@map(\"source_effectiveness_analytics_daily\")\n @@schema(\"analytics\")\n}\n\nmodel Suggestion {\n id String @id @default(uuid())\n interview_id String?\n transcript_id String? @unique // ✅ ensures one-to-one\n organisation_id String\n suggestion String?\n question String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull)\n transcripts Transcript[]\n organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade)\n\n @@index([interview_id])\n @@schema(\"public\")\n}\n\nmodel Transcript {\n id String @id @default(uuid())\n interview_id String?\n suggestion_id String?\n intermediate_feedback_id String?\n job_description_id String?\n interviewer_timestamp DateTime?\n candidate_timestamp DateTime?\n interviewer String\n candidate String\n order_no Int @default(autoincrement())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n // Relations\n interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: SetNull)\n suggestion Suggestion? @relation(fields: [suggestion_id], references: [id], onDelete: SetNull)\n job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n\n @@unique([interview_id, order_no])\n @@index([interview_id])\n @@index([job_description_id])\n @@schema(\"public\")\n}\n\nenum FirstLoginStatus {\n PENDING\n COMPLETED\n\n @@schema(\"public\")\n}\n\nenum UserInvitationStatus {\n INVITED\n ACCEPTED\n EXPIRED\n\n @@schema(\"public\")\n}\n\nmodel User {\n id String @id @default(uuid())\n email String @unique\n password String\n role_id String\n role UserRole @relation(fields: [role_id], references: [id], onDelete: Restrict, onUpdate: Cascade)\n organisation_id String?\n // Back-relations are defined from Resume side via user_id\n google_id String? @unique\n refresh_token String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n is_active Boolean @default(true)\n is_self_registered Boolean @default(true)\n permission_id String? @unique\n preferences Json? @default(\"{}\")\n invitation_status UserInvitationStatus @default(INVITED)\n invited_at DateTime? @default(now())\n invitation_expires_at DateTime?\n invitation_accepted_at DateTime?\n permission Permission? @relation(fields: [permission_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)\n applications Application[]\n resume Resume[]\n candidate_profile CandidateProfile?\n user_profile UserProfile?\n job_description JobDescription[]\n hiring_manager_job_descriptions JobDescription[] @relation(\"HiringManager\")\n hiring_manager_job_profiles JobProfile[] @relation(\"JobProfileHiringManager\")\n approvals Approval[]\n sent_messages Message[] @relation(\"Sent Messages\")\n received_messages Message[] @relation(\"Received Messages\")\n profile_created Boolean\n first_login_status FirstLoginStatus @default(PENDING)\n // Back-relations for interviews (optional but recommended for clarity)\n candidate_interviews Interview[] @relation(\"CandidateInterviews\")\n interviewer_interviews Interview[] @relation(\"InterviewerInterviews\")\n assessment_results Assessment[]\n candidate_assessments Assessment[] @relation(\"CandidateAssessments\")\n reviewer_assessments Assessment[] @relation(\"ReviewerAssessments\")\n candidate_assignments Assignment[] @relation(\"CandidateAssignments\")\n reviewer_assignments Assignment[] @relation(\"AssignmentReviewer\")\n candidateResponses CandidateQuestionResponse[]\n questions Question[]\n ongoing_evaluations OngoingEvaluation[] // optional one-to-many\n actor_activity_logs ActivityLog[] @relation(\"ActorActivityLogs\")\n actions Action[]\n calendly Calendly?\n google Google?\n fitChecks FitCheck[]\n created_job_profiles JobProfile[] @relation(\"ProfileCreator\")\n assigned_job_profiles JobProfile[] @relation(\"ProfileAssignee\")\n user_auth_modules AuthModule[] @relation(\"UserAuthModule\")\n refresh_token_auth RefreshToken[] @relation(\"TokenRefresh\")\n zoom_meeting_participants ZoomMeetingParticipant[]\n notes Notes[]\n recruiter_applications Application[] @relation(\"ApplicationRecruiter\")\n\n name String?\n phone String?\n description String?\n date_of_birth DateTime?\n designation String?\n location String?\n salary String?\n work_experience Json?\n education Json?\n skills Json?\n notice_period String?\n preferred_work_mode String?\n gender String?\n ethnicity String?\n veteran_status String?\n disability_status String?\n professional_expertise String?\n documents Document[]\n\n employee_number Int?\n employee_code String? @unique\n\n @@index([role_id])\n @@index([permission_id])\n @@index([organisation_id])\n @@index([organisation_id, employee_number])\n @@schema(\"public\")\n}\n\nmodel UserProfile {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n name String\n phone String\n description String\n date_of_birth String\n designation String\n is_active Boolean @default(true)\n user User? @relation(fields: [user_id], references: [id])\n user_id String? @unique\n\n work_experience Json?\n\n @@schema(\"public\")\n}\n\n/// Expected attendee slot when persisting interview-linked Zoom participants (`CANDIDATE` | `INTERVIEWER`).\nenum ZoomMeetingParticipantRole {\n CANDIDATE\n INTERVIEWER\n\n @@schema(\"public\")\n}\n\n/// Zoom meeting linked 1:1 to an interview; Zoom REST host is `zoom_host_user_id`.\nmodel ZoomMeeting {\n id String @id @default(uuid())\n /// One Zoom row per interview.\n interview_id String @unique\n interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n\n /// Treadspace user id whose Zoom User-OAuth token created this meeting; required for PATCH/DELETE on Zoom REST.\n /// Set from the Zoom host `userId` in `ZoomMeetingDAO.upsertZoomParticipants` (same user as `POST /users/me/meetings`).\n zoom_host_user_id String\n\n /// Zoom REST/API meeting id (same value used as Meeting SDK `meetingNumber` / JWT `mn`).\n zoom_meeting_id String\n /// Zoom meeting **instance** UUID from REST create (`uuid`) and RTMS/webhooks (`meeting_uuid`).\n zoom_meeting_uuid String?\n join_url String\n start_url String?\n password String?\n topic String?\n\n scheduled_start_time DateTime?\n scheduled_end_time DateTime?\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n /// Audit; kept aligned with `zoom_host_user_id` when the meeting is recreated under a new host.\n created_by String\n updated_by String\n\n participants ZoomMeetingParticipant[]\n\n @@index([interview_id])\n @@index([zoom_meeting_id])\n @@index([zoom_meeting_uuid])\n @@schema(\"public\")\n}\n\n/// Expected participants for a `ZoomMeeting`: links to `User` (candidate / interviewer). Replaced on each meeting upsert.\nmodel ZoomMeetingParticipant {\n id String @id @default(uuid())\n zoom_meeting_row_id String\n zoom_meeting ZoomMeeting @relation(fields: [zoom_meeting_row_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n user_id String\n user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)\n /// Zoom account id (`AuthModule.provider_account_id`) when this `user_id` has linked Zoom; usually set for interviewer, often null for candidate.\n zoom_participant_id String?\n role ZoomMeetingParticipantRole\n\n is_active Boolean @default(true)\n\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n created_by String\n updated_by String\n\n @@index([zoom_meeting_row_id])\n @@index([user_id])\n @@index([zoom_participant_id])\n @@schema(\"public\")\n}\n\n/// Ledger of processed Zoom webhook deliveries: one row per `dedupe_key` (request id or body hash).\n/// Stops double-handling when Zoom retries the same notification (e.g. RTMS, `meeting.started`).\nmodel ZoomWebhookEvent {\n id String @id @default(uuid())\n /// Stable key: SHA-256 of raw request body, or `x-zm-trackingid` when present.\n dedupe_key String @unique\n event String\n created_at DateTime @default(now())\n\n @@index([event])\n @@index([created_at])\n @@schema(\"public\")\n}\n",
2364
+ "inlineSchemaHash": "5d43cefbafe8a1484665f08c9549f4f7cc2ba1c33173bfca079f7fa50b6a8704",
1501
2365
  "copyEngine": true
1502
2366
  }
1503
2367
  config.dirname = '/'
1504
2368
 
1505
- config.runtimeDataModel = JSON.parse("{\"models\":{\"CandidateQuestionResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"CandidateQuestionResponseToQuestion\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateQuestionResponseToUser\"}],\"dbName\":null},\"UserRole\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUserRole\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Action\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action_type\",\"kind\":\"enum\",\"type\":\"ActionType\"},{\"name\":\"action_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"due_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ActionStatus\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"ActivityLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityActorType\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"actor\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ActivityLogToApplication\"}],\"dbName\":null},\"Application\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_jaf_completed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"on_notice_period\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expected_joining_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"current_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expected_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"preferred_location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluationComment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"ApplicationToFitCheck\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActivityLogToApplication\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Approval\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisaton_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApprovalToOrganisation\"}],\"dbName\":null},\"Assessment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"User\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoingEvaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"AssessmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"time_required\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passing_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"evaluation_Plans\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"}],\"dbName\":null},\"AssessmentQuestion\":{\"fields\":[{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Assignment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoing_evaluation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"overallScore\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentToAssignmentLibrary\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"solution_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"zip_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"AssignmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assignment\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToAssignmentLibrary\"}],\"dbName\":null},\"AuthModule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"AuthProvider\"},{\"name\":\"provider_account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserAuthModule\"}],\"dbName\":null},\"Budget\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_type\",\"kind\":\"enum\",\"type\":\"JobType\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shift\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"budget_per_job\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"domain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"jd_creation_type\",\"kind\":\"enum\",\"type\":\"JDCreationType\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Calendly\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"calendly_user_uri\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"CandidateProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"ChannelProviderConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"credentials\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"Conversation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contact_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_thread_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unread_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_message_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CommunicationMessage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommMessageStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"from_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"to_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_message_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attachments\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"error\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sent_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"delivered_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"CommunicationMessageToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ContactUs\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Document\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"original_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stored_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_extension\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_bucket\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mime_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_size\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DocumentToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"DocumentToResume\"},{\"name\":\"resume_rendered_export\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"RenderedResumeExportDocument\"},{\"name\":\"job_description_source\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"SourceDocument\"},{\"name\":\"job_description_rendered\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"interview_recording\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"DocumentToJobApplicationResponse\"},{\"name\":\"assignment_solution\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"assignment_zip\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"EvaluationPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"timeline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"share_scope\",\"kind\":\"enum\",\"type\":\"EvaluationPlanShareScope\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"}],\"dbName\":null},\"Feedback\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"FeedbackToInterview\"}],\"dbName\":null},\"FitCheck\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skills_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"experience_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"skills_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"overall_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"short_match_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"recommendation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"candidate_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"technical_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competency_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToFitCheck\"}],\"dbName\":null},\"Google\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GoogleToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"IntegrationCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"auth_type\",\"kind\":\"enum\",\"type\":\"IntegrationAuthType\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"api_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"api_secret\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"IntegrationJobSync\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sync_enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_direction\",\"kind\":\"enum\",\"type\":\"SyncDirection\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ZohoSyncMapping\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"SyncEntityType\"},{\"name\":\"treadspace_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_module\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_record_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_status\",\"kind\":\"enum\",\"type\":\"SyncStatus\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Interview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"calendar_event_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"room_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recording_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recording_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"ai_interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"overall_feedback\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_rating\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interviewer_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"section_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_preparation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"final_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_analysis_ranges\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_flow_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_feedback_generated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"human_feedback_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reschedule_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_rescheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"awaiting_recruiter_action\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"recording_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"InterviewToResume\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"feedback\",\"kind\":\"object\",\"type\":\"Feedback\",\"relationName\":\"FeedbackToInterview\"},{\"name\":\"interviewNotes\",\"kind\":\"object\",\"type\":\"InterviewNotes\",\"relationName\":\"InterviewToInterviewNotes\"},{\"name\":\"liveAnalysis\",\"kind\":\"object\",\"type\":\"LiveAnalysis\",\"relationName\":\"InterviewToLiveAnalysis\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"InterviewToZoomMeeting\"}],\"dbName\":null},\"InterviewNotes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToInterviewNotes\"}],\"dbName\":null},\"JobApplicationField\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_application_field_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_submitted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by_organisation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"field\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationTemplate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"enum\",\"type\":\"JobApplicationTemplateScope\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"}],\"dbName\":null},\"JobDescription\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobDescriptionStatus\"},{\"name\":\"screeningQuestions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendedQuestions\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"uploaded_job_description_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"is_plan_published\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_posted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"ai_insight\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_profile_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_profile\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobDescriptionToJobProfile\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"source_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"SourceDocument\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"job_description_data\",\"kind\":\"object\",\"type\":\"JobDescriptionData\",\"relationName\":\"JobDescriptionToJobDescriptionData\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"budget\",\"kind\":\"object\",\"type\":\"Budget\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"HiringManager\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"JobDescriptionToTranscript\"},{\"name\":\"integration_job_syncs\",\"kind\":\"object\",\"type\":\"IntegrationJobSync\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToJobDescription\"}],\"dbName\":null},\"JobDescriptionData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobDescriptionData\"}],\"dbName\":null},\"JobProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assigned_to\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobProfileStatus\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_arrangement\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employment_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_min\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"comp_range\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"budget\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"must_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"nice_to_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"culture\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competencies\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"conversation_history\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"orion_execution_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"creator\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assignee\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobProfile\"}],\"dbName\":null},\"LiveAnalysis\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToLiveAnalysis\"}],\"dbName\":null},\"Message\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"receiver_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Sent Messages\"},{\"name\":\"receiver\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Received Messages\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Notes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pinned\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotesToUser\"}],\"dbName\":null},\"OngoingEvaluation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationState\"},{\"name\":\"round_status\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationRoundStatus\"},{\"name\":\"comments\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_committed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_current\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"assignment\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"Organisation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"industry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"about\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"size\",\"kind\":\"enum\",\"type\":\"OrganisationSize\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"allowed_email_domains\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewers\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"alias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToOrganisation\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"OrganisationToSuggestion\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"integration_credentials\",\"kind\":\"object\",\"type\":\"IntegrationCredential\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"zoho_sync_mappings\",\"kind\":\"object\",\"type\":\"ZohoSyncMapping\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"timezone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_configs\",\"kind\":\"object\",\"type\":\"OrganisationConfig\",\"relationName\":\"OrganisationToOrganisationConfig\"},{\"name\":\"job_application_fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"job_application_templates\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"channel_provider_configs\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToOrganisation\"}],\"dbName\":null},\"OrganisationConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToOrganisationConfig\"}],\"dbName\":\"organisationConfig\"},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PermissionToUser\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"PermissionToUserRole\"}],\"dbName\":null},\"AsyncOperation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AsyncOperationStatus\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"correlationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceService\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retry_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"max_retries\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"next_retry_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"error_details\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Question\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skill\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"answer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"difficulty\",\"kind\":\"enum\",\"type\":\"Difficulty\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"QuestionToUser\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"assessmentLibrary\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToQuestion\"}],\"dbName\":null},\"RefreshToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TokenRefresh\"}],\"dbName\":null},\"Resume\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploaded_resume_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_export_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ResumeToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToResume\"},{\"name\":\"rendered_export_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedResumeExportDocument\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToResume\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"resume_data\",\"kind\":\"object\",\"type\":\"ResumeData\",\"relationName\":\"ResumeToResumeData\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"yearsOfExperience\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"ResumeData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToResumeData\"}],\"dbName\":null},\"Suggestion\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transcript_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSuggestion\"}],\"dbName\":null},\"Transcript\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"intermediate_feedback_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"candidate_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"interviewer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestion\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToTranscript\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_self_registered\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferences\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invitation_status\",\"kind\":\"enum\",\"type\":\"UserInvitationStatus\"},{\"name\":\"invited_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_accepted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToUser\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_profile\",\"kind\":\"object\",\"type\":\"UserProfile\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"hiring_manager_job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"HiringManager\"},{\"name\":\"hiring_manager_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"sent_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Sent Messages\"},{\"name\":\"received_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Received Messages\"},{\"name\":\"profile_created\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"first_login_status\",\"kind\":\"enum\",\"type\":\"FirstLoginStatus\"},{\"name\":\"candidate_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"assessment_results\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"candidate_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"candidate_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"reviewer_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"candidateResponses\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToUser\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToUser\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"actor_activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToUser\"},{\"name\":\"calendly\",\"kind\":\"object\",\"type\":\"Calendly\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"google\",\"kind\":\"object\",\"type\":\"Google\",\"relationName\":\"GoogleToUser\"},{\"name\":\"fitChecks\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"created_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assigned_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"user_auth_modules\",\"kind\":\"object\",\"type\":\"AuthModule\",\"relationName\":\"UserAuthModule\"},{\"name\":\"refresh_token_auth\",\"kind\":\"object\",\"type\":\"RefreshToken\",\"relationName\":\"TokenRefresh\"},{\"name\":\"zoom_meeting_participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"NotesToUser\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferred_work_mode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_expertise\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToUser\"}],\"dbName\":null},\"UserProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"}],\"dbName\":null},\"ZoomMeeting\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToZoomMeeting\"},{\"name\":\"zoom_host_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"join_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topic\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"}],\"dbName\":null},\"ZoomMeetingParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_row_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"zoom_participant_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"ZoomMeetingParticipantRole\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"ZoomWebhookEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dedupe_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
2369
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"CandidateQuestionResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"CandidateQuestionResponseToQuestion\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateQuestionResponseToUser\"}],\"dbName\":null},\"UserRole\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUserRole\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Action\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action_type\",\"kind\":\"enum\",\"type\":\"ActionType\"},{\"name\":\"action_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"due_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ActionStatus\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"ActivityEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event_type\",\"kind\":\"enum\",\"type\":\"ActivityEventType\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"ActivityEntityType\"},{\"name\":\"entity_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityEntityActorType\"},{\"name\":\"related_entities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"snapshot\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"schema_version\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"occurred_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ActivityEventToOrganisation\"}],\"dbName\":\"activity_events\"},\"ActivityLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor_type\",\"kind\":\"enum\",\"type\":\"ActivityActorType\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"actor\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ActivityLogToApplication\"}],\"dbName\":null},\"ApplicationAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_screened\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_evaluated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_rejected\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_shortlisted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"has_committed_evaluation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"application_analytics\"},\"ApplicationAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"is_screened\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_evaluated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_rejected\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_shortlisted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"has_committed_evaluation\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":\"application_analytics_daily\"},\"Application\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"applied_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_jaf_completed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"proceed_to_next_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"on_notice_period\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expected_joining_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"current_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expected_ctc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"preferred_location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluationComment\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ApplicationStatus\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"ApplicationToFitCheck\"},{\"name\":\"recruiter\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApplicationRecruiter\"},{\"name\":\"source\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"ApplicationToSource\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActivityLogToApplication\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Approval\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisaton_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ApprovalToOrganisation\"}],\"dbName\":null},\"Assessment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"AssessmentToCandidateQuestionResponse\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"User\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoingEvaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"AssessmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"time_required\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passing_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentLibrary\"},{\"name\":\"evaluation_Plans\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"}],\"dbName\":null},\"AssessmentQuestion\":{\"fields\":[{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToAssessmentQuestion\"},{\"name\":\"question\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"AssessmentRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssessmentRoundStatus\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"assessment_round_analytics\"},\"AssessmentRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"attempt_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssessmentRoundStatus\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"}],\"dbName\":\"assessment_round_analytics_daily\"},\"Assignment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ongoing_evaluation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"overallScore\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"solution_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zip_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentToAssignmentLibrary\"},{\"name\":\"reviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToAssignment\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"solution_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"zip_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"AssignmentLibrary\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assignment\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToAssignmentLibrary\"}],\"dbName\":null},\"AssignmentRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"assignment_round_analytics\"},\"AssignmentRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"reviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cancelled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AssignmentStatus\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cancel_reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"}],\"dbName\":\"assignment_round_analytics_daily\"},\"AuthModule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"AuthProvider\"},{\"name\":\"provider_account_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"id_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserAuthModule\"}],\"dbName\":null},\"Budget\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_type\",\"kind\":\"enum\",\"type\":\"JobType\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"shift\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"budget_per_job\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"level\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"business_unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"domain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"jd_creation_type\",\"kind\":\"enum\",\"type\":\"JDCreationType\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Calendly\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"calendly_user_uri\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"CandidateProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"ChannelProviderConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"credentials\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_default\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"Conversation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contact_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_thread_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unread_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_message_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToConversation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToConversation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CommunicationMessage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"conversation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommChannel\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"CommProvider\"},{\"name\":\"channel_provider_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommMessageStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"from_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"to_identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider_message_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attachments\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"error\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sent_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"delivered_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"conversation\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"CommunicationMessageToConversation\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"channel_provider\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToCommunicationMessage\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToCommunicationMessage\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"CommunicationMessageToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ContactUs\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Document\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"original_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stored_file_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_extension\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_bucket\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"s3_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mime_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_size\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DocumentToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeSourceDocument\"},{\"name\":\"resume_rendered_export\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"RenderedResumeExport\"},{\"name\":\"job_description_source\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"SourceDocument\"},{\"name\":\"job_description_rendered\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"interview_recording\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"DocumentToJobApplicationResponse\"},{\"name\":\"assignment_solution\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentSolutionDocument\"},{\"name\":\"assignment_zip\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentZipDocument\"}],\"dbName\":null},\"EvaluationPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timeline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"share_scope\",\"kind\":\"enum\",\"type\":\"EvaluationPlanShareScope\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToEvaluationPlan\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToEvaluationPlan\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToEvaluationPlan\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"}],\"dbName\":null},\"Feedback\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"FeedbackToInterview\"}],\"dbName\":null},\"FitCheck\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skills_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"experience_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"organisation_value_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_match\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualifications_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_check_status\",\"kind\":\"enum\",\"type\":\"FitCheckStatus\"},{\"name\":\"skills_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"overall_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"overall_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"short_match_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"recommendation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"candidate_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"technical_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competency_analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToFitCheck\"}],\"dbName\":null},\"Google\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GoogleToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"IntegrationCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"auth_type\",\"kind\":\"enum\",\"type\":\"IntegrationAuthType\"},{\"name\":\"access_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"api_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"api_secret\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"IntegrationJobSync\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"provider\",\"kind\":\"enum\",\"type\":\"IntegrationProvider\"},{\"name\":\"external_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sync_enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_direction\",\"kind\":\"enum\",\"type\":\"SyncDirection\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ZohoSyncMapping\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"entity_type\",\"kind\":\"enum\",\"type\":\"SyncEntityType\"},{\"name\":\"treadspace_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_module\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoho_record_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"last_synced_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sync_status\",\"kind\":\"enum\",\"type\":\"SyncStatus\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Interview\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"calendar_event_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"room_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recording_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recording_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"ai_interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"interview_feedback\",\"kind\":\"enum\",\"type\":\"InterviewFeedback\"},{\"name\":\"overall_feedback\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_rating\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ai_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"human_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interviewer_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"section_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_preparation\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"final_feedback\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_analysis_ranges\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"interview_flow_summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_feedback_generated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"human_feedback_updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"reschedule_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"last_rescheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"awaiting_recruiter_action\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"recording_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToInterview\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"InterviewToResume\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToInterview\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToInterview\"},{\"name\":\"ongoing_evaluation\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"feedback\",\"kind\":\"object\",\"type\":\"Feedback\",\"relationName\":\"FeedbackToInterview\"},{\"name\":\"interviewNotes\",\"kind\":\"object\",\"type\":\"InterviewNotes\",\"relationName\":\"InterviewToInterviewNotes\"},{\"name\":\"liveAnalysis\",\"kind\":\"object\",\"type\":\"LiveAnalysis\",\"relationName\":\"InterviewToLiveAnalysis\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"InterviewToZoomMeeting\"}],\"dbName\":null},\"InterviewNotes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToInterviewNotes\"}],\"dbName\":null},\"InterviewRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"human_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendation\",\"kind\":\"enum\",\"type\":\"InterviewRecommendation\"},{\"name\":\"ai_disagrees_with_ai\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"difficulty_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"supportiveness_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interview_round_analytics\"},\"InterviewRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"round_format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interviewer_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"ai_assistance_mode\",\"kind\":\"enum\",\"type\":\"AiAssistanceMode\"},{\"name\":\"interview_platform\",\"kind\":\"enum\",\"type\":\"InterviewPlatform\"},{\"name\":\"interview_status\",\"kind\":\"enum\",\"type\":\"InterviewStatus\"},{\"name\":\"scheduled_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_start_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"actual_end_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"first_assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"human_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ai_rating\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendation\",\"kind\":\"enum\",\"type\":\"InterviewRecommendation\"},{\"name\":\"ai_disagrees_with_ai\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"difficulty_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"supportiveness_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interview_round_analytics_daily\"},\"InterviewerOrganisationAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interviewer_organisation_analytics\"},\"InterviewerJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"interviewer_job_analytics\"},\"InterviewerOrganisationAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interviewer_organisation_analytics_daily\"},\"InterviewerJobAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employee_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"unsure_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ai_disagreement_percent\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_difficulty\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_supportiveness\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"avg_topics_coverage_percent\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"interviewer_job_analytics_daily\"},\"JobApplicationField\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"},{\"name\":\"job_application_responses\",\"kind\":\"object\",\"type\":\"JobApplicationResponse\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationResponse\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_application_field_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"response\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"field_type\",\"kind\":\"enum\",\"type\":\"JobApplicationFieldType\"},{\"name\":\"label\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_mandatory\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_draft\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_submitted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by_organisation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobApplicationResponse\"},{\"name\":\"field\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationResponse\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToJobApplicationResponse\"}],\"dbName\":null},\"JobApplicationTemplate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"enum\",\"type\":\"JobApplicationTemplateScope\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToJobApplicationTemplate\"}],\"dbName\":null},\"JobDescription\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobDescriptionStatus\"},{\"name\":\"screeningQuestions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recommendedQuestions\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"uploaded_job_description_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_jd_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedJdDocument\"},{\"name\":\"is_plan_published\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_posted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"ai_insight\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"job_fit_comparison\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"openings\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"job_profile_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_profile\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobDescriptionToJobProfile\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"source_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"SourceDocument\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToJobDescription\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToJobDescription\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToJobDescription\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToJobDescription\"},{\"name\":\"job_description_data\",\"kind\":\"object\",\"type\":\"JobDescriptionData\",\"relationName\":\"JobDescriptionToJobDescriptionData\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToJobDescription\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToJobDescription\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToJobDescription\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"budget\",\"kind\":\"object\",\"type\":\"Budget\",\"relationName\":\"BudgetToJobDescription\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"HiringManager\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"JobDescriptionToTranscript\"},{\"name\":\"integration_job_syncs\",\"kind\":\"object\",\"type\":\"IntegrationJobSync\",\"relationName\":\"IntegrationJobSyncToJobDescription\"},{\"name\":\"job_application_template\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToJobDescription\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToJobDescription\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToJobDescription\"}],\"dbName\":null},\"JobDescriptionData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobDescriptionData\"}],\"dbName\":null},\"JobProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assigned_to\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"JobProfileStatus\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_arrangement\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"employment_type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"experience_min\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"comp_range\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"budget\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"responsibilities\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"must_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"nice_to_have_skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"culture\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"competencies\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"conversation_history\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"orion_execution_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"hiring_manager\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"creator\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assignee\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToJobProfile\"}],\"dbName\":null},\"JobRoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assigned_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"completed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"failed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"no_show_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_completion_minutes\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"avg_completion_minutes\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"JobRoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan_order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"plan_type\",\"kind\":\"enum\",\"type\":\"EvaluationPlanType\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"assigned_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"completed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"passed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"failed_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"no_show_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_completion_minutes\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"avg_completion_minutes\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"job_round_analytics_daily\"},\"LiveAnalysis\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"analysis\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToLiveAnalysis\"}],\"dbName\":null},\"Message\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"receiver_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sender\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Sent Messages\"},{\"name\":\"receiver\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"Received Messages\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Notes\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pinned\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToNotes\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotesToUser\"}],\"dbName\":null},\"OngoingEvaluation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationState\"},{\"name\":\"round_status\",\"kind\":\"enum\",\"type\":\"OngoingEvaluationRoundStatus\"},{\"name\":\"comments\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_committed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"format\",\"kind\":\"enum\",\"type\":\"EvaluationRoundFormat\"},{\"name\":\"round_purpose\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topics\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assignee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"elimination_round\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"evaluation_type\",\"kind\":\"enum\",\"type\":\"EvaluationType\"},{\"name\":\"type_of_round\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"duration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"duration_unit\",\"kind\":\"enum\",\"type\":\"DurationUnit\"},{\"name\":\"details\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_current\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"jobDescription\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOngoingEvaluation\"},{\"name\":\"application\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOngoingEvaluation\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"evaluation_plan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToOngoingEvaluation\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOngoingEvaluation\"},{\"name\":\"assignment\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOngoingEvaluation\"},{\"name\":\"assessment\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOngoingEvaluation\"}],\"dbName\":null},\"OpenJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"compensation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vacancies\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_consideration_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_evaluation_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"open_job_analytics\"},\"OpenJobAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"department\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"compensation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"vacancies\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_consideration_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_evaluation_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":\"open_job_analytics_daily\"},\"Organisation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"industry\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"about\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"website\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"size\",\"kind\":\"enum\",\"type\":\"OrganisationSize\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"company_values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"allowed_email_domains\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewers\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"alias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"employee_sequence\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToOrganisation\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"OrganisationToUserRole\"},{\"name\":\"job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToOrganisation\"},{\"name\":\"job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileToOrganisation\"},{\"name\":\"assessment_library\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToOrganisation\"},{\"name\":\"assignment_library\",\"kind\":\"object\",\"type\":\"AssignmentLibrary\",\"relationName\":\"AssignmentLibraryToOrganisation\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToOrganisation\"},{\"name\":\"assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentToOrganisation\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToOrganisation\"},{\"name\":\"resumes\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToOrganisation\"},{\"name\":\"suggestions\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"OrganisationToSuggestion\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToOrganisation\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToOrganisation\"},{\"name\":\"integration_credentials\",\"kind\":\"object\",\"type\":\"IntegrationCredential\",\"relationName\":\"IntegrationCredentialToOrganisation\"},{\"name\":\"zoho_sync_mappings\",\"kind\":\"object\",\"type\":\"ZohoSyncMapping\",\"relationName\":\"OrganisationToZohoSyncMapping\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToOrganisation\"},{\"name\":\"timezone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_configs\",\"kind\":\"object\",\"type\":\"OrganisationConfig\",\"relationName\":\"OrganisationToOrganisationConfig\"},{\"name\":\"activity_events\",\"kind\":\"object\",\"type\":\"ActivityEvent\",\"relationName\":\"ActivityEventToOrganisation\"},{\"name\":\"channel_provider_configs\",\"kind\":\"object\",\"type\":\"ChannelProviderConfig\",\"relationName\":\"ChannelProviderConfigToOrganisation\"},{\"name\":\"conversations\",\"kind\":\"object\",\"type\":\"Conversation\",\"relationName\":\"ConversationToOrganisation\"},{\"name\":\"communication_messages\",\"kind\":\"object\",\"type\":\"CommunicationMessage\",\"relationName\":\"CommunicationMessageToOrganisation\"},{\"name\":\"job_application_fields\",\"kind\":\"object\",\"type\":\"JobApplicationField\",\"relationName\":\"JobApplicationFieldToOrganisation\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToOrganisation\"},{\"name\":\"job_application_templates\",\"kind\":\"object\",\"type\":\"JobApplicationTemplate\",\"relationName\":\"JobApplicationTemplateToOrganisation\"},{\"name\":\"sources\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"OrganisationToSource\"}],\"dbName\":null},\"OrganisationConfig\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToOrganisationConfig\"}],\"dbName\":\"organisationConfig\"},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PermissionToUser\"},{\"name\":\"user_roles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"PermissionToUserRole\"}],\"dbName\":null},\"PipelineDistributionAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_in_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"min_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"experience_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"technical_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"technical_interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"behavioral_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"pipeline_distribution_analytics\"},\"PipelineDistributionAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filtered_in_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"min_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"experience_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"technical_screening_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"technical_interview_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"business_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"behavioral_round_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":\"pipeline_distribution_analytics_daily\"},\"AsyncOperation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"operation_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AsyncOperationStatus\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payload\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"correlationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceService\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retry_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"max_retries\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"next_retry_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"error_message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"error_details\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":null},\"Question\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assessment_library_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skill\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"answer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"max_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"difficulty\",\"kind\":\"enum\",\"type\":\"Difficulty\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"candidate\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"QuestionToUser\"},{\"name\":\"assessments\",\"kind\":\"object\",\"type\":\"AssessmentQuestion\",\"relationName\":\"QuestionToAssessmentQuestion\"},{\"name\":\"assessmentLibrary\",\"kind\":\"object\",\"type\":\"AssessmentLibrary\",\"relationName\":\"AssessmentLibraryToQuestion\"},{\"name\":\"evaluationPlan\",\"kind\":\"object\",\"type\":\"EvaluationPlan\",\"relationName\":\"EvaluationPlanToQuestion\"},{\"name\":\"candidateResponse\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToQuestion\"}],\"dbName\":null},\"RefreshToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TokenRefresh\"}],\"dbName\":null},\"ReportingOverviewJobAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"opened_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"target_closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"closing_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_open\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"closure_type\",\"kind\":\"enum\",\"type\":\"OpenJobClosureType\"},{\"name\":\"time_to_hire_days\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"in_consideration_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"recruiters\",\"kind\":\"object\",\"type\":\"ReportingOverviewJobRecruiter\",\"relationName\":\"ReportingOverviewJobAnalyticsToReportingOverviewJobRecruiter\"}],\"dbName\":\"reporting_overview_job_analytics\"},\"ReportingOverviewJobRecruiter\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recruiter_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job\",\"kind\":\"object\",\"type\":\"ReportingOverviewJobAnalytics\",\"relationName\":\"ReportingOverviewJobAnalyticsToReportingOverviewJobRecruiter\"}],\"dbName\":\"reporting_overview_job_recruiters\"},\"Resume\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploaded_resume_path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rendered_export_document_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_template_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"file_hash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ResumeToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToResume\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToResume\"},{\"name\":\"document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"ResumeSourceDocument\"},{\"name\":\"rendered_export_document\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"RenderedResumeExport\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToResume\"},{\"name\":\"interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToResume\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToResume\"},{\"name\":\"resume_data\",\"kind\":\"object\",\"type\":\"ResumeData\",\"relationName\":\"ResumeToResumeData\"},{\"name\":\"fit_check\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToResume\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToResume\"},{\"name\":\"yearsOfExperience\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"ResumeData\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resume_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToResumeData\"}],\"dbName\":null},\"RoundAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"round_result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduling_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"decision_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"round_analytics\"},\"RoundAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"application_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_plan_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"evaluation_category\",\"kind\":\"enum\",\"type\":\"EvaluationCategory\"},{\"name\":\"round_type\",\"kind\":\"enum\",\"type\":\"RoundType\"},{\"name\":\"assigned_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"started_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"evaluated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_completed_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"round_result\",\"kind\":\"enum\",\"type\":\"RoundResult\"},{\"name\":\"round_result_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduling_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"feedback_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"decision_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_round_duration_minutes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"is_custom\",\"kind\":\"scalar\",\"type\":\"Boolean\"}],\"dbName\":\"round_analytics_daily\"},\"Source\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"parent_source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSource\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceHierarchy\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceHierarchy\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToSource\"}],\"dbName\":null},\"SourceEffectivenessAnalytics\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"screened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"evaluated_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_declined_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit_score_sample_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"source_effectiveness_analytics\"},\"SourceEffectivenessAnalyticsDaily\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snapshot_date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source_category\",\"kind\":\"enum\",\"type\":\"SourceCategory\"},{\"name\":\"source_colour\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"role_title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hiring_manager_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"applications_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"screened_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"evaluated_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rejected_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"shortlisted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offered_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_accepted_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"offer_declined_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"withdrawn_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"hired_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"total_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"fit_score_sample_count\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"average_fit_score\",\"kind\":\"scalar\",\"type\":\"Float\"}],\"dbName\":\"source_effectiveness_analytics_daily\"},\"Suggestion\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transcript_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"question\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToSuggestion\"},{\"name\":\"transcripts\",\"kind\":\"object\",\"type\":\"Transcript\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToSuggestion\"}],\"dbName\":null},\"Transcript\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suggestion_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"intermediate_feedback_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"job_description_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interviewer_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"candidate_timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"interviewer\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"candidate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order_no\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToTranscript\"},{\"name\":\"suggestion\",\"kind\":\"object\",\"type\":\"Suggestion\",\"relationName\":\"SuggestionToTranscript\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToTranscript\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"},{\"name\":\"organisation_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"google_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"is_self_registered\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"permission_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferences\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"invitation_status\",\"kind\":\"enum\",\"type\":\"UserInvitationStatus\"},{\"name\":\"invited_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_expires_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"invitation_accepted_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToUser\"},{\"name\":\"organisation\",\"kind\":\"object\",\"type\":\"Organisation\",\"relationName\":\"OrganisationToUser\"},{\"name\":\"applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationToUser\"},{\"name\":\"resume\",\"kind\":\"object\",\"type\":\"Resume\",\"relationName\":\"ResumeToUser\"},{\"name\":\"candidate_profile\",\"kind\":\"object\",\"type\":\"CandidateProfile\",\"relationName\":\"CandidateProfileToUser\"},{\"name\":\"user_profile\",\"kind\":\"object\",\"type\":\"UserProfile\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"job_description\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"JobDescriptionToUser\"},{\"name\":\"hiring_manager_job_descriptions\",\"kind\":\"object\",\"type\":\"JobDescription\",\"relationName\":\"HiringManager\"},{\"name\":\"hiring_manager_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"JobProfileHiringManager\"},{\"name\":\"approvals\",\"kind\":\"object\",\"type\":\"Approval\",\"relationName\":\"ApprovalToUser\"},{\"name\":\"sent_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Sent Messages\"},{\"name\":\"received_messages\",\"kind\":\"object\",\"type\":\"Message\",\"relationName\":\"Received Messages\"},{\"name\":\"profile_created\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"first_login_status\",\"kind\":\"enum\",\"type\":\"FirstLoginStatus\"},{\"name\":\"candidate_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"CandidateInterviews\"},{\"name\":\"interviewer_interviews\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewerInterviews\"},{\"name\":\"assessment_results\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"AssessmentToUser\"},{\"name\":\"candidate_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"CandidateAssessments\"},{\"name\":\"reviewer_assessments\",\"kind\":\"object\",\"type\":\"Assessment\",\"relationName\":\"ReviewerAssessments\"},{\"name\":\"candidate_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"CandidateAssignments\"},{\"name\":\"reviewer_assignments\",\"kind\":\"object\",\"type\":\"Assignment\",\"relationName\":\"AssignmentReviewer\"},{\"name\":\"candidateResponses\",\"kind\":\"object\",\"type\":\"CandidateQuestionResponse\",\"relationName\":\"CandidateQuestionResponseToUser\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"Question\",\"relationName\":\"QuestionToUser\"},{\"name\":\"ongoing_evaluations\",\"kind\":\"object\",\"type\":\"OngoingEvaluation\",\"relationName\":\"OngoingEvaluationToUser\"},{\"name\":\"actor_activity_logs\",\"kind\":\"object\",\"type\":\"ActivityLog\",\"relationName\":\"ActorActivityLogs\"},{\"name\":\"actions\",\"kind\":\"object\",\"type\":\"Action\",\"relationName\":\"ActionToUser\"},{\"name\":\"calendly\",\"kind\":\"object\",\"type\":\"Calendly\",\"relationName\":\"CalendlyToUser\"},{\"name\":\"google\",\"kind\":\"object\",\"type\":\"Google\",\"relationName\":\"GoogleToUser\"},{\"name\":\"fitChecks\",\"kind\":\"object\",\"type\":\"FitCheck\",\"relationName\":\"FitCheckToUser\"},{\"name\":\"created_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileCreator\"},{\"name\":\"assigned_job_profiles\",\"kind\":\"object\",\"type\":\"JobProfile\",\"relationName\":\"ProfileAssignee\"},{\"name\":\"user_auth_modules\",\"kind\":\"object\",\"type\":\"AuthModule\",\"relationName\":\"UserAuthModule\"},{\"name\":\"refresh_token_auth\",\"kind\":\"object\",\"type\":\"RefreshToken\",\"relationName\":\"TokenRefresh\"},{\"name\":\"zoom_meeting_participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"notes\",\"kind\":\"object\",\"type\":\"Notes\",\"relationName\":\"NotesToUser\"},{\"name\":\"recruiter_applications\",\"kind\":\"object\",\"type\":\"Application\",\"relationName\":\"ApplicationRecruiter\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"location\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"salary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"education\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"skills\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notice_period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferred_work_mode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ethnicity\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"veteran_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"disability_status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"professional_expertise\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"Document\",\"relationName\":\"DocumentToUser\"},{\"name\":\"employee_number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"employee_code\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"UserProfile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date_of_birth\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"designation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserProfile\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"work_experience\",\"kind\":\"scalar\",\"type\":\"Json\"}],\"dbName\":null},\"ZoomMeeting\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"interview\",\"kind\":\"object\",\"type\":\"Interview\",\"relationName\":\"InterviewToZoomMeeting\"},{\"name\":\"zoom_host_user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"join_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"start_url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"topic\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduled_start_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scheduled_end_time\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participants\",\"kind\":\"object\",\"type\":\"ZoomMeetingParticipant\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"}],\"dbName\":null},\"ZoomMeetingParticipant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting_row_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zoom_meeting\",\"kind\":\"object\",\"type\":\"ZoomMeeting\",\"relationName\":\"ZoomMeetingToZoomMeetingParticipant\"},{\"name\":\"user_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToZoomMeetingParticipant\"},{\"name\":\"zoom_participant_id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"ZoomMeetingParticipantRole\"},{\"name\":\"is_active\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"created_by\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updated_by\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"ZoomWebhookEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dedupe_key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"created_at\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
1506
2370
  defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
1507
2371
  config.engineWasm = {
1508
2372
  getRuntime: async () => require('./query_engine_bg.js'),