summaryrefslogtreecommitdiff
path: root/app/controllers/concerns
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-05-04 10:47:10 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-05-04 10:47:10 +0000
commitba608dc0f2c2377f7ca2095a8bc4e5d44921b67f (patch)
treea5540d9278c738f216f2bdc2f4a290c2a5e75cf7 /app/controllers/concerns
parentef71bf6278759aafb1a480916cfafb9c9650eddc (diff)
parent43ff7386411af0f538710f3627622f71e5e34472 (diff)
downloadgitlab-ce-ba608dc0f2c2377f7ca2095a8bc4e5d44921b67f.tar.gz
Merge branch '12910-uploader-pers-snippet' into 'master'
Prepare uploaders for personal snippets comments See merge request !11022
Diffstat (limited to 'app/controllers/concerns')
-rw-r--r--app/controllers/concerns/uploads_actions.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/controllers/concerns/uploads_actions.rb b/app/controllers/concerns/uploads_actions.rb
new file mode 100644
index 00000000000..dec2e27335a
--- /dev/null
+++ b/app/controllers/concerns/uploads_actions.rb
@@ -0,0 +1,27 @@
+module UploadsActions
+ def create
+ link_to_file = UploadService.new(model, params[:file], uploader_class).execute
+
+ respond_to do |format|
+ if link_to_file
+ format.json do
+ render json: { link: link_to_file }
+ end
+ else
+ format.json do
+ render json: 'Invalid file.', status: :unprocessable_entity
+ end
+ end
+ end
+ end
+
+ def show
+ return render_404 unless uploader.exists?
+
+ disposition = uploader.image_or_video? ? 'inline' : 'attachment'
+
+ expires_in 0.seconds, must_revalidate: true, private: true
+
+ send_file uploader.file.path, disposition: disposition
+ end
+end