From aba5a4700f2153aafd2645dd69da03879ac7ff98 Mon Sep 17 00:00:00 2001 From: Chris Colvard Date: Mon, 16 Mar 2020 15:39:39 -0400 Subject: [PATCH] Do not inline structure if query parameter is false --- app/controllers/media_objects_controller.rb | 2 +- spec/controllers/media_objects_controller_spec.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/media_objects_controller.rb b/app/controllers/media_objects_controller.rb index 61b3455f70..e4c5cb905d 100644 --- a/app/controllers/media_objects_controller.rb +++ b/app/controllers/media_objects_controller.rb @@ -333,7 +333,7 @@ def show end end format.json do - response_json = @media_object.as_json(include_structure: params[:include_structure]) + response_json = @media_object.as_json(include_structure: params[:include_structure] == "true") response_json.except!(:files, :visibility, :read_groups) unless current_ability.can? :edit, @media_object render json: response_json.to_json end diff --git a/spec/controllers/media_objects_controller_spec.rb b/spec/controllers/media_objects_controller_spec.rb index a98e4a62d1..8abafd1019 100644 --- a/spec/controllers/media_objects_controller_spec.rb +++ b/spec/controllers/media_objects_controller_spec.rb @@ -936,6 +936,11 @@ get 'show', params: { id: media_object.id, format:'json', include_structure: true } expect(json['files'].first['structure']).to eq master_file.structuralMetadata.content end + + it "should not return structure inline if requested not to" do + get 'show', params: { id: media_object.id, format:'json', include_structure: false } + expect(json['files'].first['structure']).not_to eq master_file.structuralMetadata.content + end end end end