diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-02-17 10:58:25 +0100 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2022-02-17 10:58:44 +0100 |
commit | f224237862b009ad4b008a8730c58111f103145b (patch) | |
tree | 097c08663c6348914fdf95d2ac9ce57ee2a3307c /app/services/appeal_service.rb | |
parent | ec4f9066189fbab4368a275e9cd654dc7ad48217 (diff) | |
parent | ac99f586bb4138e083676579097d951434e90515 (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `db/schema.rb`: Conflict due to glitch-soc adding the `content_type` column on status edits and thus having a different schema version number. Solved by taking upstream's schema version number, as it is higher than glitch-soc's.
Diffstat (limited to 'app/services/appeal_service.rb')
-rw-r--r-- | app/services/appeal_service.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/services/appeal_service.rb b/app/services/appeal_service.rb new file mode 100644 index 000000000..1397c50f5 --- /dev/null +++ b/app/services/appeal_service.rb @@ -0,0 +1,28 @@ +# 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 = @strike.create_appeal!( + text: @text, + account: @strike.target_account + ) + end + + def notify_staff! + User.staff.includes(:account).each do |u| + AdminMailer.new_appeal(u.account, @appeal).deliver_later if u.allows_appeal_emails? + end + end +end |