summaryrefslogtreecommitdiff
path: root/app/services/users
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/users')
-rw-r--r--app/services/users/block_service.rb8
-rw-r--r--app/services/users/signup_service.rb4
-rw-r--r--app/services/users/unblock_service.rb29
3 files changed, 38 insertions, 3 deletions
diff --git a/app/services/users/block_service.rb b/app/services/users/block_service.rb
index 37921c477b4..0715e299e87 100644
--- a/app/services/users/block_service.rb
+++ b/app/services/users/block_service.rb
@@ -20,8 +20,14 @@ module Users
private
+ # overridden by EE module
def after_block_hook(user)
- # overridden by EE module
+ custom_attribute = {
+ user_id: user.id,
+ key: UserCustomAttribute::BLOCKED_BY,
+ value: "#{current_user.username}/#{current_user.id}+#{Time.current}"
+ }
+ UserCustomAttribute.upsert_custom_attributes([custom_attribute])
end
end
end
diff --git a/app/services/users/signup_service.rb b/app/services/users/signup_service.rb
index 1087ae76216..9eb1e75988c 100644
--- a/app/services/users/signup_service.rb
+++ b/app/services/users/signup_service.rb
@@ -12,9 +12,9 @@ module Users
inject_validators
if @user.save
- success
+ ServiceResponse.success
else
- error(@user.errors.full_messages.join('. '))
+ ServiceResponse.error(message: @user.errors.full_messages.join('. '))
end
end
diff --git a/app/services/users/unblock_service.rb b/app/services/users/unblock_service.rb
new file mode 100644
index 00000000000..1302395662f
--- /dev/null
+++ b/app/services/users/unblock_service.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+module Users
+ class UnblockService < BaseService
+ def initialize(current_user)
+ @current_user = current_user
+ end
+
+ def execute(user)
+ if user.activate
+ after_unblock_hook(user)
+ ServiceResponse.success(payload: { user: user })
+ else
+ ServiceResponse.error(message: user.errors.full_messages)
+ end
+ end
+
+ private
+
+ def after_unblock_hook(user)
+ custom_attribute = {
+ user_id: user.id,
+ key: UserCustomAttribute::UNBLOCKED_BY,
+ value: "#{current_user.username}/#{current_user.id}+#{Time.current}"
+ }
+ UserCustomAttribute.upsert_custom_attributes([custom_attribute])
+ end
+ end
+end