You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
542 B
29 lines
542 B
# frozen_string_literal: true |
|
|
|
class AppealService < BaseService |
|
def call(strike, text) |
|
@strike = strike |
|
@text = text |
|
|
|
create_appeal! |
|
notify_staff! |
|
|
|
@appeal |
|
end |
|
|
|
private |
|
|
|
def create_appeal! |
|
@appeal = Appeal.create!( |
|
strike: @strike, |
|
text: @text, |
|
account: @strike.target_account |
|
) |
|
end |
|
|
|
def notify_staff! |
|
User.those_who_can(:manage_appeals).includes(:account).each do |u| |
|
AdminMailer.new_appeal(u.account, @appeal).deliver_later if u.allows_appeal_emails? |
|
end |
|
end |
|
end
|
|
|