debian-mirror-gitlab/app/services/users/block_service.rb

30 lines
597 B
Ruby
Raw Normal View History

2020-03-09 13:42:32 +05:30
# frozen_string_literal: true
module Users
class BlockService < BaseService
def initialize(current_user)
@current_user = current_user
end
def execute(user)
2021-01-03 14:25:43 +05:30
return error('An internal user cannot be blocked', 403) if user.internal?
2020-03-09 13:42:32 +05:30
if user.block
after_block_hook(user)
success
else
messages = user.errors.full_messages
error(messages.uniq.join('. '))
end
end
private
def after_block_hook(user)
2020-07-28 23:09:34 +05:30
# overridden by EE module
2020-03-09 13:42:32 +05:30
end
end
end
Users::BlockService.prepend_if_ee('EE::Users::BlockService')