Skip to content

Commit

Permalink
Tweaks to api to fix book (#951)
Browse files Browse the repository at this point in the history
* add links to the api so you can find the docs!
* Add some missing query_doc_pair attributes to the allow list for the api...
  • Loading branch information
epugh authored Feb 12, 2024
1 parent db4f41f commit eb9f715
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 19 deletions.
16 changes: 10 additions & 6 deletions app/controllers/api/v1/query_doc_pairs_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,14 @@ def create
@query_doc_pair = @book.query_doc_pairs.find_or_create_by query_text: params[:query_doc_pair][:query_text],
doc_id: params[:query_doc_pair][:doc_id]

@query_doc_pair.position = params[:query_doc_pair][:position] unless params[:query_doc_pair][:position].nil?
unless params[:query_doc_pair][:document_fields].nil?
@query_doc_pair.document_fields = params[:query_doc_pair][:document_fields].to_json
end
if @query_doc_pair.save
# @query_doc_pair.position = params[:query_doc_pair][:position] unless params[:query_doc_pair][:position].nil?
# unless params[:query_doc_pair][:document_fields].nil?
# @query_doc_pair.document_fields = params[:query_doc_pair][:document_fields]
# end
# if @query_doc_pair.save

update_params = query_doc_pair_params
if @query_doc_pair.update update_params
respond_with @query_doc_pair
else
render json: @query_doc_pair.errors, status: :bad_request
Expand Down Expand Up @@ -86,7 +89,8 @@ def destroy
private

def query_doc_pair_params
params.require(:query_doc_pair).permit(:document_fields, :position, :query_text, :doc_id)
params.require(:query_doc_pair).permit(:document_fields, :position, :query_text, :doc_id, :notes,
:information_need, options: {})
end

def set_query_doc_pair
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/v1/query_doc_pairs/index.json.jbuilder
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

json.all_query_doc_pairs do
json.query_doc_pairs do
json.array! @query_doc_pairs, partial: 'query_doc_pair', as: :query_doc_pair, locals: {}
end
1 change: 1 addition & 0 deletions app/views/layouts/_header.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
<li><%= link_to 'Log out', logout_path, class: 'dropdown-item', target: '_self' %></li>
<li><hr class="dropdown-divider"></li>
<li><%= link_to 'Judgements', books_path, class: 'dropdown-item', target: '_self' %></li>
<li><%= link_to 'API Docs', apipie_apipie_path, class: 'dropdown-item', target: '_self' %></li>
<% if current_user.administrator? %>
<li><hr class="dropdown-divider"></li>
<li><%= link_to 'Admin Home', admin_path, class: 'dropdown-item', target: '_self' %></li>
Expand Down
1 change: 1 addition & 0 deletions app/views/layouts/_header_core_app.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
<li><%= link_to 'Log out', logout_path, class: 'dropdown-link', target: '_self' %></li>
<li role="separator" class=""></li>
<li><%= link_to 'Judgements', books_path, class: 'dropdown-link', target: '_self' %></li>
<li><%= link_to 'API Docs', apipie_apipie_path, class: 'dropdown-item', target: '_self' %></li>
<% if current_user.administrator? %>
<li role="separator" class=""></li>
<li><%= link_to 'Admin Home', admin_path, class: 'dropdown-link', target: '_self' %></li>
Expand Down
5 changes: 4 additions & 1 deletion test/controllers/api/v1/query_doc_pairs_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,15 @@ class QueryDocPairsControllerTest < ActionController::TestCase
position: qdp.position,
query_text: qdp.query_text,
doc_id: qdp.doc_id,
options: qdp.options,
} }

assert_response :ok

assert_equal response.parsed_body['doc_id'], qdp.doc_id
assert_equal book.query_doc_pairs.count, count + 1

assert_equal response.parsed_body['doc_id'], qdp.doc_id
assert_equal response.parsed_body['options']['special_boost'].to_f, qdp.options['special_boost']
end

test 'requires a query text' do
Expand Down
23 changes: 12 additions & 11 deletions test/fixtures/query_doc_pairs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,56 +30,57 @@ one:
query_text: MyString
position: 1
doc_id: "MyDocA"
document_fields: MyText
document_fields: '{"title":"MyText"}'
book: one
options: '{"special_boost": 3.2}'

two:
query_text: MyString
position: 2
doc_id: "MyDocB"
document_fields: MyText
document_fields: '{"title":"MyText"}'
book: two

jbm_qdp1:
query_text: Best Bond Ever
position: 1
doc_id: SeanConnery
document_fields: MyTex
document_fields: '{"title":"MyText"}'
book: :james_bond_movies

jbm_qdp2:
query_text: Best Bond Ever
position: 2
doc_id: DanielCraig
document_fields: MyTex
document_fields: '{"title":"MyText"}'
book: :james_bond_movies

jbm_qdp3:
query_text: Best Bond Ever
position: 3
doc_id: TimothyDalton
document_fields: MyTex
document_fields: '{"title":"MyText"}'
book: :james_bond_movies

jbm_qdp4:
query_text: Best Bond Ever
position: 4
doc_id: RogerMoore
document_fields: MyTex
document_fields: '{"title":"MyText"}'
book: :james_bond_movies

jbm_qdp5:
query_text: Best Bond Ever
position: 5
doc_id: PierceBrosnan
document_fields: MyTex
document_fields: '{"title":"MyText"}'
book: :james_bond_movies

jbm_qdp6:
query_text: Best Bond Ever
position: 6
doc_id: GeorgeLazenby
document_fields: MyTex
document_fields: '{"title":"MyText"}'
book: :james_bond_movies

jbm_qdp10:
Expand All @@ -93,20 +94,20 @@ starwars_qdp1:
query_text: Han
position: 1
doc_id: Han Solo-A Star Wars Story
document_fields: MyTex
document_fields: '{"title":"Han Solo-A Star Wars Story"}'
book: :book_of_star_wars_judgements

starwars_qdp2:
query_text: Han
position: 2
doc_id: Star Wars The Movie
document_fields: MyTex
document_fields: '{"title":"Star Wars The Movie"}'
book: :book_of_star_wars_judgements

# This query doc pair overlaps with starwars_qdp2, to test merging books.
book_of_comedy_qdp1:
query_text: Han
position: 1
doc_id: Star Wars The Movie
document_fields: MyTex
document_fields: '{"title":"Star Wars The Movie"}'
book: :book_of_comedy_films

0 comments on commit eb9f715

Please sign in to comment.