use crate::core::shared::schema::core::{organizations, bots}; diesel::table! { legal_documents (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, slug -> Varchar, title -> Varchar, content -> Text, document_type -> Varchar, version -> Varchar, effective_date -> Timestamptz, is_active -> Bool, requires_acceptance -> Bool, metadata -> Jsonb, created_by -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { legal_document_versions (id) { id -> Uuid, document_id -> Uuid, version -> Varchar, content -> Text, change_summary -> Nullable, created_by -> Nullable, created_at -> Timestamptz, } } diesel::table! { cookie_consents (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, user_id -> Nullable, session_id -> Nullable, ip_address -> Nullable, user_agent -> Nullable, country_code -> Nullable, consent_necessary -> Bool, consent_analytics -> Bool, consent_marketing -> Bool, consent_preferences -> Bool, consent_functional -> Bool, consent_version -> Varchar, consent_given_at -> Timestamptz, consent_updated_at -> Timestamptz, consent_withdrawn_at -> Nullable, created_at -> Timestamptz, } } diesel::table! { consent_history (id) { id -> Uuid, consent_id -> Uuid, action -> Varchar, previous_consents -> Jsonb, new_consents -> Jsonb, ip_address -> Nullable, user_agent -> Nullable, created_at -> Timestamptz, } } diesel::table! { legal_acceptances (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, user_id -> Uuid, document_id -> Uuid, document_version -> Varchar, accepted_at -> Timestamptz, ip_address -> Nullable, user_agent -> Nullable, } } diesel::table! { data_deletion_requests (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, user_id -> Uuid, request_type -> Varchar, status -> Varchar, reason -> Nullable, requested_at -> Timestamptz, scheduled_for -> Nullable, completed_at -> Nullable, confirmation_token -> Varchar, confirmed_at -> Nullable, processed_by -> Nullable, notes -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { data_export_requests (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, user_id -> Uuid, status -> Varchar, format -> Varchar, include_sections -> Jsonb, requested_at -> Timestamptz, started_at -> Nullable, completed_at -> Nullable, file_url -> Nullable, file_size -> Nullable, expires_at -> Nullable, error_message -> Nullable, created_at -> Timestamptz, } } diesel::table! { compliance_checks (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, framework -> Varchar, control_id -> Varchar, control_name -> Varchar, status -> Varchar, score -> Numeric, checked_at -> Timestamptz, checked_by -> Nullable, evidence -> Jsonb, notes -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { compliance_issues (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, check_id -> Nullable, severity -> Varchar, title -> Varchar, description -> Text, remediation -> Nullable, due_date -> Nullable, assigned_to -> Nullable, status -> Varchar, resolved_at -> Nullable, resolved_by -> Nullable, resolution_notes -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { compliance_audit_log (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, event_type -> Varchar, user_id -> Nullable, resource_type -> Varchar, resource_id -> Varchar, action -> Varchar, result -> Varchar, ip_address -> Nullable, user_agent -> Nullable, metadata -> Jsonb, created_at -> Timestamptz, } } diesel::table! { compliance_evidence (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, check_id -> Nullable, issue_id -> Nullable, evidence_type -> Varchar, title -> Varchar, description -> Nullable, file_url -> Nullable, file_name -> Nullable, file_size -> Nullable, mime_type -> Nullable, metadata -> Jsonb, collected_at -> Timestamptz, collected_by -> Nullable, created_at -> Timestamptz, } } diesel::table! { compliance_risk_assessments (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, title -> Varchar, assessor_id -> Uuid, methodology -> Varchar, overall_risk_score -> Numeric, status -> Varchar, started_at -> Timestamptz, completed_at -> Nullable, next_review_date -> Nullable, notes -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { compliance_risks (id) { id -> Uuid, assessment_id -> Uuid, title -> Varchar, description -> Nullable, category -> Varchar, likelihood_score -> Int4, impact_score -> Int4, risk_score -> Int4, risk_level -> Varchar, current_controls -> Jsonb, treatment_strategy -> Varchar, status -> Varchar, owner_id -> Nullable, due_date -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { compliance_training_records (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, user_id -> Uuid, training_type -> Varchar, training_name -> Varchar, provider -> Nullable, score -> Nullable, passed -> Bool, completion_date -> Timestamptz, valid_until -> Nullable, certificate_url -> Nullable, metadata -> Jsonb, created_at -> Timestamptz, } } diesel::table! { compliance_access_reviews (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, user_id -> Uuid, reviewer_id -> Uuid, review_date -> Timestamptz, permissions_reviewed -> Jsonb, anomalies -> Jsonb, recommendations -> Jsonb, status -> Varchar, approved_at -> Nullable, notes -> Nullable, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::joinable!(legal_documents -> organizations (org_id)); diesel::joinable!(legal_documents -> bots (bot_id)); diesel::joinable!(legal_document_versions -> legal_documents (document_id)); diesel::joinable!(cookie_consents -> organizations (org_id)); diesel::joinable!(cookie_consents -> bots (bot_id)); diesel::joinable!(consent_history -> cookie_consents (consent_id)); diesel::joinable!(legal_acceptances -> organizations (org_id)); diesel::joinable!(legal_acceptances -> bots (bot_id)); diesel::joinable!(legal_acceptances -> legal_documents (document_id)); diesel::joinable!(data_deletion_requests -> organizations (org_id)); diesel::joinable!(data_deletion_requests -> bots (bot_id)); diesel::joinable!(data_export_requests -> organizations (org_id)); diesel::joinable!(data_export_requests -> bots (bot_id)); diesel::joinable!(compliance_checks -> organizations (org_id)); diesel::joinable!(compliance_checks -> bots (bot_id)); diesel::joinable!(compliance_issues -> organizations (org_id)); diesel::joinable!(compliance_issues -> bots (bot_id)); diesel::joinable!(compliance_issues -> compliance_checks (check_id)); diesel::joinable!(compliance_audit_log -> organizations (org_id)); diesel::joinable!(compliance_audit_log -> bots (bot_id)); diesel::joinable!(compliance_evidence -> organizations (org_id)); diesel::joinable!(compliance_evidence -> bots (bot_id)); diesel::joinable!(compliance_risk_assessments -> organizations (org_id)); diesel::joinable!(compliance_risk_assessments -> bots (bot_id)); diesel::joinable!(compliance_risks -> compliance_risk_assessments (assessment_id)); diesel::joinable!(compliance_training_records -> organizations (org_id)); diesel::joinable!(compliance_training_records -> bots (bot_id)); diesel::joinable!(compliance_access_reviews -> organizations (org_id)); diesel::joinable!(compliance_access_reviews -> bots (bot_id));