1# frozen_string_literal: true
2
3# Returns full-size design images
4module Projects
5  module DesignManagement
6    module Designs
7      class RawImagesController < Projects::DesignManagement::DesignsController
8        include SendsBlob
9
10        skip_before_action :default_cache_headers, only: :show
11
12        def show
13          blob = design_repository.blob_at(ref, design.full_path)
14
15          send_blob(design_repository, blob, inline: false, allow_caching: project.public?)
16        end
17
18        private
19
20        def design_repository
21          @design_repository ||= project.design_repository
22        end
23
24        def ref
25          sha || design_repository.root_ref
26        end
27      end
28    end
29  end
30end
31