summaryrefslogtreecommitdiff
path: root/app/services/members/create_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/members/create_service.rb')
-rw-r--r--app/services/members/create_service.rb13
1 files changed, 4 insertions, 9 deletions
diff --git a/app/services/members/create_service.rb b/app/services/members/create_service.rb
index 26906ae7167..61802ba09ce 100644
--- a/app/services/members/create_service.rb
+++ b/app/services/members/create_service.rb
@@ -1,14 +1,7 @@
module Members
- class CreateService < BaseService
+ class CreateService < Members::BaseService
DEFAULT_LIMIT = 100
- def initialize(source, current_user, params = {})
- @source = source
- @current_user = current_user
- @params = params
- @error = nil
- end
-
def execute
return error('No users specified.') if params[:user_ids].blank?
@@ -17,13 +10,15 @@ module Members
return error("Too many users specified (limit is #{user_limit})") if
user_limit && user_ids.size > user_limit
- @source.add_users(
+ members = source.add_users(
user_ids,
params[:access_level],
expires_at: params[:expires_at],
current_user: current_user
)
+ members.compact.each { |member| after_execute(member: member) }
+
success
end