Commit 71cf8df0 authored by Robert Speicher's avatar Robert Speicher

Merge branch 'move-service-prepends' into 'master'

Move EE prepend/include to the end of services

See merge request gitlab-org/gitlab-ee!8200
parents 86201565 9f4735d3
......@@ -2,8 +2,6 @@
module ApplicationSettings
class UpdateService < ApplicationSettings::BaseService
prepend EE::ApplicationSettings::UpdateService
attr_reader :params, :application_setting
def execute
......@@ -46,3 +44,5 @@ module ApplicationSettings
end
end
end
ApplicationSettings::UpdateService.prepend(EE::ApplicationSettings::UpdateService)
# frozen_string_literal: true
class AuditEventService
prepend EE::AuditEventService
def initialize(author, entity, details = {})
@author, @entity, @details = author, entity, details
end
......@@ -45,3 +43,5 @@ class AuditEventService
SecurityEvent.create(base_payload.merge(details: @details))
end
end
AuditEventService.prepend(EE::AuditEventService)
......@@ -2,8 +2,6 @@
module Boards
class BaseService < ::BaseService
prepend EE::Boards::BaseService
# Parent can either a group or a project
attr_accessor :parent, :current_user, :params
......@@ -12,3 +10,5 @@ module Boards
end
end
end
Boards::BaseService.prepend(EE::Boards::BaseService)
......@@ -2,8 +2,6 @@
module Boards
class CreateService < Boards::BaseService
prepend EE::Boards::CreateService
def execute
create_board! if can_create_board?
end
......@@ -26,3 +24,5 @@ module Boards
end
end
end
Boards::CreateService.prepend(EE::Boards::CreateService)
......@@ -3,7 +3,6 @@
module Boards
module Issues
class ListService < Boards::BaseService
prepend EE::Boards::Issues::ListService
include Gitlab::Utils::StrongMemoize
def execute
......@@ -111,3 +110,5 @@ module Boards
end
end
end
Boards::Issues::ListService.prepend(EE::Boards::Issues::ListService)
......@@ -3,8 +3,6 @@
module Boards
module Issues
class MoveService < Boards::BaseService
prepend EE::Boards::Issues::MoveService
def execute(issue)
return false unless can?(current_user, :update_issue, issue)
return false if issue_params(issue).empty?
......@@ -90,3 +88,5 @@ module Boards
end
end
end
Boards::Issues::MoveService.prepend(EE::Boards::Issues::MoveService)
......@@ -2,8 +2,6 @@
module Boards
class ListService < Boards::BaseService
prepend EE::Boards::ListService
def execute
create_board! if parent.boards.empty?
boards
......@@ -20,3 +18,5 @@ module Boards
end
end
end
Boards::ListService.prepend(EE::Boards::ListService)
......@@ -3,8 +3,6 @@
module Boards
module Lists
class CreateService < Boards::BaseService
prepend EE::Boards::Lists::CreateService
include Gitlab::Utils::StrongMemoize
def execute(board)
......@@ -50,3 +48,5 @@ module Boards
end
end
end
Boards::Lists::CreateService.prepend(EE::Boards::Lists::CreateService)
......@@ -2,8 +2,6 @@
module Ci
class ProcessBuildService < BaseService
prepend EE::Ci::ProcessBuildService
def execute(build, current_status)
if valid_statuses_for_when(build.when).include?(current_status)
if build.schedulable?
......@@ -45,3 +43,5 @@ module Ci
end
end
end
Ci::ProcessBuildService.prepend(EE::Ci::ProcessBuildService)
......@@ -4,8 +4,6 @@ module Ci
# This class responsible for assigning
# proper pending build to runner on runner API request
class RegisterJobService
prepend EE::Ci::RegisterJobService
attr_reader :runner
JOB_QUEUE_DURATION_SECONDS_BUCKETS = [1, 3, 10, 30].freeze
......@@ -179,3 +177,5 @@ module Ci
end
end
end
Ci::RegisterJobService.prepend(EE::Ci::RegisterJobService)
......@@ -5,8 +5,6 @@ module Clusters
class BaseHelmService
attr_accessor :app
prepend EE::Clusters::Applications::BaseHelmService
def initialize(app)
@app = app
end
......@@ -31,3 +29,5 @@ module Clusters
end
end
end
Clusters::Applications::BaseHelmService.prepend(EE::Clusters::Applications::BaseHelmService)
......@@ -2,8 +2,6 @@
module Clusters
class CreateService
prepend EE::Clusters::CreateService
attr_reader :current_user, :params
def initialize(user = nil, params = {})
......@@ -47,3 +45,5 @@ module Clusters
end
end
end
Clusters::CreateService.prepend(EE::Clusters::CreateService)
......@@ -2,8 +2,6 @@
module Commits
class CreateService < ::BaseService
prepend EE::Commits::CreateService
ValidationError = Class.new(StandardError)
ChangeError = Class.new(StandardError)
......@@ -76,3 +74,5 @@ module Commits
end
end
end
Commits::CreateService.prepend(EE::Commits::CreateService)
......@@ -2,7 +2,6 @@
module Issuable
class CommonSystemNotesService < ::BaseService
prepend EE::Issuable::CommonSystemNotesService
attr_reader :issuable
def execute(issuable, old_labels)
......@@ -101,3 +100,5 @@ module Issuable
end
end
end
Issuable::CommonSystemNotesService.prepend(EE::Issuable::CommonSystemNotesService)
......@@ -2,7 +2,6 @@
module Issues
class UpdateService < Issues::BaseService
prepend EE::Issues::UpdateService
include SpamCheckService
def execute(issue)
......@@ -126,3 +125,5 @@ module Issues
end
end
end
Issues::UpdateService.prepend(EE::Issues::UpdateService)
......@@ -2,8 +2,6 @@
module Keys
class CreateService < ::Keys::BaseService
prepend EE::Keys::CreateService
def execute
key = user.keys.create(params)
notification_service.new_key(key) if key.persisted?
......@@ -11,3 +9,5 @@ module Keys
end
end
end
Keys::CreateService.prepend(EE::Keys::CreateService)
......@@ -2,8 +2,6 @@
module Keys
class DestroyService < ::Keys::BaseService
prepend EE::Keys::DestroyService
def execute(key)
key.destroy if destroy_possible?(key)
end
......@@ -14,3 +12,5 @@ module Keys
end
end
end
Keys::DestroyService.prepend(EE::Keys::DestroyService)
......@@ -2,8 +2,6 @@
module Lfs
class LockFileService < BaseService
prepend EE::Lfs::LockFileService
def execute
unless can?(current_user, :push_code, project)
raise Gitlab::GitAccess::UnauthorizedError, 'You have no permissions'
......@@ -43,3 +41,5 @@ module Lfs
end
end
end
Lfs::LockFileService.prepend(EE::Lfs::LockFileService)
......@@ -2,8 +2,6 @@
module Lfs
class UnlockFileService < BaseService
prepend EE::Lfs::UnlockFileService
def execute
unless can?(current_user, :push_code, project)
raise Gitlab::GitAccess::UnauthorizedError, _('You have no permissions')
......@@ -47,3 +45,5 @@ module Lfs
# rubocop: enable CodeReuse/ActiveRecord
end
end
Lfs::UnlockFileService.prepend(EE::Lfs::UnlockFileService)
......@@ -2,8 +2,6 @@
module Members
class ApproveAccessRequestService < Members::BaseService
prepend EE::Members::ApproveAccessRequestService
def execute(access_requester, skip_authorization: false, skip_log_audit_event: false)
raise Gitlab::Access::AccessDeniedError unless skip_authorization || can_update_access_requester?(access_requester)
......@@ -22,3 +20,5 @@ module Members
end
end
end
Members::ApproveAccessRequestService.prepend(EE::Members::ApproveAccessRequestService)
......@@ -2,8 +2,6 @@
module Members
class CreateService < Members::BaseService
prepend EE::Members::CreateService
DEFAULT_LIMIT = 100
def execute(source)
......@@ -35,3 +33,5 @@ module Members
end
end
end
Members::CreateService.prepend(EE::Members::CreateService)
......@@ -2,8 +2,6 @@
module Members
class DestroyService < Members::BaseService
prepend EE::Members::DestroyService
def execute(member, skip_authorization: false)
raise Gitlab::Access::AccessDeniedError unless skip_authorization || can_destroy_member?(member)
......@@ -48,3 +46,5 @@ module Members
end
end
end
Members::DestroyService.prepend(EE::Members::DestroyService)
......@@ -2,8 +2,6 @@
module Members
class UpdateService < Members::BaseService
prepend EE::Members::UpdateService
# returns the updated member
def execute(member, permission: :update)
raise Gitlab::Access::AccessDeniedError unless can?(current_user, action_member_permission(permission, member), member)
......@@ -18,3 +16,5 @@ module Members
end
end
end
Members::UpdateService.prepend(EE::Members::UpdateService)
......@@ -2,8 +2,6 @@
module MergeRequests
class BaseService < ::IssuableBaseService
prepend EE::MergeRequests::BaseService
def create_note(merge_request, state = merge_request.state)
SystemNoteService.change_status(merge_request, merge_request.target_project, current_user, state, nil)
end
......@@ -87,3 +85,5 @@ module MergeRequests
end
end
end
MergeRequests::BaseService.prepend(EE::MergeRequests::BaseService)
......@@ -2,7 +2,6 @@
module MergeRequests
class BuildService < MergeRequests::BaseService
prepend EE::MergeRequests::BuildService
include Gitlab::Utils::StrongMemoize
def execute
......@@ -208,3 +207,5 @@ module MergeRequests
end
end
end
MergeRequests::BuildService.prepend(EE::MergeRequests::BuildService)
......@@ -8,8 +8,6 @@ module MergeRequests
# Executed when you do merge via GitLab UI
#
class MergeService < MergeRequests::BaseService
prepend EE::MergeRequests::MergeService
MergeError = Class.new(StandardError)
attr_reader :merge_request, :source
......@@ -140,3 +138,5 @@ module MergeRequests
end
end
end
MergeRequests::MergeService.prepend(EE::MergeRequests::MergeService)
......@@ -2,8 +2,6 @@
module MergeRequests
class RefreshService < MergeRequests::BaseService
prepend EE::MergeRequests::RefreshService
def execute(oldrev, newrev, ref)
push = Gitlab::Git::Push.new(@project, oldrev, newrev, ref)
return true unless push.branch_push?
......@@ -225,3 +223,5 @@ module MergeRequests
end
end
end
MergeRequests::RefreshService.prepend(EE::MergeRequests::RefreshService)
......@@ -2,8 +2,6 @@
module Milestones
class PromoteService < Milestones::BaseService
prepend EE::Milestones::PromoteService
PromoteMilestoneError = Class.new(StandardError)
def execute(milestone)
......@@ -95,3 +93,5 @@ module Milestones
end
end
end
Milestones::PromoteService.prepend(EE::Milestones::PromoteService)
......@@ -2,8 +2,6 @@
module Milestones
class UpdateService < Milestones::BaseService
prepend EE::Milestones::UpdateService
# rubocop: disable CodeReuse/ActiveRecord
def execute(milestone)
state = params[:state_event]
......@@ -24,3 +22,5 @@ module Milestones
# rubocop: enable CodeReuse/ActiveRecord
end
end
Milestones::UpdateService.prepend(EE::Milestones::UpdateService)
......@@ -16,8 +16,6 @@
# NotificationService.new.async.new_issue(issue, current_user)
#
class NotificationService
prepend EE::NotificationService
class Async
attr_reader :parent
delegate :respond_to_missing, to: :parent
......@@ -589,3 +587,5 @@ class NotificationService
member.source.respond_to?(:group) && member.source.group
end
end
NotificationService.prepend(EE::NotificationService)
......@@ -2,8 +2,6 @@
module ProtectedBranches
class AccessLevelParams
prepend EE::ProtectedBranches::AccessLevelParams
attr_reader :type, :params
def initialize(type, params)
......@@ -35,3 +33,5 @@ module ProtectedBranches
end
end
end
ProtectedBranches::AccessLevelParams.prepend(EE::ProtectedBranches::AccessLevelParams)
......@@ -2,8 +2,6 @@
module ProtectedBranches
class ApiService < BaseService
prepend EE::ProtectedBranches::ApiService
def create
@push_params = AccessLevelParams.new(:push, params)
@merge_params = AccessLevelParams.new(:merge, params)
......@@ -28,3 +26,5 @@ module ProtectedBranches
end
end
end
ProtectedBranches::ApiService.prepend(EE::ProtectedBranches::ApiService)
......@@ -3,8 +3,6 @@
module QuickActions
class InterpretService < BaseService
include Gitlab::QuickActions::Dsl
prepend EE::QuickActions::InterpretService
attr_reader :issuable
SHRUG = '¯\\_(ツ)_/¯'.freeze
......@@ -701,3 +699,5 @@ module QuickActions
# rubocop: enable CodeReuse/ActiveRecord
end
end
QuickActions::InterpretService.prepend(EE::QuickActions::InterpretService)
......@@ -2,8 +2,6 @@
module ResourceEvents
class ChangeLabelsService
prepend EE::ResourceEvents::ChangeLabelsService
attr_reader :resource, :user
def initialize(resource, user)
......@@ -42,3 +40,5 @@ module ResourceEvents
end
end
end
ResourceEvents::ChangeLabelsService.prepend(EE::ResourceEvents::ChangeLabelsService)
# frozen_string_literal: true
class SystemHooksService
prepend EE::SystemHooksService
def execute_hooks_for(model, event)
data = build_event_data(model, event)
......@@ -151,3 +149,5 @@ class SystemHooksService
}
end
end
SystemHooksService.prepend(EE::SystemHooksService)
......@@ -5,7 +5,6 @@
# Used for creating system notes (e.g., when a user references a merge request
# from an issue, an issue's assignee changes, an issue is closed, etc.)
module SystemNoteService
prepend EE::SystemNoteService
extend self
# Called when commits are added to a Merge Request
......@@ -678,3 +677,5 @@ module SystemNoteService
ActionController::Base.helpers.content_tag(*args)
end
end
SystemNoteService.prepend(EE::SystemNoteService)
......@@ -8,8 +8,6 @@
# TodoService.new.new_issue(issue, current_user)
#
class TodoService
prepend EE::TodoService
# When create an issue we should:
#
# * create a todo for assignee if issue is assigned
......@@ -345,3 +343,5 @@ class TodoService
PendingTodosFinder.new(user, criteria).execute
end
end
TodoService.prepend(EE::TodoService)
# frozen_string_literal: true
class UserProjectAccessChangedService
prepend EE::UserProjectAccessChangedService
def initialize(user_ids)
@user_ids = Array.wrap(user_ids)
end
......@@ -17,3 +15,5 @@ class UserProjectAccessChangedService
end
end
end
UserProjectAccessChangedService.prepend(EE::UserProjectAccessChangedService)
......@@ -8,7 +8,6 @@
# when the user is destroyed.
module Users
class MigrateToGhostUserService
prepend EE::Users::MigrateToGhostUserService
extend ActiveSupport::Concern
attr_reader :ghost_user, :user
......@@ -82,3 +81,5 @@ module Users
end
end
end
Users::MigrateToGhostUserService.prepend(EE::Users::MigrateToGhostUserService)
......@@ -3,8 +3,6 @@
module Users
class UpdateService < BaseService
include NewUserNotifier
prepend EE::Users::UpdateService
def initialize(current_user, params = {})
@current_user = current_user
@user = params.delete(:user)
......@@ -58,3 +56,5 @@ module Users
end
end
end
Users::UpdateService.prepend(EE::Users::UpdateService)
......@@ -2,8 +2,6 @@
module WikiPages
class BaseService < ::BaseService
prepend EE::WikiPages::BaseService
private
def execute_hooks(page, action = 'create')
......@@ -13,3 +11,5 @@ module WikiPages
end
end
end
WikiPages::BaseService.prepend(EE::WikiPages::BaseService)
module EE
module QuickActions
module InterpretService
include ::Gitlab::QuickActions::Dsl
extend ActiveSupport::Concern
# We use "prepended" here instead of including Gitlab::QuickActions::Dsl,
# as doing so would clear any existing command definitions.
prepended do
desc 'Change assignee(s)'
explanation do
'Change assignee(s)'
......@@ -82,6 +85,7 @@ module EE
::MergeRequests::ApprovalService.new(issuable.project, current_user).execute(issuable)
end
end
end
def extract_epic(params)
return nil if params.nil?
......
......@@ -4,7 +4,14 @@
# from an issue, an issue's assignee changes, an issue is closed, etc.
module EE
module SystemNoteService
extend self
extend ActiveSupport::Concern
prepended do
# ::SystemNoteService wants the methods to be available as both class and
# instance methods. This removes the need for having to both `include` and
# `extend` this module everywhere it is used.
extend(EE::SystemNoteService)
end
#
# noteable - Noteable object
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment