summaryrefslogtreecommitdiff
path: root/app/services/snippets/create_service.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-05-19 21:08:05 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-05-19 21:08:05 +0000
commit680d18802596089dc407b7011bcf682d24846aec (patch)
tree09e1beea15fe9ba9d1a757c31b7836e5f7e9fa89 /app/services/snippets/create_service.rb
parentd84f18d66c1fc46f244b0f4dec8bf65b90d9882a (diff)
downloadgitlab-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.rb30
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