@adaptware/eagles-db 0.1.81 → 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 (28) hide show
  1. package/client/edge.js +68 -9
  2. package/client/index-browser.js +63 -4
  3. package/client/index.d.ts +6230 -314
  4. package/client/index.js +68 -9
  5. package/client/package.json +1 -1
  6. package/client/schema.prisma +102 -5
  7. package/client/wasm.js +63 -4
  8. package/package.json +1 -1
  9. package/prisma/.DS_Store +0 -0
  10. package/prisma/migrations/20260415120000_remove_job_profile_current_phase/migration.sql +2 -0
  11. package/prisma/migrations/20260422120000_add_integration_provider_zoom/migration.sql +2 -0
  12. package/prisma/migrations/20260422140000_add_zoom_meeting_tables/migration.sql +57 -0
  13. package/prisma/migrations/20260422180000_add_zoom_webhook_event/migration.sql +18 -0
  14. package/prisma/migrations/20260423140000_add_interview_platform/migration.sql +6 -0
  15. package/prisma/migrations/20260423150000_remove_interview_zoom_topic/migration.sql +2 -0
  16. package/prisma/migrations/20260423160000_zoom_meeting_uuid/migration.sql +4 -0
  17. package/prisma/migrations/20260424120000_auth_module_user_provider_unique/migration.sql +5 -0
  18. package/prisma/migrations/20260424130000_zoom_meeting_zoom_host_user_id/migration.sql +6 -0
  19. package/prisma/migrations/20260425100000_zoom_participant_user_enum/migration.sql +22 -0
  20. package/prisma/migrations/20260425110000_zoom_participant_zoom_id_required/migration.sql +13 -0
  21. package/prisma/migrations/20260425120000_zoom_participant_id_nullable/migration.sql +4 -0
  22. package/prisma/migrations/migration_lock.toml +3 -0
  23. package/prisma/schema/authModule.prisma +10 -5
  24. package/prisma/schema/integration.prisma +14 -10
  25. package/prisma/schema/interview.prisma +7 -0
  26. package/prisma/schema/user.prisma +1 -0
  27. package/prisma/schema/zoomMeeting.prisma +79 -0
  28. package/client/libquery_engine-darwin.dylib.node +0 -0
@@ -0,0 +1,79 @@
1
+ /// Expected attendee slot when persisting interview-linked Zoom participants (`CANDIDATE` | `INTERVIEWER`).
2
+ enum ZoomMeetingParticipantRole {
3
+ CANDIDATE
4
+ INTERVIEWER
5
+ }
6
+
7
+ /// Zoom meeting linked 1:1 to an interview; Zoom REST host is `zoom_host_user_id`.
8
+ model ZoomMeeting {
9
+ id String @id @default(uuid())
10
+ /// One Zoom row per interview.
11
+ interview_id String @unique
12
+ interview Interview @relation(fields: [interview_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
13
+
14
+ /// Treadspace user id whose Zoom User-OAuth token created this meeting; required for PATCH/DELETE on Zoom REST.
15
+ /// Set from the Zoom host `userId` in `ZoomMeetingDAO.upsertZoomParticipants` (same user as `POST /users/me/meetings`).
16
+ zoom_host_user_id String
17
+
18
+ /// Zoom REST/API meeting id (same value used as Meeting SDK `meetingNumber` / JWT `mn`).
19
+ zoom_meeting_id String
20
+ /// Zoom meeting **instance** UUID from REST create (`uuid`) and RTMS/webhooks (`meeting_uuid`).
21
+ zoom_meeting_uuid String?
22
+ join_url String
23
+ start_url String?
24
+ password String?
25
+ topic String?
26
+
27
+ scheduled_start_time DateTime?
28
+ scheduled_end_time DateTime?
29
+
30
+ is_active Boolean @default(true)
31
+
32
+ created_at DateTime @default(now())
33
+ updated_at DateTime @updatedAt
34
+ /// Audit; kept aligned with `zoom_host_user_id` when the meeting is recreated under a new host.
35
+ created_by String
36
+ updated_by String
37
+
38
+ participants ZoomMeetingParticipant[]
39
+
40
+ @@index([interview_id])
41
+ @@index([zoom_meeting_id])
42
+ @@index([zoom_meeting_uuid])
43
+ }
44
+
45
+ /// Expected participants for a `ZoomMeeting`: links to `User` (candidate / interviewer). Replaced on each meeting upsert.
46
+ model ZoomMeetingParticipant {
47
+ id String @id @default(uuid())
48
+ zoom_meeting_row_id String
49
+ zoom_meeting ZoomMeeting @relation(fields: [zoom_meeting_row_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
50
+ user_id String
51
+ user User @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
52
+ /// Zoom account id (`AuthModule.provider_account_id`) when this `user_id` has linked Zoom; usually set for interviewer, often null for candidate.
53
+ zoom_participant_id String?
54
+ role ZoomMeetingParticipantRole
55
+
56
+ is_active Boolean @default(true)
57
+
58
+ created_at DateTime @default(now())
59
+ updated_at DateTime @updatedAt
60
+ created_by String
61
+ updated_by String
62
+
63
+ @@index([zoom_meeting_row_id])
64
+ @@index([user_id])
65
+ @@index([zoom_participant_id])
66
+ }
67
+
68
+ /// Ledger of processed Zoom webhook deliveries: one row per `dedupe_key` (request id or body hash).
69
+ /// Stops double-handling when Zoom retries the same notification (e.g. RTMS, `meeting.started`).
70
+ model ZoomWebhookEvent {
71
+ id String @id @default(uuid())
72
+ /// Stable key: SHA-256 of raw request body, or `x-zm-trackingid` when present.
73
+ dedupe_key String @unique
74
+ event String
75
+ created_at DateTime @default(now())
76
+
77
+ @@index([event])
78
+ @@index([created_at])
79
+ }