Class: OpenehrRails::QueriesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- OpenehrRails::QueriesController
- Defined in:
- app/controllers/openehr_rails/queries_controller.rb
Overview
openEHR REST API QUERY resource (base URL:
Instance Method Summary collapse
-
#execute ⇒ Object
GET /v1/query/aql?q=...&query_parameters="min":100 POST /v1/query/aql { "q": "...", "query_parameters": ... }.
- #openehr_access_scope ⇒ Object
-
#show ⇒ Object
GET /query -- HTML console.
Instance Method Details
#execute ⇒ Object
GET /v1/query/aql?q=...&query_parameters="min":100 POST /v1/query/aql { "q": "...", "query_parameters": ... }
24 25 26 27 28 29 30 |
# File 'app/controllers/openehr_rails/queries_controller.rb', line 24 def execute q = query_text return render json: { error: 'q is required' }, status: :bad_request if q.blank? result = OpenehrRails::Aql.execute(q, params: query_parameters) render json: { q: q }.merge(JSON.parse(result.to_json)) end |
#openehr_access_scope ⇒ Object
14 15 16 |
# File 'app/controllers/openehr_rails/queries_controller.rb', line 14 def openehr_access_scope action_name == 'execute' ? :rest_api : :admin end |
#show ⇒ Object
GET /query -- HTML console. Executes via fetch against POST /v1/query/aql below, so there is exactly one execution path.
20 |
# File 'app/controllers/openehr_rails/queries_controller.rb', line 20 def show; end |