diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 04:45:44 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 04:45:44 +0300 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /app/controllers/projects/web_ide_schemas_controller.rb | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'app/controllers/projects/web_ide_schemas_controller.rb')
-rw-r--r-- | app/controllers/projects/web_ide_schemas_controller.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/controllers/projects/web_ide_schemas_controller.rb b/app/controllers/projects/web_ide_schemas_controller.rb new file mode 100644 index 00000000000..3d16a6fafd4 --- /dev/null +++ b/app/controllers/projects/web_ide_schemas_controller.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +class Projects::WebIdeSchemasController < Projects::ApplicationController + before_action :authenticate_user! + + def show + return respond_422 unless branch_sha + + result = ::Ide::SchemasConfigService.new(project, current_user, sha: branch_sha, filename: params[:filename]).execute + + if result[:status] == :success + render json: result[:schema] + else + render json: result, status: :unprocessable_entity + end + end + + private + + def branch_sha + return unless params[:branch].present? + + project.commit(params[:branch])&.id + end +end |