20 lines
565 B
Ruby
20 lines
565 B
Ruby
# frozen_string_literal: true
|
|
|
|
module WebHooks
|
|
# A variant of the destroy service that can only be used by an administrator
|
|
# from a rake task.
|
|
class AdminDestroyService < WebHooks::DestroyService
|
|
def initialize(rake_task:)
|
|
super(nil)
|
|
@rake_task = rake_task
|
|
end
|
|
|
|
def authorized?(web_hook)
|
|
@rake_task.present? # Not impossible to circumvent, but you need to provide something
|
|
end
|
|
|
|
def log_message(hook)
|
|
"An administrator scheduled a deletion of logs for hook ID #{hook.id} from #{@rake_task.name}"
|
|
end
|
|
end
|
|
end
|