- {{ace-editor content=selectedItem.sql mode="sql"}}
+ {{ace-editor content=selectedItem.sql mode="sql" disabled=selectedItem.destroyed}}
diff --git a/plugin.rb b/plugin.rb
index 1118328..61ea23d 100644
--- a/plugin.rb
+++ b/plugin.rb
@@ -886,14 +886,16 @@ SQL
DataExplorer::Engine.routes.draw do
root to: "query#index"
- get 'schema' => "query#schema"
get 'queries' => "query#index"
- get 'groups' => "query#groups"
- post 'queries' => "query#create"
- get 'queries/:id' => "query#show"
- put 'queries/:id' => "query#update"
- delete 'queries/:id' => "query#destroy"
- post 'queries/:id/run' => "query#run", constraints: { format: /(json|csv)/ }
+ scope "/", defaults: { format: :json } do
+ get 'schema' => "query#schema"
+ get 'groups' => "query#groups"
+ post 'queries' => "query#create"
+ get 'queries/:id' => "query#show"
+ put 'queries/:id' => "query#update"
+ delete 'queries/:id' => "query#destroy"
+ post 'queries/:id/run' => "query#run", constraints: { format: /(json|csv)/ }
+ end
end
Discourse::Application.routes.append do
diff --git a/spec/requests/query_controller_spec.rb b/spec/requests/query_controller_spec.rb
index f322ce9..e89ba83 100644
--- a/spec/requests/query_controller_spec.rb
+++ b/spec/requests/query_controller_spec.rb
@@ -107,6 +107,19 @@ describe DataExplorer::QueryController do
expect(response.status).to eq(200)
end
+
+ it "returns a proper json error for invalid updates" do
+
+ query = DataExplorer::Query.find(-4)
+ put "/admin/plugins/explorer/queries/#{query.id}", params: {
+ "query" => {
+ "name" => "",
+ },
+ "id" => query.id }
+
+ expect(response.status).to eq(422)
+ expect(response.parsed_body["errors"]).to eq(["Name can't be blank"])
+ end
end
describe "#run" do
@@ -304,8 +317,6 @@ describe DataExplorer::QueryController do
DataExplorer.send(:remove_const, "QUERY_RESULT_MAX_LIMIT")
DataExplorer.const_set("QUERY_RESULT_MAX_LIMIT", 2)
- ids = Post.order(:id).pluck(:id)
-
query = make_query <<~SQL
SELECT id FROM posts
SQL