summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-06-15 10:10:30 +0000
committerDouwe Maan <douwe@gitlab.com>2018-06-15 10:10:30 +0000
commitf39582f7b8cc9f1fdb74b58eece944110fc0a625 (patch)
treebcccc2baef684449850e1d2bb604753affbe61c6
parent16723ff58e9dd81acb68167f2a327aa9c2b580f0 (diff)
parentfbc749a96e07dd1b1b5760cfe376b5b7838181f0 (diff)
downloadgitlab-ce-f39582f7b8cc9f1fdb74b58eece944110fc0a625.tar.gz
Merge branch '46668-make-the-html-attribute-on-the-blob-json-call-optional' into 'master'
Resolve "Make the html attribute on the blob json call optional" Closes #46668 See merge request gitlab-org/gitlab-ce!19479
-rw-r--r--app/assets/javascripts/ide/services/index.js2
-rw-r--r--app/controllers/projects/blob_controller.rb11
-rw-r--r--spec/controllers/projects/blob_controller_spec.rb19
3 files changed, 26 insertions, 6 deletions
diff --git a/app/assets/javascripts/ide/services/index.js b/app/assets/javascripts/ide/services/index.js
index e8b51f2b516..da9de25302a 100644
--- a/app/assets/javascripts/ide/services/index.js
+++ b/app/assets/javascripts/ide/services/index.js
@@ -9,7 +9,7 @@ export default {
return Vue.http.get(endpoint, { params: { format: 'json' } });
},
getFileData(endpoint) {
- return Vue.http.get(endpoint, { params: { format: 'json' } });
+ return Vue.http.get(endpoint, { params: { format: 'json', viewer: 'none' } });
},
getRawFileData(file) {
if (file.tempFile) {
diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb
index 0c1c286a0a4..64bc6bd5536 100644
--- a/app/controllers/projects/blob_controller.rb
+++ b/app/controllers/projects/blob_controller.rb
@@ -197,14 +197,11 @@ class Projects::BlobController < Projects::ApplicationController
end
def show_json
- json = blob_json(@blob)
- return render_404 unless json
-
path_segments = @path.split('/')
path_segments.pop
tree_path = path_segments.join('/')
- render json: json.merge(
+ json = {
id: @blob.id,
path: blob.path,
name: blob.name,
@@ -221,6 +218,10 @@ class Projects::BlobController < Projects::ApplicationController
commits_path: project_commits_path(project, @id),
tree_path: project_tree_path(project, File.join(@ref, tree_path)),
permalink: project_blob_path(project, File.join(@commit.id, @path))
- )
+ }
+
+ json.merge!(blob_json(@blob) || {}) unless params[:viewer] == 'none'
+
+ render json: json
end
end
diff --git a/spec/controllers/projects/blob_controller_spec.rb b/spec/controllers/projects/blob_controller_spec.rb
index 00a7df6ccc8..9e696e9cb29 100644
--- a/spec/controllers/projects/blob_controller_spec.rb
+++ b/spec/controllers/projects/blob_controller_spec.rb
@@ -55,6 +55,25 @@ describe Projects::BlobController do
expect(json_response).to have_key 'raw_path'
end
end
+
+ context "with viewer=none" do
+ let(:id) { 'master/README.md' }
+
+ before do
+ get(:show,
+ namespace_id: project.namespace,
+ project_id: project,
+ id: id,
+ format: :json,
+ viewer: 'none')
+ end
+
+ it do
+ expect(response).to be_ok
+ expect(json_response).not_to have_key 'html'
+ expect(json_response).to have_key 'raw_path'
+ end
+ end
end
context 'with tree path' do