diff --git a/app/deserializers/integrations/my_mini_factory/model_deserializer.rb b/app/deserializers/integrations/my_mini_factory/model_deserializer.rb index 1656a8570..ee0d54d2e 100644 --- a/app/deserializers/integrations/my_mini_factory/model_deserializer.rb +++ b/app/deserializers/integrations/my_mini_factory/model_deserializer.rb @@ -9,7 +9,8 @@ def deserialize name: r.body["name"], notes: ReverseMarkdown.convert(r.body["description_html"]), tag_list: r.body["tags"], - file_urls: r.body["images"].map { |it| {url: it.dig("original", "url"), filename: filename_from_url(it.dig("original", "url"))} }, + file_urls: (r.body["images"].map { |it| {url: it.dig("original", "url"), filename: filename_from_url(it.dig("original", "url"))} } + + r.body.dig("files", "items").map { |it| {url: it.dig("download_url"), filename: it.dig("filename")} }), preview_filename: filename_from_url(r.body["images"].find { |it| it["is_primary"] === true }&.dig("original", "url")) } end diff --git a/spec/deserializers/integrations/my_mini_factory/model_deserializer_spec.rb b/spec/deserializers/integrations/my_mini_factory/model_deserializer_spec.rb index 205d635e2..be5f0d076 100644 --- a/spec/deserializers/integrations/my_mini_factory/model_deserializer_spec.rb +++ b/spec/deserializers/integrations/my_mini_factory/model_deserializer_spec.rb @@ -42,6 +42,13 @@ }) end + it "extracts 3d file info to check and download" do + expect(deserializer.deserialize[:file_urls]).to include({ + url: "https://www.myminifactory.com/download/2052?downloadfile=scan-the-world-michelangelo-s-david.stl", + filename: "scan-the-world-michelangelo-s-david.stl" + }) + end + it "extracts preview filename" do expect(deserializer.deserialize[:preview_filename]).to eq "david-2.jpg" end