Class: RailsAgents::SchemaController

Inherits:
ApplicationController show all
Defined in:
app/controllers/rails_agents/schema_controller.rb

Instance Method Summary collapse

Instance Method Details

#showObject

GET /agents/schema — table list for Knowledge → Rails database connector



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/rails_agents/schema_controller.rb', line 6

def show
  databases = configured_databases
  tables = active_record_tables
  tables.concat(mongoid_collections) if tables.empty? || databases.any? { |db| db[:adapter] == "mongoid" }
  primary = databases.find { |db| db[:name] == "primary" } || databases.first

  render json: {
    ok: true,
    tables: tables,
    adapter: primary&.dig(:adapter),
    databases: databases,
    config_files: detected_config_files
  }
rescue StandardError => e
  render json: { ok: false, error: e.message, tables: [] }, status: :unprocessable_entity
end