@adaptware/eagles-db 0.5.63 → 0.5.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/edge.js +76 -88
- package/client/index-browser.js +72 -84
- package/client/index.d.ts +5414 -7939
- package/client/index.js +76 -88
- package/client/package.json +1 -1
- package/client/schema.prisma +135 -160
- package/client/wasm.js +76 -88
- package/package.json +1 -1
- package/prisma/schema/integration.prisma +1 -0
- package/prisma/schema/interview.prisma +0 -13
- package/prisma/schema/migrations/20260522120000_ongoing_evaluation_record_kind/migration.sql +25 -0
- package/prisma/schema/migrations/20260523120000_replace_record_kind_with_is_committed/migration.sql +24 -0
- package/prisma/schema/migrations/20260528120000_drop_job_description_recommendation_config/migration.sql +2 -0
- package/prisma/schema/migrations/20260710120000_add_resume_rendered_export_fields/migration.sql +9 -0
- package/prisma/schema/migrations/20260714120000_add_job_description_display_html_document/migration.sql +8 -0
- package/prisma/schema/migrations/20260716120000_add_offer_letters/migration.sql +183 -0
- package/prisma/schema/migrations/20260716140000_offer_schema_refinements/migration.sql +13 -0
- package/prisma/schema/migrations/20260716160000_offer_schema_hardening/migration.sql +95 -0
- package/prisma/schema/migrations/20260716180000_offer_letter_template_config/migration.sql +2 -0
- package/prisma/schema/migrations/20260716190000_add_evaluation_focus_areas/migration.sql +6 -0
- package/prisma/schema/migrations/20260717120000_offer_workflow_approval/migration.sql +30 -0
- package/prisma/schema/migrations/20260720120000_offer_letter_template_is_draft/migration.sql +5 -0
- package/prisma/schema/migrations/20260720140000_offer_status_split/migration.sql +51 -0
- package/prisma/schema/migrations/20260720140001_offer_status_split_backfill/migration.sql +37 -0
- package/prisma/schema/migrations/20260722120000_offer_draft_edited_html/migration.sql +13 -0
- package/prisma/schema/migrations/20260723150000_offer_withdraw_actor_no_show_reason/migration.sql +10 -0
- package/prisma/schema/migrations/20260724120000_open_job_offer_accepted_declined_counts/migration.sql +7 -0
- package/prisma/schema/migrations/20260811120000_add_integration_provider_razorpay/migration.sql +6 -0
- package/prisma/schema/migrations/20260812120000_add_billing_transactions/migration.sql +49 -0
- package/prisma/schema/migrations/20260812130000_drop_billing_transaction_gst_snapshots/migration.sql +3 -0
- package/prisma/schema/migrations/20260812180000_billing_transaction_invoice_number/migration.sql +5 -0
- package/prisma/schema/migrations/20260813120000_payment_webhooks_gst_refunds/migration.sql +79 -0
- package/prisma/schema/migrations/20260813140000_platform_gst_profiles/migration.sql +49 -0
- package/prisma/schema/migrations/20260813150000_rename_gst_profiles/migration.sql +53 -0
- package/prisma/schema/migrations/20260813160000_remove_gst_billing/migration.sql +16 -0
- package/prisma/schema/migrations/20260813170000_billing_licensing_unrecoverable/migration.sql +2 -0
- package/prisma/schema/migrations/20260813180000_billing_transaction_payment_method/migration.sql +2 -0
- package/prisma/schema/migrations/20260814090000_billing_transaction_purchaser_email/migration.sql +2 -0
- package/prisma/schema/migrations/20260816100000_billing_product_organisations/migration.sql +35 -0
- package/prisma/schema/migrations/20260816120000_merge_billing_product_organisations/migration.sql +25 -0
- package/prisma/schema/migrations/20260817120000_billing_payment_mismatch/migration.sql +7 -0
- package/prisma/schema/migrations/20260819120000_billing_product_prices/migration.sql +62 -0
- package/prisma/schema/migrations/20260819140000_billing_exchange_rates/migration.sql +25 -0
- package/prisma/schema/migrations/20260820120000_billing_transaction_failure_category/migration.sql +31 -0
- package/prisma/schema/migrations/20260820130000_backfill_billing_transaction_failure_details/migration.sql +23 -0
- package/prisma/schema/migrations/20260820140000_drop_billing_product_price_overrides/migration.sql +2 -0
- package/prisma/schema/migrations/20260821120000_drop_billing_product_and_mock_licensing/migration.sql +38 -0
- package/prisma/schema/migrations/20260824120000_billing_transaction_purchase_display_name/migration.sql +2 -0
- package/prisma/schema/migrations/20260831120000_user_communication_email/migration.sql +6 -0
- package/prisma/schema/migrations/20260901143000_assessment_question_bank_state/migration.sql +15 -0
- package/prisma/schema/migrations/20260902120000_question_category_two_values/migration.sql +16 -0
- package/prisma/schema/migrations/20260902143000_question_bank_item_key/migration.sql +17 -0
- package/prisma/schema/migrations/20260903120000_split_round_type_assessment/migration.sql +9 -0
- package/prisma/schema/migrations/20260904110000_restore_round_type_assessment_enum/migration.sql +5 -0
- package/prisma/schema/migrations/20260904120000_revert_wrong_split_assessment_round_types/migration.sql +42 -0
- package/prisma/schema/migrations/20260909140000_profile_interview_session/migration.sql +99 -0
- package/prisma/schema/migrations/20260911120000_unify_profile_interview_into_interview/migration.sql +139 -0
- package/prisma/schema/organisation.prisma +2 -0
- package/prisma/schema/payment/billingTransaction.prisma +83 -0
- package/prisma/schema/payment/paymentWebhookEvent.prisma +28 -0
- package/prisma/schema/user.prisma +0 -3
- package/prisma/.DS_Store +0 -0
- package/prisma/schema/.DS_Store +0 -0
- package/prisma/schema/migrations/.DS_Store +0 -0
- package/prisma/schema/migrations/20260826160000_add_application_fit_check_report_document/.DS_Store +0 -0
- package/prisma/schema/migrations/20260918153000_add_is_proctored_fields/migration.sql +0 -5
- package/prisma/schema/proctoring.prisma +0 -125
package/client/package.json
CHANGED
package/client/schema.prisma
CHANGED
|
@@ -1843,6 +1843,7 @@ enum IntegrationProvider {
|
|
|
1843
1843
|
MICROSOFT
|
|
1844
1844
|
ZOOM
|
|
1845
1845
|
CALENDLY
|
|
1846
|
+
RAZORPAY
|
|
1846
1847
|
|
|
1847
1848
|
@@schema("public")
|
|
1848
1849
|
}
|
|
@@ -2001,7 +2002,6 @@ model Interview {
|
|
|
2001
2002
|
recording_url String?
|
|
2002
2003
|
recording_document_id String? @unique
|
|
2003
2004
|
evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
|
|
2004
|
-
is_proctored Boolean @default(true) @map("is_proctored")
|
|
2005
2005
|
ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
|
|
2006
2006
|
interview_status InterviewStatus @default(SCHEDULED)
|
|
2007
2007
|
interview_platform InterviewPlatform @default(TREADSPACE)
|
|
@@ -2032,47 +2032,36 @@ model Interview {
|
|
|
2032
2032
|
/// When final human feedback was submitted.
|
|
2033
2033
|
evaluated_at DateTime?
|
|
2034
2034
|
|
|
2035
|
-
/// Candidate Acceptance & DPDP Consent
|
|
2036
|
-
candidate_status String? @default("INVITED")
|
|
2037
|
-
dpdp_consent_given Boolean @default(false)
|
|
2038
|
-
dpdp_consent_given_at DateTime?
|
|
2039
|
-
candidate_responded_at DateTime?
|
|
2040
|
-
decline_reason String?
|
|
2041
|
-
|
|
2042
2035
|
/// Self-scheduling
|
|
2043
|
-
reschedule_count Int
|
|
2036
|
+
reschedule_count Int @default(0)
|
|
2044
2037
|
last_rescheduled_at DateTime?
|
|
2045
2038
|
first_assigned_at DateTime?
|
|
2046
2039
|
/// True while the candidate is waiting on recruiter action (typically a
|
|
2047
2040
|
/// reassign) after they submitted alternate slots via "None match" /
|
|
2048
2041
|
/// "Suggest times". Cleared whenever the recruiter routes a fresh
|
|
2049
2042
|
/// request via `upsertInterviewRequestRecord`.
|
|
2050
|
-
awaiting_recruiter_action Boolean
|
|
2043
|
+
awaiting_recruiter_action Boolean @default(false)
|
|
2051
2044
|
/// Audit fields
|
|
2052
|
-
created_at DateTime
|
|
2053
|
-
updated_at DateTime
|
|
2045
|
+
created_at DateTime @default(now())
|
|
2046
|
+
updated_at DateTime @updatedAt
|
|
2054
2047
|
created_by String
|
|
2055
2048
|
updated_by String
|
|
2056
|
-
is_active Boolean
|
|
2057
|
-
|
|
2058
|
-
//interview proctoring
|
|
2059
|
-
proctoringSession ProctoringSession?
|
|
2060
|
-
|
|
2049
|
+
is_active Boolean @default(true)
|
|
2061
2050
|
// Relations
|
|
2062
|
-
candidate
|
|
2063
|
-
interviewer
|
|
2064
|
-
organisation
|
|
2065
|
-
recording_document
|
|
2066
|
-
job_description
|
|
2067
|
-
resume
|
|
2068
|
-
evaluation_plan
|
|
2069
|
-
application
|
|
2070
|
-
ongoing_evaluation
|
|
2071
|
-
transcripts
|
|
2072
|
-
suggestions
|
|
2073
|
-
interviewNotes
|
|
2074
|
-
liveAnalysis
|
|
2075
|
-
zoom_meeting
|
|
2051
|
+
candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
|
|
2052
|
+
interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
|
|
2053
|
+
organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2054
|
+
recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2055
|
+
job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2056
|
+
resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
2057
|
+
evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2058
|
+
application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2059
|
+
ongoing_evaluation OngoingEvaluation?
|
|
2060
|
+
transcripts Transcript[]
|
|
2061
|
+
suggestions Suggestion[]
|
|
2062
|
+
interviewNotes InterviewNotes[]
|
|
2063
|
+
liveAnalysis LiveAnalysis[]
|
|
2064
|
+
zoom_meeting ZoomMeeting?
|
|
2076
2065
|
|
|
2077
2066
|
// Indexes
|
|
2078
2067
|
@@index([candidate_id])
|
|
@@ -3609,6 +3598,8 @@ model Organisation {
|
|
|
3609
3598
|
licensing_ledger_entries LicensingLedgerEntry[]
|
|
3610
3599
|
license_package_organisations LicensePackageOrganisation[]
|
|
3611
3600
|
ai_cost_ledger_entries AiCostLedgerEntry[]
|
|
3601
|
+
billing_transactions BillingTransaction[]
|
|
3602
|
+
payment_webhook_events PaymentWebhookEvent[]
|
|
3612
3603
|
|
|
3613
3604
|
@@index([name])
|
|
3614
3605
|
@@schema("public")
|
|
@@ -3628,6 +3619,119 @@ model OrganisationConfig {
|
|
|
3628
3619
|
@@schema("public")
|
|
3629
3620
|
}
|
|
3630
3621
|
|
|
3622
|
+
// PAYMENT SERVICE boundary — portable payment microservice owns these enums/columns.
|
|
3623
|
+
|
|
3624
|
+
enum BillingTransactionStatus {
|
|
3625
|
+
INITIATED
|
|
3626
|
+
ORDER_CREATED
|
|
3627
|
+
PAYMENT_PENDING
|
|
3628
|
+
SUCCESS
|
|
3629
|
+
FAILED
|
|
3630
|
+
CANCELLED
|
|
3631
|
+
REFUND_PENDING
|
|
3632
|
+
REFUND_FAILED
|
|
3633
|
+
REFUNDED
|
|
3634
|
+
|
|
3635
|
+
@@schema("public")
|
|
3636
|
+
}
|
|
3637
|
+
|
|
3638
|
+
enum BillingTransactionType {
|
|
3639
|
+
PURCHASE
|
|
3640
|
+
TOP_UP
|
|
3641
|
+
REFUND
|
|
3642
|
+
|
|
3643
|
+
@@schema("public")
|
|
3644
|
+
}
|
|
3645
|
+
|
|
3646
|
+
enum BillingTransactionFailureCategory {
|
|
3647
|
+
RAZORPAY_ORDER
|
|
3648
|
+
RAZORPAY_PAYMENT
|
|
3649
|
+
REFUND
|
|
3650
|
+
INTERNAL
|
|
3651
|
+
|
|
3652
|
+
@@schema("public")
|
|
3653
|
+
}
|
|
3654
|
+
|
|
3655
|
+
/// Payment reconciliation state when Treadspace status is FAILED but Razorpay captured payment.
|
|
3656
|
+
enum BillingPaymentMismatchStatus {
|
|
3657
|
+
DETECTED
|
|
3658
|
+
UNFULFILLED
|
|
3659
|
+
|
|
3660
|
+
@@schema("public")
|
|
3661
|
+
}
|
|
3662
|
+
|
|
3663
|
+
/// Financial transaction lifecycle for organisation billing purchases.
|
|
3664
|
+
model BillingTransaction {
|
|
3665
|
+
id String @id @default(uuid())
|
|
3666
|
+
organisation_id String
|
|
3667
|
+
/// Opaque plan/product identity supplied at checkout. Not a catalog FK.
|
|
3668
|
+
purchase_reference String
|
|
3669
|
+
/// Human-readable snapshot captured at checkout for invoices and receipts.
|
|
3670
|
+
purchase_display_name String?
|
|
3671
|
+
transaction_type BillingTransactionType
|
|
3672
|
+
status BillingTransactionStatus @default(INITIATED)
|
|
3673
|
+
failure_category BillingTransactionFailureCategory?
|
|
3674
|
+
/// Human-readable or provider detail (e.g. Razorpay error_description).
|
|
3675
|
+
failure_reason String?
|
|
3676
|
+
amount Int
|
|
3677
|
+
currency String @default("INR")
|
|
3678
|
+
razorpay_order_id String?
|
|
3679
|
+
razorpay_payment_id String? @unique
|
|
3680
|
+
/// Razorpay payment method at capture (card, netbanking, upi, wallet, etc.).
|
|
3681
|
+
payment_method String?
|
|
3682
|
+
razorpay_subscription_id String?
|
|
3683
|
+
razorpay_refund_id String?
|
|
3684
|
+
refund_reason String?
|
|
3685
|
+
refund_amount Int?
|
|
3686
|
+
idempotency_key String @unique
|
|
3687
|
+
invoice_number String? @unique
|
|
3688
|
+
/// Email of the org Admin who initiated checkout (bill-to).
|
|
3689
|
+
purchaser_email String?
|
|
3690
|
+
/// Set when FAILED but Razorpay order/payment is captured (reconciliation path).
|
|
3691
|
+
payment_mismatch_status BillingPaymentMismatchStatus?
|
|
3692
|
+
/// Strict same-intent SUCCESS transaction that fulfilled the purchase (UNFULFILLED only).
|
|
3693
|
+
payment_mismatch_fulfilled_by_id String?
|
|
3694
|
+
created_at DateTime @default(now())
|
|
3695
|
+
updated_at DateTime @updatedAt
|
|
3696
|
+
|
|
3697
|
+
organisation Organisation @relation(fields: [organisation_id], references: [id])
|
|
3698
|
+
|
|
3699
|
+
@@index([organisation_id, status])
|
|
3700
|
+
@@index([purchase_reference])
|
|
3701
|
+
@@index([razorpay_order_id])
|
|
3702
|
+
@@map("billing_transactions")
|
|
3703
|
+
@@schema("public")
|
|
3704
|
+
}
|
|
3705
|
+
|
|
3706
|
+
enum PaymentWebhookEventStatus {
|
|
3707
|
+
RECEIVED
|
|
3708
|
+
PROCESSED
|
|
3709
|
+
FAILED
|
|
3710
|
+
|
|
3711
|
+
@@schema("public")
|
|
3712
|
+
}
|
|
3713
|
+
|
|
3714
|
+
/// Idempotent record of payment provider webhook deliveries.
|
|
3715
|
+
model PaymentWebhookEvent {
|
|
3716
|
+
id String @id @default(uuid())
|
|
3717
|
+
organisation_id String?
|
|
3718
|
+
provider String
|
|
3719
|
+
provider_event_id String
|
|
3720
|
+
event_type String
|
|
3721
|
+
status PaymentWebhookEventStatus @default(RECEIVED)
|
|
3722
|
+
billing_transaction_id String?
|
|
3723
|
+
error_message String?
|
|
3724
|
+
processed_at DateTime?
|
|
3725
|
+
created_at DateTime @default(now())
|
|
3726
|
+
|
|
3727
|
+
organisation Organisation? @relation(fields: [organisation_id], references: [id])
|
|
3728
|
+
|
|
3729
|
+
@@unique([provider, provider_event_id])
|
|
3730
|
+
@@index([status, created_at])
|
|
3731
|
+
@@map("payment_webhook_events")
|
|
3732
|
+
@@schema("public")
|
|
3733
|
+
}
|
|
3734
|
+
|
|
3631
3735
|
model Permission {
|
|
3632
3736
|
id String @id @default(uuid())
|
|
3633
3737
|
permissions String[] @default([])
|
|
@@ -3714,132 +3818,6 @@ model PipelineDistributionAnalyticsDaily {
|
|
|
3714
3818
|
@@schema("analytics")
|
|
3715
3819
|
}
|
|
3716
3820
|
|
|
3717
|
-
enum RiskLevel {
|
|
3718
|
-
LOW
|
|
3719
|
-
MEDIUM
|
|
3720
|
-
HIGH
|
|
3721
|
-
CRITICAL
|
|
3722
|
-
|
|
3723
|
-
@@schema("public")
|
|
3724
|
-
}
|
|
3725
|
-
|
|
3726
|
-
enum AnalysisStatus {
|
|
3727
|
-
QUEUED
|
|
3728
|
-
RUNNING
|
|
3729
|
-
COMPLETED
|
|
3730
|
-
FAILED
|
|
3731
|
-
|
|
3732
|
-
@@schema("public")
|
|
3733
|
-
}
|
|
3734
|
-
|
|
3735
|
-
enum ProctoringEventType {
|
|
3736
|
-
GAZE_DISRUPTION
|
|
3737
|
-
OBJECT_DETECTED
|
|
3738
|
-
FACE_MISSING
|
|
3739
|
-
MULTIPLE_FACES
|
|
3740
|
-
BROWSER_TAB_SWITCH
|
|
3741
|
-
BROWSER_BLUR
|
|
3742
|
-
FULLSCREEN_EXIT
|
|
3743
|
-
|
|
3744
|
-
@@schema("public")
|
|
3745
|
-
}
|
|
3746
|
-
|
|
3747
|
-
enum ProctoringSessionStatus {
|
|
3748
|
-
NOT_STARTED
|
|
3749
|
-
CALIBRATING
|
|
3750
|
-
CALIBRATED
|
|
3751
|
-
PROCESSING
|
|
3752
|
-
COMPLETED
|
|
3753
|
-
FAILED
|
|
3754
|
-
|
|
3755
|
-
@@schema("public")
|
|
3756
|
-
}
|
|
3757
|
-
|
|
3758
|
-
model ProctoringSession {
|
|
3759
|
-
id String @id @default(uuid()) @map("id")
|
|
3760
|
-
interviewId String @unique @map("interview_id")
|
|
3761
|
-
interview Interview @relation(fields: [interviewId], references: [id], onDelete: Cascade)
|
|
3762
|
-
|
|
3763
|
-
candidateId String @map("candidate_id")
|
|
3764
|
-
candidate User @relation(fields: [candidateId], references: [id], onDelete: Cascade)
|
|
3765
|
-
|
|
3766
|
-
// Proctoring Lifecycle & Media
|
|
3767
|
-
status ProctoringSessionStatus @default(NOT_STARTED) @map("status")
|
|
3768
|
-
calibrationFeatures Json? @map("calibration_features")
|
|
3769
|
-
fullVideoKey String? @map("full_video_key")
|
|
3770
|
-
fullVideoUrl String? @map("full_video_url")
|
|
3771
|
-
chunkCount Int @default(0) @map("chunk_count")
|
|
3772
|
-
completedChunks Int @default(0) @map("completed_chunks")
|
|
3773
|
-
|
|
3774
|
-
// High-Level Aggregated Metrics for Downstream AI Evaluation
|
|
3775
|
-
overallRisk RiskLevel @default(LOW) @map("overall_risk")
|
|
3776
|
-
integrityScore Float @default(100.0) @map("integrity_score")
|
|
3777
|
-
|
|
3778
|
-
totalDurationSec Float @default(0.0) @map("total_duration_sec")
|
|
3779
|
-
faceDetectedPct Float @default(100.0) @map("face_detected_pct")
|
|
3780
|
-
onScreenGazePct Float @default(100.0) @map("on_screen_gaze_pct")
|
|
3781
|
-
|
|
3782
|
-
// Event Counters
|
|
3783
|
-
totalGazeEvents Int @default(0) @map("total_gaze_events")
|
|
3784
|
-
totalObjectEvents Int @default(0) @map("total_object_events")
|
|
3785
|
-
totalFaceEvents Int @default(0) @map("total_face_events")
|
|
3786
|
-
totalBrowserEvents Int @default(0) @map("total_browser_events")
|
|
3787
|
-
|
|
3788
|
-
createdAt DateTime @default(now()) @map("created_at")
|
|
3789
|
-
updatedAt DateTime @updatedAt @map("updated_at")
|
|
3790
|
-
|
|
3791
|
-
analyses ProctoringAnalysis[]
|
|
3792
|
-
events ProctoringEvent[]
|
|
3793
|
-
|
|
3794
|
-
@@index([candidateId])
|
|
3795
|
-
@@map("proctoring_sessions")
|
|
3796
|
-
@@schema("public")
|
|
3797
|
-
}
|
|
3798
|
-
|
|
3799
|
-
model ProctoringAnalysis {
|
|
3800
|
-
id String @id @default(uuid()) @map("id")
|
|
3801
|
-
sessionId String @map("session_id")
|
|
3802
|
-
session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
|
3803
|
-
|
|
3804
|
-
status AnalysisStatus @default(QUEUED)
|
|
3805
|
-
|
|
3806
|
-
chunkIndex Int @default(0) @map("chunk_index")
|
|
3807
|
-
totalChunks Int @default(1) @map("total_chunks")
|
|
3808
|
-
startTimeSec Float @default(0.0) @map("start_time_sec")
|
|
3809
|
-
endTimeSec Float @default(0.0) @map("end_time_sec")
|
|
3810
|
-
|
|
3811
|
-
videoKey String? @map("video_key")
|
|
3812
|
-
annotatedKey String? @map("annotated_key")
|
|
3813
|
-
|
|
3814
|
-
error String?
|
|
3815
|
-
createdAt DateTime @default(now()) @map("created_at")
|
|
3816
|
-
updatedAt DateTime @updatedAt @map("updated_at")
|
|
3817
|
-
|
|
3818
|
-
@@index([sessionId, chunkIndex])
|
|
3819
|
-
@@map("proctoring_analyses")
|
|
3820
|
-
@@schema("public")
|
|
3821
|
-
}
|
|
3822
|
-
|
|
3823
|
-
model ProctoringEvent {
|
|
3824
|
-
id String @id @default(uuid()) @map("id")
|
|
3825
|
-
sessionId String @map("session_id")
|
|
3826
|
-
session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
|
3827
|
-
|
|
3828
|
-
eventType ProctoringEventType @map("event_type")
|
|
3829
|
-
timestampSec Float @map("timestamp_sec")
|
|
3830
|
-
timestampStr String @map("timestamp_str")
|
|
3831
|
-
|
|
3832
|
-
risk RiskLevel @default(LOW)
|
|
3833
|
-
metadata Json?
|
|
3834
|
-
|
|
3835
|
-
createdAt DateTime @default(now()) @map("created_at")
|
|
3836
|
-
|
|
3837
|
-
@@index([sessionId, timestampSec])
|
|
3838
|
-
@@index([sessionId, eventType])
|
|
3839
|
-
@@map("proctoring_events")
|
|
3840
|
-
@@schema("public")
|
|
3841
|
-
}
|
|
3842
|
-
|
|
3843
3821
|
enum AsyncOperationStatus {
|
|
3844
3822
|
PENDING
|
|
3845
3823
|
IN_PROGRESS
|
|
@@ -4622,9 +4600,6 @@ model User {
|
|
|
4622
4600
|
notes Notes[]
|
|
4623
4601
|
recruiter_applications Application[] @relation("ApplicationRecruiter")
|
|
4624
4602
|
|
|
4625
|
-
// user proctoring
|
|
4626
|
-
proctoringSessions ProctoringSession[]
|
|
4627
|
-
|
|
4628
4603
|
name String?
|
|
4629
4604
|
phone String?
|
|
4630
4605
|
/// Contact email for interviews, assessments, and resume export. Login stays on `email`.
|