use crate::core::shared::schema::core::{organizations, bots}; diesel::table! { dashboards (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, owner_id -> Uuid, name -> Varchar, description -> Nullable, layout -> Jsonb, refresh_interval -> Nullable, is_public -> Bool, is_template -> Bool, tags -> Array, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { dashboard_widgets (id) { id -> Uuid, dashboard_id -> Uuid, widget_type -> Varchar, title -> Varchar, position_x -> Int4, position_y -> Int4, width -> Int4, height -> Int4, config -> Jsonb, data_query -> Nullable, style -> Jsonb, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { dashboard_data_sources (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, name -> Varchar, description -> Nullable, source_type -> Varchar, connection -> Jsonb, schema_definition -> Jsonb, refresh_schedule -> Nullable, last_sync -> Nullable, status -> Varchar, created_at -> Timestamptz, updated_at -> Timestamptz, } } diesel::table! { dashboard_filters (id) { id -> Uuid, dashboard_id -> Uuid, name -> Varchar, field -> Varchar, filter_type -> Varchar, default_value -> Nullable, options -> Jsonb, linked_widgets -> Jsonb, created_at -> Timestamptz, } } diesel::table! { dashboard_widget_data_sources (id) { id -> Uuid, widget_id -> Uuid, data_source_id -> Uuid, created_at -> Timestamptz, } } diesel::table! { conversational_queries (id) { id -> Uuid, org_id -> Uuid, bot_id -> Uuid, dashboard_id -> Nullable, user_id -> Uuid, natural_language -> Text, generated_query -> Nullable, result_widget_config -> Nullable, created_at -> Timestamptz, } } diesel::joinable!(dashboards -> organizations (org_id)); diesel::joinable!(dashboards -> bots (bot_id)); diesel::joinable!(dashboard_widgets -> dashboards (dashboard_id)); diesel::joinable!(dashboard_data_sources -> organizations (org_id)); diesel::joinable!(dashboard_data_sources -> bots (bot_id)); diesel::joinable!(dashboard_filters -> dashboards (dashboard_id)); diesel::joinable!(dashboard_widget_data_sources -> dashboard_widgets (widget_id)); diesel::joinable!(dashboard_widget_data_sources -> dashboard_data_sources (data_source_id)); diesel::joinable!(conversational_queries -> organizations (org_id)); diesel::joinable!(conversational_queries -> bots (bot_id));