@adaptware/eagles-db 0.1.80 → 0.1.82

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 (33) hide show
  1. package/client/edge.js +123 -10
  2. package/client/index-browser.js +124 -11
  3. package/client/index.d.ts +30904 -17811
  4. package/client/index.js +123 -10
  5. package/client/package.json +1 -1
  6. package/client/schema.prisma +199 -27
  7. package/client/wasm.js +124 -11
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/index.js.map +1 -1
  12. package/package.json +1 -1
  13. package/prisma/.DS_Store +0 -0
  14. package/prisma/migrations/20260415120000_remove_job_profile_current_phase/migration.sql +2 -0
  15. package/prisma/migrations/20260422120000_add_integration_provider_zoom/migration.sql +2 -0
  16. package/prisma/migrations/20260422140000_add_zoom_meeting_tables/migration.sql +57 -0
  17. package/prisma/migrations/20260422180000_add_zoom_webhook_event/migration.sql +18 -0
  18. package/prisma/migrations/20260423140000_add_interview_platform/migration.sql +6 -0
  19. package/prisma/migrations/20260423150000_remove_interview_zoom_topic/migration.sql +2 -0
  20. package/prisma/migrations/20260423160000_zoom_meeting_uuid/migration.sql +4 -0
  21. package/prisma/migrations/20260424120000_auth_module_user_provider_unique/migration.sql +5 -0
  22. package/prisma/migrations/20260424130000_zoom_meeting_zoom_host_user_id/migration.sql +6 -0
  23. package/prisma/migrations/20260425100000_zoom_participant_user_enum/migration.sql +22 -0
  24. package/prisma/migrations/20260425110000_zoom_participant_zoom_id_required/migration.sql +13 -0
  25. package/prisma/migrations/20260425120000_zoom_participant_id_nullable/migration.sql +4 -0
  26. package/prisma/migrations/migration_lock.toml +3 -0
  27. package/prisma/schema/applications.prisma +1 -1
  28. package/prisma/schema/authModule.prisma +10 -5
  29. package/prisma/schema/integration.prisma +14 -10
  30. package/prisma/schema/interview.prisma +7 -0
  31. package/prisma/schema/user.prisma +1 -0
  32. package/prisma/schema/zoomMeeting.prisma +79 -0
  33. package/client/libquery_engine-darwin.dylib.node +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-88a5287d6d2b4747b23e998603ab2b5c0065cff82858cb3475eb1ffb1d9557ec",
2
+ "name": "prisma-client-8998d26d2f1ef17bbd9d1b29add72c8f38339c98ed1cca6f9bbd1425c1e16bb0",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "index-browser.js",
@@ -112,35 +112,43 @@ enum ApplicationStatus {
112
112
  }
113
113
 
114
114
  model Application {
115
- id String @id @default(uuid())
116
- candidate_id String
117
- resume_id String
118
- organisation_id String
119
- job_description_id String
120
- status ApplicationStatus @default(PENDING)
121
- fit_check_score Float?
122
- fit_check_status FitCheckStatus?
123
- applied_at DateTime @default(now())
124
- evaluation_plan_id String?
125
- evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])
126
- fit_check_id String? @unique
127
- round_no Int @default(0)
115
+ id String @id @default(uuid())
116
+ candidate_id String
117
+ resume_id String
118
+ organisation_id String
119
+ job_description_id String
120
+ fit_check_score Float?
121
+ applied_at DateTime @default(now())
122
+ evaluation_plan_id String?
123
+ fit_check_id String? @unique
124
+ round_no Int @default(0)
125
+ //Screening fields
126
+ on_notice_period Boolean @default(false)
127
+ expected_joining_date DateTime?
128
+ current_ctc String?
129
+ expected_ctc String?
130
+ notice_period Int?
131
+ preferred_location String?
128
132
  // Relations
129
- candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
130
- organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
131
- resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
132
- job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
133
- fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
134
- interviews Interview[]
135
- assignments Assignment[]
136
- ongoing_evaluations OngoingEvaluation[]
137
- activity_logs ActivityLog[]
133
+ fit_check_status FitCheckStatus?
134
+ status ApplicationStatus @default(PENDING)
135
+ evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])
136
+ candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
137
+ organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
138
+ resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
139
+ job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
140
+ fit_check FitCheck? @relation(fields: [fit_check_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
141
+ interviews Interview[]
142
+ assignments Assignment[]
143
+ ongoing_evaluations OngoingEvaluation[]
144
+ activity_logs ActivityLog[]
145
+ notes Notes[]
138
146
  // Audit fields
139
- created_at DateTime @default(now())
140
- updated_at DateTime @updatedAt
141
- created_by String
142
- updated_by String
143
- is_active Boolean @default(true)
147
+ created_at DateTime @default(now())
148
+ updated_at DateTime @updatedAt
149
+ created_by String
150
+ updated_by String
151
+ is_active Boolean @default(true)
144
152
 
145
153
  @@unique([candidate_id, job_description_id]) // Ensures candidate applies only once per job
146
154
  @@index([candidate_id])
@@ -313,6 +321,42 @@ model AssignmentLibrary {
313
321
  @@index([job_description_id])
314
322
  }
315
323
 
324
+ enum AuthProvider {
325
+ GOOGLE
326
+ MICROSOFT
327
+ ZOOM
328
+ }
329
+
330
+ model AuthModule {
331
+ id String @id @default(uuid())
332
+ user_id String
333
+ /// The provider of the authentication module
334
+ provider AuthProvider
335
+ provider_account_id String? @db.Text
336
+
337
+ access_token String? @db.Text
338
+ refresh_token String? @db.Text
339
+ id_token String? @db.Text
340
+ expires_at DateTime?
341
+
342
+ token_type String?
343
+
344
+ scope String?
345
+ is_active Boolean @default(true)
346
+
347
+ /// Provider-specific JSON (e.g. Zoom: email, display); tokens remain in encrypted columns.
348
+ metadata Json @default("{}")
349
+
350
+ created_at DateTime @default(now())
351
+ updated_at DateTime @updatedAt
352
+
353
+ user User @relation("UserAuthModule", fields: [user_id], references: [id], onDelete: Cascade)
354
+
355
+ @@unique([user_id, provider])
356
+ @@unique([provider, provider_account_id])
357
+ @@index([user_id])
358
+ }
359
+
316
360
  enum JobType {
317
361
  Full_time
318
362
  Part_time
@@ -604,11 +648,15 @@ enum IntegrationProvider {
604
648
  NAUKRI
605
649
  ZOHO_RECRUIT
606
650
  LINKEDIN
651
+ GOOGLE
652
+ MICROSOFT
653
+ ZOOM
607
654
  }
608
655
 
609
656
  enum IntegrationAuthType {
610
657
  OAUTH2
611
658
  API_KEY
659
+ SSO
612
660
  }
613
661
 
614
662
  enum SyncDirection {
@@ -711,6 +759,11 @@ enum InterviewFeedback {
711
759
  STRONG_NO_HIRE
712
760
  }
713
761
 
762
+ enum InterviewPlatform {
763
+ TREADSPACE
764
+ ZOOM
765
+ }
766
+
714
767
  model Interview {
715
768
  id String @id @default(uuid())
716
769
  /// Foreign keys
@@ -730,6 +783,7 @@ model Interview {
730
783
  actual_end_time DateTime?
731
784
  recording_url String?
732
785
  interview_status InterviewStatus @default(SCHEDULED)
786
+ interview_platform InterviewPlatform @default(TREADSPACE)
733
787
  google_event_id String?
734
788
  /// Old Feedback fields will be deprecated soon
735
789
  ai_interview_feedback InterviewFeedback?
@@ -764,6 +818,7 @@ model Interview {
764
818
  feedback Feedback[]
765
819
  interviewNotes InterviewNotes[]
766
820
  liveAnalysis LiveAnalysis[]
821
+ zoom_meeting ZoomMeeting?
767
822
 
768
823
  @@unique([interviewer_id, candidate_id, evaluation_plan_id])
769
824
  @@index([candidate_id])
@@ -948,6 +1003,26 @@ model Message {
948
1003
  is_active Boolean @default(true)
949
1004
  }
950
1005
 
1006
+ model Notes {
1007
+ id String @id @default(uuid())
1008
+ application_id String
1009
+ user_id String
1010
+ note String
1011
+ pinned Boolean @default(false)
1012
+ created_at DateTime @default(now())
1013
+ updated_at DateTime @updatedAt
1014
+ created_by String
1015
+ updated_by String
1016
+ is_active Boolean @default(true)
1017
+
1018
+ // Relations
1019
+ application Application @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1020
+ user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1021
+
1022
+ @@index([application_id, created_at])
1023
+ @@index([user_id, created_at])
1024
+ }
1025
+
951
1026
  enum OngoingEvaluationStatus {
952
1027
  LOCKED
953
1028
  ACTION_REQUIRED
@@ -1164,12 +1239,24 @@ model Question {
1164
1239
  candidateResponse CandidateQuestionResponse[]
1165
1240
  }
1166
1241
 
1242
+ model RefreshToken {
1243
+ id String @id @default(uuid())
1244
+ user_id String
1245
+ token String @unique
1246
+ is_active Boolean @default(true)
1247
+ expires_at DateTime
1248
+ created_at DateTime @default(now())
1249
+ updated_at DateTime @updatedAt
1250
+ user User @relation("TokenRefresh", fields: [user_id], references: [id], onDelete: Cascade)
1251
+ }
1252
+
1167
1253
  model Resume {
1168
1254
  id String @id @default(uuid())
1169
1255
  user_id String?
1170
1256
  organisation_id String?
1171
1257
  job_description_id String?
1172
1258
  uploaded_resume_path String?
1259
+ file_hash String? @unique
1173
1260
  summary Json?
1174
1261
  created_at DateTime @default(now())
1175
1262
  updated_at DateTime @updatedAt
@@ -1191,6 +1278,7 @@ model Resume {
1191
1278
  yearsOfExperience Int?
1192
1279
 
1193
1280
  @@index([user_id])
1281
+ @@index([file_hash])
1194
1282
  }
1195
1283
 
1196
1284
  model ResumeData {
@@ -1327,6 +1415,10 @@ model User {
1327
1415
  fitChecks FitCheck[]
1328
1416
  created_job_profiles JobProfile[] @relation("ProfileCreator")
1329
1417
  assigned_job_profiles JobProfile[] @relation("ProfileAssignee")
1418
+ user_auth_modules AuthModule[] @relation("UserAuthModule")
1419
+ refresh_token_auth RefreshToken[] @relation("TokenRefresh")
1420
+ zoom_meeting_participants ZoomMeetingParticipant[]
1421
+ notes Notes[]
1330
1422
 
1331
1423
  name String?
1332
1424
  phone String?
@@ -1365,3 +1457,83 @@ model UserProfile {
1365
1457
 
1366
1458
  work_experience Json?
1367
1459
  }
1460
+
1461
+ /// Expected attendee slot when persisting interview-linked Zoom participants (`CANDIDATE` | `INTERVIEWER`).
1462
+ enum ZoomMeetingParticipantRole {
1463
+ CANDIDATE
1464
+ INTERVIEWER
1465
+ }
1466
+
1467
+ /// Zoom meeting linked 1:1 to an interview; Zoom REST host is `zoom_host_user_id`.
1468
+ model ZoomMeeting {
1469
+ id String @id @default(uuid())
1470
+ /// One Zoom row per interview.
1471
+ interview_id String @unique
1472
+ interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1473
+
1474
+ /// Treadspace user id whose Zoom User-OAuth token created this meeting; required for PATCH/DELETE on Zoom REST.
1475
+ /// Set from the Zoom host `userId` in `ZoomMeetingDAO.upsertZoomParticipants` (same user as `POST /users/me/meetings`).
1476
+ zoom_host_user_id String
1477
+
1478
+ /// Zoom REST/API meeting id (same value used as Meeting SDK `meetingNumber` / JWT `mn`).
1479
+ zoom_meeting_id String
1480
+ /// Zoom meeting **instance** UUID from REST create (`uuid`) and RTMS/webhooks (`meeting_uuid`).
1481
+ zoom_meeting_uuid String?
1482
+ join_url String
1483
+ start_url String?
1484
+ password String?
1485
+ topic String?
1486
+
1487
+ scheduled_start_time DateTime?
1488
+ scheduled_end_time DateTime?
1489
+
1490
+ is_active Boolean @default(true)
1491
+
1492
+ created_at DateTime @default(now())
1493
+ updated_at DateTime @updatedAt
1494
+ /// Audit; kept aligned with `zoom_host_user_id` when the meeting is recreated under a new host.
1495
+ created_by String
1496
+ updated_by String
1497
+
1498
+ participants ZoomMeetingParticipant[]
1499
+
1500
+ @@index([interview_id])
1501
+ @@index([zoom_meeting_id])
1502
+ @@index([zoom_meeting_uuid])
1503
+ }
1504
+
1505
+ /// Expected participants for a `ZoomMeeting`: links to `User` (candidate / interviewer). Replaced on each meeting upsert.
1506
+ model ZoomMeetingParticipant {
1507
+ id String @id @default(uuid())
1508
+ zoom_meeting_row_id String
1509
+ zoom_meeting ZoomMeeting @relation(fields: [zoom_meeting_row_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1510
+ user_id String
1511
+ user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1512
+ /// Zoom account id (`AuthModule.provider_account_id`) when this `user_id` has linked Zoom; usually set for interviewer, often null for candidate.
1513
+ zoom_participant_id String?
1514
+ role ZoomMeetingParticipantRole
1515
+
1516
+ is_active Boolean @default(true)
1517
+
1518
+ created_at DateTime @default(now())
1519
+ updated_at DateTime @updatedAt
1520
+ created_by String
1521
+ updated_by String
1522
+
1523
+ @@index([zoom_meeting_row_id])
1524
+ @@index([user_id])
1525
+ @@index([zoom_participant_id])
1526
+ }
1527
+
1528
+ /// Ledger of processed Zoom webhook deliveries: one row per `dedupe_key` (request id or body hash).
1529
+ /// Stops double-handling when Zoom retries the same notification (e.g. RTMS, `meeting.started`).
1530
+ model ZoomWebhookEvent {
1531
+ id String @id @default(uuid())
1532
+ /// Stable key: SHA-256 of raw request body, or `x-zm-trackingid` when present.
1533
+ dedupe_key String @unique
1534
+ event String
1535
+ created_at DateTime @default(now())
1536
+
1537
+ @@index([event])
1538
+ @@index([created_at])
1539
+ }
package/client/wasm.js CHANGED
@@ -181,13 +181,19 @@ exports.Prisma.ApplicationScalarFieldEnum = {
181
181
  resume_id: 'resume_id',
182
182
  organisation_id: 'organisation_id',
183
183
  job_description_id: 'job_description_id',
184
- status: 'status',
185
184
  fit_check_score: 'fit_check_score',
186
- fit_check_status: 'fit_check_status',
187
185
  applied_at: 'applied_at',
188
186
  evaluation_plan_id: 'evaluation_plan_id',
189
187
  fit_check_id: 'fit_check_id',
190
188
  round_no: 'round_no',
189
+ on_notice_period: 'on_notice_period',
190
+ expected_joining_date: 'expected_joining_date',
191
+ current_ctc: 'current_ctc',
192
+ expected_ctc: 'expected_ctc',
193
+ notice_period: 'notice_period',
194
+ preferred_location: 'preferred_location',
195
+ fit_check_status: 'fit_check_status',
196
+ status: 'status',
191
197
  created_at: 'created_at',
192
198
  updated_at: 'updated_at',
193
199
  created_by: 'created_by',
@@ -289,6 +295,23 @@ exports.Prisma.AssignmentLibraryScalarFieldEnum = {
289
295
  is_active: 'is_active'
290
296
  };
291
297
 
298
+ exports.Prisma.AuthModuleScalarFieldEnum = {
299
+ id: 'id',
300
+ user_id: 'user_id',
301
+ provider: 'provider',
302
+ provider_account_id: 'provider_account_id',
303
+ access_token: 'access_token',
304
+ refresh_token: 'refresh_token',
305
+ id_token: 'id_token',
306
+ expires_at: 'expires_at',
307
+ token_type: 'token_type',
308
+ scope: 'scope',
309
+ is_active: 'is_active',
310
+ metadata: 'metadata',
311
+ created_at: 'created_at',
312
+ updated_at: 'updated_at'
313
+ };
314
+
292
315
  exports.Prisma.BudgetScalarFieldEnum = {
293
316
  id: 'id',
294
317
  job_type: 'job_type',
@@ -511,6 +534,7 @@ exports.Prisma.InterviewScalarFieldEnum = {
511
534
  actual_end_time: 'actual_end_time',
512
535
  recording_url: 'recording_url',
513
536
  interview_status: 'interview_status',
537
+ interview_platform: 'interview_platform',
514
538
  google_event_id: 'google_event_id',
515
539
  ai_interview_feedback: 'ai_interview_feedback',
516
540
  interview_feedback: 'interview_feedback',
@@ -627,6 +651,19 @@ exports.Prisma.MessageScalarFieldEnum = {
627
651
  is_active: 'is_active'
628
652
  };
629
653
 
654
+ exports.Prisma.NotesScalarFieldEnum = {
655
+ id: 'id',
656
+ application_id: 'application_id',
657
+ user_id: 'user_id',
658
+ note: 'note',
659
+ pinned: 'pinned',
660
+ created_at: 'created_at',
661
+ updated_at: 'updated_at',
662
+ created_by: 'created_by',
663
+ updated_by: 'updated_by',
664
+ is_active: 'is_active'
665
+ };
666
+
630
667
  exports.Prisma.OngoingEvaluationScalarFieldEnum = {
631
668
  id: 'id',
632
669
  application_id: 'application_id',
@@ -730,12 +767,23 @@ exports.Prisma.QuestionScalarFieldEnum = {
730
767
  is_active: 'is_active'
731
768
  };
732
769
 
770
+ exports.Prisma.RefreshTokenScalarFieldEnum = {
771
+ id: 'id',
772
+ user_id: 'user_id',
773
+ token: 'token',
774
+ is_active: 'is_active',
775
+ expires_at: 'expires_at',
776
+ created_at: 'created_at',
777
+ updated_at: 'updated_at'
778
+ };
779
+
733
780
  exports.Prisma.ResumeScalarFieldEnum = {
734
781
  id: 'id',
735
782
  user_id: 'user_id',
736
783
  organisation_id: 'organisation_id',
737
784
  job_description_id: 'job_description_id',
738
785
  uploaded_resume_path: 'uploaded_resume_path',
786
+ file_hash: 'file_hash',
739
787
  summary: 'summary',
740
788
  created_at: 'created_at',
741
789
  updated_at: 'updated_at',
@@ -839,6 +887,45 @@ exports.Prisma.UserProfileScalarFieldEnum = {
839
887
  work_experience: 'work_experience'
840
888
  };
841
889
 
890
+ exports.Prisma.ZoomMeetingScalarFieldEnum = {
891
+ id: 'id',
892
+ interview_id: 'interview_id',
893
+ zoom_host_user_id: 'zoom_host_user_id',
894
+ zoom_meeting_id: 'zoom_meeting_id',
895
+ zoom_meeting_uuid: 'zoom_meeting_uuid',
896
+ join_url: 'join_url',
897
+ start_url: 'start_url',
898
+ password: 'password',
899
+ topic: 'topic',
900
+ scheduled_start_time: 'scheduled_start_time',
901
+ scheduled_end_time: 'scheduled_end_time',
902
+ is_active: 'is_active',
903
+ created_at: 'created_at',
904
+ updated_at: 'updated_at',
905
+ created_by: 'created_by',
906
+ updated_by: 'updated_by'
907
+ };
908
+
909
+ exports.Prisma.ZoomMeetingParticipantScalarFieldEnum = {
910
+ id: 'id',
911
+ zoom_meeting_row_id: 'zoom_meeting_row_id',
912
+ user_id: 'user_id',
913
+ zoom_participant_id: 'zoom_participant_id',
914
+ role: 'role',
915
+ is_active: 'is_active',
916
+ created_at: 'created_at',
917
+ updated_at: 'updated_at',
918
+ created_by: 'created_by',
919
+ updated_by: 'updated_by'
920
+ };
921
+
922
+ exports.Prisma.ZoomWebhookEventScalarFieldEnum = {
923
+ id: 'id',
924
+ dedupe_key: 'dedupe_key',
925
+ event: 'event',
926
+ created_at: 'created_at'
927
+ };
928
+
842
929
  exports.Prisma.SortOrder = {
843
930
  asc: 'asc',
844
931
  desc: 'desc'
@@ -886,6 +973,12 @@ exports.ActivityActorType = exports.$Enums.ActivityActorType = {
886
973
  SYSTEM: 'SYSTEM'
887
974
  };
888
975
 
976
+ exports.FitCheckStatus = exports.$Enums.FitCheckStatus = {
977
+ RECOMMENDED: 'RECOMMENDED',
978
+ TO_REVIEW: 'TO_REVIEW',
979
+ NOT_RECOMMENDED: 'NOT_RECOMMENDED'
980
+ };
981
+
889
982
  exports.ApplicationStatus = exports.$Enums.ApplicationStatus = {
890
983
  PENDING: 'PENDING',
891
984
  IN_PROGRESS: 'IN_PROGRESS',
@@ -893,12 +986,6 @@ exports.ApplicationStatus = exports.$Enums.ApplicationStatus = {
893
986
  REJECTED: 'REJECTED'
894
987
  };
895
988
 
896
- exports.FitCheckStatus = exports.$Enums.FitCheckStatus = {
897
- RECOMMENDED: 'RECOMMENDED',
898
- TO_REVIEW: 'TO_REVIEW',
899
- NOT_RECOMMENDED: 'NOT_RECOMMENDED'
900
- };
901
-
902
989
  exports.AssessmentCategory = exports.$Enums.AssessmentCategory = {
903
990
  MCQ: 'MCQ',
904
991
  COMPETENCY: 'COMPETENCY',
@@ -912,6 +999,12 @@ exports.AssignmentStatus = exports.$Enums.AssignmentStatus = {
912
999
  CANCELLED: 'CANCELLED'
913
1000
  };
914
1001
 
1002
+ exports.AuthProvider = exports.$Enums.AuthProvider = {
1003
+ GOOGLE: 'GOOGLE',
1004
+ MICROSOFT: 'MICROSOFT',
1005
+ ZOOM: 'ZOOM'
1006
+ };
1007
+
915
1008
  exports.JobType = exports.$Enums.JobType = {
916
1009
  Full_time: 'Full_time',
917
1010
  Part_time: 'Part_time',
@@ -969,12 +1062,16 @@ exports.DurationUnit = exports.$Enums.DurationUnit = {
969
1062
  exports.IntegrationProvider = exports.$Enums.IntegrationProvider = {
970
1063
  NAUKRI: 'NAUKRI',
971
1064
  ZOHO_RECRUIT: 'ZOHO_RECRUIT',
972
- LINKEDIN: 'LINKEDIN'
1065
+ LINKEDIN: 'LINKEDIN',
1066
+ GOOGLE: 'GOOGLE',
1067
+ MICROSOFT: 'MICROSOFT',
1068
+ ZOOM: 'ZOOM'
973
1069
  };
974
1070
 
975
1071
  exports.IntegrationAuthType = exports.$Enums.IntegrationAuthType = {
976
1072
  OAUTH2: 'OAUTH2',
977
- API_KEY: 'API_KEY'
1073
+ API_KEY: 'API_KEY',
1074
+ SSO: 'SSO'
978
1075
  };
979
1076
 
980
1077
  exports.SyncDirection = exports.$Enums.SyncDirection = {
@@ -1006,6 +1103,11 @@ exports.InterviewStatus = exports.$Enums.InterviewStatus = {
1006
1103
  EVALUATED: 'EVALUATED'
1007
1104
  };
1008
1105
 
1106
+ exports.InterviewPlatform = exports.$Enums.InterviewPlatform = {
1107
+ TREADSPACE: 'TREADSPACE',
1108
+ ZOOM: 'ZOOM'
1109
+ };
1110
+
1009
1111
  exports.InterviewFeedback = exports.$Enums.InterviewFeedback = {
1010
1112
  STRONG_HIRE: 'STRONG_HIRE',
1011
1113
  HIRE: 'HIRE',
@@ -1090,6 +1192,11 @@ exports.FirstLoginStatus = exports.$Enums.FirstLoginStatus = {
1090
1192
  COMPLETED: 'COMPLETED'
1091
1193
  };
1092
1194
 
1195
+ exports.ZoomMeetingParticipantRole = exports.$Enums.ZoomMeetingParticipantRole = {
1196
+ CANDIDATE: 'CANDIDATE',
1197
+ INTERVIEWER: 'INTERVIEWER'
1198
+ };
1199
+
1093
1200
  exports.Prisma.ModelName = {
1094
1201
  CandidateQuestionResponse: 'CandidateQuestionResponse',
1095
1202
  UserRole: 'UserRole',
@@ -1102,6 +1209,7 @@ exports.Prisma.ModelName = {
1102
1209
  AssessmentQuestion: 'AssessmentQuestion',
1103
1210
  Assignment: 'Assignment',
1104
1211
  AssignmentLibrary: 'AssignmentLibrary',
1212
+ AuthModule: 'AuthModule',
1105
1213
  Budget: 'Budget',
1106
1214
  Calendly: 'Calendly',
1107
1215
  CandidateProfile: 'CandidateProfile',
@@ -1120,17 +1228,22 @@ exports.Prisma.ModelName = {
1120
1228
  JobProfile: 'JobProfile',
1121
1229
  LiveAnalysis: 'LiveAnalysis',
1122
1230
  Message: 'Message',
1231
+ Notes: 'Notes',
1123
1232
  OngoingEvaluation: 'OngoingEvaluation',
1124
1233
  Organisation: 'Organisation',
1125
1234
  Permission: 'Permission',
1126
1235
  AsyncOperation: 'AsyncOperation',
1127
1236
  Question: 'Question',
1237
+ RefreshToken: 'RefreshToken',
1128
1238
  Resume: 'Resume',
1129
1239
  ResumeData: 'ResumeData',
1130
1240
  Suggestion: 'Suggestion',
1131
1241
  Transcript: 'Transcript',
1132
1242
  User: 'User',
1133
- UserProfile: 'UserProfile'
1243
+ UserProfile: 'UserProfile',
1244
+ ZoomMeeting: 'ZoomMeeting',
1245
+ ZoomMeetingParticipant: 'ZoomMeetingParticipant',
1246
+ ZoomWebhookEvent: 'ZoomWebhookEvent'
1134
1247
  };
1135
1248
 
1136
1249
  /**
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { PrismaClient } from "../client/index.js";
2
2
  export declare const prisma: PrismaClient<{
3
- log: ("error" | "query" | "warn")[];
4
- }, "error" | "query" | "warn", import("../client/runtime/library.js").DefaultArgs>;
3
+ log: ("error" | "warn")[];
4
+ }, "error" | "warn", import("../client/runtime/library.js").DefaultArgs>;
5
5
  export type { PrismaClient } from "../client/index.js";
6
6
  export * from "../client/index.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAO,MAAM,MAAM;;kFAKjB,CAAC;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAO,MAAM,MAAM;;wEAKjB,CAAC;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { PrismaClient } from "../client/index.js";
2
- // Create a singleton instance of PrismaClient
2
+ // Never enable Prisma `query` logging — it prints full SQL to stdout.
3
3
  export const prisma = new PrismaClient({
4
4
  log: process.env.NODE_ENV === "development"
5
- ? ["query", "error", "warn"]
5
+ ? ["error", "warn"]
6
6
  : ["error"],
7
7
  });
8
8
  // Export all Prisma types
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;IACrC,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;QACpC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC,OAAO,CAAC;CAChB,CAAC,CAAC;AAKH,0BAA0B;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,sEAAsE;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;IACrC,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;QACpC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QACnB,CAAC,CAAC,CAAC,OAAO,CAAC;CAChB,CAAC,CAAC;AAKH,0BAA0B;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptware/eagles-db",
3
- "version": "0.1.80",
3
+ "version": "0.1.82",
4
4
  "description": "A Prisma client package for Treadspace database operations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
Binary file
@@ -0,0 +1,2 @@
1
+ -- AlterTable
2
+ ALTER TABLE "JobProfile" DROP COLUMN IF EXISTS "current_phase";
@@ -0,0 +1,2 @@
1
+ -- AlterEnum (re-run safe only if your PG version supports IF NOT EXISTS; otherwise apply once)
2
+ ALTER TYPE "IntegrationProvider" ADD VALUE 'ZOOM';
@@ -0,0 +1,57 @@
1
+ -- CreateTable
2
+ CREATE TABLE "ZoomMeeting" (
3
+ "id" TEXT NOT NULL,
4
+ "interview_id" TEXT NOT NULL,
5
+ "zoom_meeting_id" TEXT NOT NULL,
6
+ "meeting_number" TEXT NOT NULL,
7
+ "join_url" TEXT NOT NULL,
8
+ "start_url" TEXT,
9
+ "password" TEXT,
10
+ "topic" TEXT,
11
+ "scheduled_start_time" TIMESTAMP(3),
12
+ "scheduled_end_time" TIMESTAMP(3),
13
+ "is_active" BOOLEAN NOT NULL DEFAULT true,
14
+ "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
15
+ "updated_at" TIMESTAMP(3) NOT NULL,
16
+ "created_by" TEXT NOT NULL,
17
+ "updated_by" TEXT NOT NULL,
18
+
19
+ CONSTRAINT "ZoomMeeting_pkey" PRIMARY KEY ("id")
20
+ );
21
+
22
+ -- CreateTable
23
+ CREATE TABLE "ZoomMeetingParticipant" (
24
+ "id" TEXT NOT NULL,
25
+ "zoom_meeting_row_id" TEXT NOT NULL,
26
+ "zoom_participant_id" TEXT,
27
+ "user_name" TEXT,
28
+ "user_email" TEXT,
29
+ "role" TEXT,
30
+ "join_time" TIMESTAMP(3),
31
+ "leave_time" TIMESTAMP(3),
32
+ "is_active" BOOLEAN NOT NULL DEFAULT true,
33
+ "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
34
+ "updated_at" TIMESTAMP(3) NOT NULL,
35
+ "created_by" TEXT NOT NULL,
36
+ "updated_by" TEXT NOT NULL,
37
+
38
+ CONSTRAINT "ZoomMeetingParticipant_pkey" PRIMARY KEY ("id")
39
+ );
40
+
41
+ -- CreateIndex
42
+ CREATE UNIQUE INDEX "ZoomMeeting_interview_id_key" ON "ZoomMeeting"("interview_id");
43
+
44
+ -- CreateIndex
45
+ CREATE INDEX "ZoomMeeting_interview_id_idx" ON "ZoomMeeting"("interview_id");
46
+
47
+ -- CreateIndex
48
+ CREATE INDEX "ZoomMeeting_zoom_meeting_id_idx" ON "ZoomMeeting"("zoom_meeting_id");
49
+
50
+ -- CreateIndex
51
+ CREATE INDEX "ZoomMeetingParticipant_zoom_meeting_row_id_idx" ON "ZoomMeetingParticipant"("zoom_meeting_row_id");
52
+
53
+ -- AddForeignKey
54
+ ALTER TABLE "ZoomMeeting" ADD CONSTRAINT "ZoomMeeting_interview_id_fkey" FOREIGN KEY ("interview_id") REFERENCES "Interview"("id") ON DELETE CASCADE ON UPDATE CASCADE;
55
+
56
+ -- AddForeignKey
57
+ ALTER TABLE "ZoomMeetingParticipant" ADD CONSTRAINT "ZoomMeetingParticipant_zoom_meeting_row_id_fkey" FOREIGN KEY ("zoom_meeting_row_id") REFERENCES "ZoomMeeting"("id") ON DELETE CASCADE ON UPDATE CASCADE;