diff --git a/app/models/file_attachment.rb b/app/models/file_attachment.rb index 0d4e434b2db..9cb7acef905 100644 --- a/app/models/file_attachment.rb +++ b/app/models/file_attachment.rb @@ -55,6 +55,7 @@ def publishing_api_details_for_format filename:, number_of_pages:, preview_url:, + attachment_data_id:, } end @@ -66,6 +67,12 @@ def alternative_format_contact_email nil end + def attachment_data_id + return unless csv? && attachable.is_a?(Edition) && attachment_data.all_asset_variants_uploaded? + + attachment_data.id + end + def preview_url return unless csv? && attachable.is_a?(Edition) && attachment_data.all_asset_variants_uploaded? diff --git a/test/unit/app/models/file_attachment_test.rb b/test/unit/app/models/file_attachment_test.rb index 7cca1fec314..6ce4443deb3 100644 --- a/test/unit/app/models/file_attachment_test.rb +++ b/test/unit/app/models/file_attachment_test.rb @@ -68,4 +68,9 @@ def assert_delegated(attachment, method) attachment = create(:csv_attachment, attachable: create(:edition)) assert_equal Plek.asset_root + "/media/#{attachment.attachment_data.id}/sample.csv/preview", attachment.publishing_api_details_for_format[:preview_url] end + + test "return media attachment_data_id if all_asset_variants_uploaded?" do + attachment = create(:csv_attachment, attachable: create(:edition)) + assert_equal attachment.attachment_data.id, attachment.publishing_api_details_for_format[:attachment_data_id] + end end