This repository has been archived on 2024-06-09. You can view files and clone it, but cannot push or open issues/pull-requests.
2022-02-14 21:27:53 +01:00
|
|
|
# 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!
|
2022-05-26 22:08:12 +02:00
|
|
|
@appeal = Appeal.create!(
|
|
|
|
strike: @strike,
|
2022-02-14 21:27:53 +01:00
|
|
|
text: @text,
|
|
|
|
account: @strike.target_account
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
|
|
|
def notify_staff!
|
2022-07-05 02:41:40 +02:00
|
|
|
User.those_who_can(:manage_appeals).includes(:account).each do |u|
|
2022-02-14 21:27:53 +01:00
|
|
|
AdminMailer.new_appeal(u.account, @appeal).deliver_later if u.allows_appeal_emails?
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|