ToolJet/app/controllers/data_sources_controller.rb

44 lines
1.2 KiB
Ruby
Raw Normal View History

2021-04-03 05:57:55 +00:00
class DataSourcesController < ApplicationController
def index
@data_sources = DataSource.where(app_id: params[:app_id])
end
2021-04-03 05:57:55 +00:00
def create
2021-04-15 07:39:45 +00:00
options = params[:options]
options_to_save = {}
options.each do |option|
if option["encrypted"]
credential = Credential.create(value: option["value"])
options_to_save[option["key"]] = {
credential_id: credential.id,
encrypted: option["encrypted"]
}
else
options_to_save[option["key"]] = {
value: option["value"],
encrypted: option["encrypted"]
}
end
end
2021-04-03 05:57:55 +00:00
@data_source = DataSource.create(
name: params[:name],
kind: params[:kind],
2021-04-15 07:39:45 +00:00
options: options_to_save,
2021-04-03 05:57:55 +00:00
app_id: params[:app_id]
)
end
2021-04-12 13:35:48 +00:00
def test_connection
service = DataSourceConnectionService.new params[:kind], params[:options]
service.process
render json: { status: 200 }
rescue StandardError => error
render json: { error: error }, status: 500
end
2021-04-03 05:57:55 +00:00
end