Method: CmisServer::AtomPub::QueryController#query

Defined in:
app/controllers/cmis_server/atom_pub/query_controller.rb

#queryObject

POST /query



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/cmis_server/atom_pub/query_controller.rb', line 9

def query
  query_data = parse_query_request
  
  begin
    discovery_service = CmisServer::DiscoveryService.new(context: context)
    results = discovery_service.query(
      statement: query_data[:statement],
      search_all_versions: query_data[:search_all_versions],
      include_allowable_actions: query_data[:include_allowable_actions],
      include_relationships: query_data[:include_relationships],
      rendition_filter: query_data[:rendition_filter],
      max_items: query_data[:max_items],
      skip_count: query_data[:skip_count]
    )
    
    respond_to do |format|
      format.atom_feed { render "cmis_server/atom_pub/query_results_feed", locals: { results: results } }
      format.json { render json: format_query_results_for_json(results) }
    end
  rescue => e
    render_error(e)
  end
end