Class: Dbviewer::HomeController

Inherits:
ApplicationController show all
Defined in:
app/controllers/dbviewer/home_controller.rb

Instance Method Summary collapse

Methods included from ErrorHandling

#handle_database_error, #log_error

Methods included from DatabaseOperations

#calculate_schema_size, #current_table?, #database_manager, #execute_query, #export_table_to_csv, #fetch_database_analytics, #fetch_filtered_record_count, #fetch_mini_erd_for_table, #fetch_table_columns, #fetch_table_metadata, #fetch_table_record_count, #fetch_table_records, #fetch_table_relationships, #fetch_tables_with_stats, #get_database_name, #prepare_query, #safe_quote_table_name, #table_query_operations

Instance Method Details

#analyticsObject



8
9
10
11
12
13
14
# File 'app/controllers/dbviewer/home_controller.rb', line 8

def analytics
  @analytics = fetch_database_analytics

  respond_to do |format|
    format.json { render json: @analytics }
  end
end

#indexObject



3
4
5
6
# File 'app/controllers/dbviewer/home_controller.rb', line 3

def index
  # Load page immediately without heavy data
  # Data will be loaded asynchronously via AJAX
end

#recent_queriesObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/dbviewer/home_controller.rb', line 16

def recent_queries
  @recent_queries = if Dbviewer.configuration.enable_query_logging
    Dbviewer::Logger.instance.recent_queries(limit: 10)
  else
    []
  end

  respond_to do |format|
    format.json do
      render json: {
        enabled: Dbviewer.configuration.enable_query_logging,
        queries: @recent_queries
      }
    end
  end
end