diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-19 21:08:05 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-19 21:08:05 +0000 |
commit | 680d18802596089dc407b7011bcf682d24846aec (patch) | |
tree | 09e1beea15fe9ba9d1a757c31b7836e5f7e9fa89 /app/services/snippets/create_service.rb | |
parent | d84f18d66c1fc46f244b0f4dec8bf65b90d9882a (diff) | |
download | gitlab-ce-680d18802596089dc407b7011bcf682d24846aec.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/snippets/create_service.rb')
-rw-r--r-- | app/services/snippets/create_service.rb | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/app/services/snippets/create_service.rb b/app/services/snippets/create_service.rb index bb58d1bc2bc..ed6da3a0ad0 100644 --- a/app/services/snippets/create_service.rb +++ b/app/services/snippets/create_service.rb @@ -2,25 +2,11 @@ module Snippets class CreateService < Snippets::BaseService - include SpamCheckMethods - - CreateRepositoryError = Class.new(StandardError) - def execute - filter_spam_check_params - - @files = Array(params.delete(:files).presence) - - @snippet = if project - project.snippets.build(params) - else - PersonalSnippet.new(params) - end - - unless Gitlab::VisibilityLevel.allowed_for?(current_user, @snippet.visibility_level) - deny_visibility_level(@snippet) + @snippet = build_from_params - return snippet_error_response(@snippet, 403) + unless visibility_allowed?(@snippet, @snippet.visibility_level) + return error_forbidden_visibility(@snippet) end @snippet.author = current_user @@ -41,6 +27,14 @@ module Snippets private + def build_from_params + if project + project.snippets.build(params) + else + PersonalSnippet.new(params) + end + end + def save_and_commit snippet_saved = @snippet.save @@ -91,7 +85,7 @@ module Snippets def move_temporary_files return unless @snippet.is_a?(PersonalSnippet) - @files.each do |file| + uploaded_files.each do |file| FileMover.new(file, from_model: current_user, to_model: @snippet).execute end end |