gitlab-org--gitlab-foss/app/services/issues/create_service.rb

33 lines
736 B
Ruby

module Issues
class CreateService < Issues::BaseService
def execute
@request = params.delete(:request)
@api = params.delete(:api)
@issue = project.issues.new
create(@issue)
end
def before_create(issuable)
issuable.spam = spam_service.check(@api)
end
def after_create(issuable)
event_service.open_issue(issuable, current_user)
notification_service.new_issue(issuable, current_user)
todo_service.new_issue(issuable, current_user)
user_agent_detail_service.create
end
private
def spam_service
SpamService.new(@issue, @request)
end
def user_agent_detail_service
UserAgentDetailService.new(@issue, @request)
end
end
end