diff --git a/app/api/io/study.rb b/app/api/io/study.rb index ff3165c4f4..26b1a30aa4 100644 --- a/app/api/io/study.rb +++ b/app/api/io/study.rb @@ -7,26 +7,27 @@ class Io::Study < Core::Io::Base define_attribute_and_json_mapping( ' - name => name - ethically_approved => ethically_approved - state => state - abbreviation => abbreviation + name => name + ethically_approved => ethically_approved + state => state + abbreviation => abbreviation - study_metadata.study_type.name => type - study_metadata.faculty_sponsor.name => sac_sponsor - study_metadata.reference_genome.name => reference_genome - study_metadata.study_ebi_accession_number => accession_number - study_metadata.study_description => description - study_metadata.study_abstract => abstract + study_metadata.study_type.name => type + study_metadata.faculty_sponsor.name => sac_sponsor + study_metadata.reference_genome.name => reference_genome + study_metadata.study_ebi_accession_number => accession_number + study_metadata.study_description => description + study_metadata.study_abstract => abstract - study_metadata.contaminated_human_dna => contaminated_human_dna - study_metadata.remove_x_and_autosomes? => remove_x_and_autosomes - study_metadata.separate_y_chromosome_data => separate_y_chromosome_data - study_metadata.contains_human_dna => contains_human_dna - study_metadata.commercially_available => commercially_available - study_metadata.data_release_study_type.name => data_release_sort_of_study - study_metadata.data_release_strategy => data_release_strategy + study_metadata.contaminated_human_dna => contaminated_human_dna + study_metadata.remove_x_and_autosomes? => remove_x_and_autosomes + study_metadata.separate_y_chromosome_data => separate_y_chromosome_data + study_metadata.contains_human_dna => contains_human_dna + study_metadata.commercially_available => commercially_available + study_metadata.data_release_study_type.name => data_release_sort_of_study + study_metadata.data_release_strategy => data_release_strategy study_metadata.contaminated_human_data_access_group => contaminated_human_data_access_group + study_metadata.program => program ' ) end diff --git a/app/models/api/study_io.rb b/app/models/api/study_io.rb index 84eda27ee3..0df0050d15 100644 --- a/app/models/api/study_io.rb +++ b/app/models/api/study_io.rb @@ -100,5 +100,6 @@ def render_class map_attribute_to_json_attribute(:s3_email_list) map_attribute_to_json_attribute(:data_deletion_period) map_attribute_to_json_attribute(:contaminated_human_data_access_group) + with_association(:program, lookup_by: :id) { map_attribute_to_json_attribute(:name, 'program') } end end diff --git a/spec/models/api/study_io_spec.rb b/spec/models/api/study_io_spec.rb index 405a0657b5..2159286944 100644 --- a/spec/models/api/study_io_spec.rb +++ b/spec/models/api/study_io_spec.rb @@ -14,6 +14,7 @@ array_express_accession_number: 'AE111', ega_policy_accession_number: 'EGA222', ega_dac_accession_number: 'DAC333', + program: create(:program, name: 'General'), contaminated_human_data_access_group: 'contaminated human data access group test' } end @@ -53,6 +54,7 @@ 's3_email_list' => 'aa1@sanger.ac.uk;aa2@sanger.ac.uk', 'data_deletion_period' => '3 months', 'contaminated_human_data_access_group' => 'contaminated human data access group test', + 'program' => 'General', 'manager' => [ { login: manager.login, email: manager.email, name: manager.name }, { login: manager2.login, email: manager2.email, name: manager2.name }