From cefcad113031ce580121d33c489d33f59e459fc4 Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Wed, 24 Jul 2019 16:39:58 -0500 Subject: transparancy - log use of admin related method calls & activitypub auto-rejections to a logger account --- app/workers/log_worker.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 app/workers/log_worker.rb (limited to 'app/workers/log_worker.rb') diff --git a/app/workers/log_worker.rb b/app/workers/log_worker.rb new file mode 100644 index 000000000..556820e16 --- /dev/null +++ b/app/workers/log_worker.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +class LogWorker + include Sidekiq::Worker + + sidekiq_options unique: :until_executed + + def perform(log_text) + logger_id = ENV['LOG_USER'].to_i + return true if logger_id == 0 + + logger = Account.find_by(id: logger_id) + return true if logger.nil? + + PostStatusService.new.call( + logger, + created_at: Time.now.utc, + text: log_text.strip, + tags: ['monsterpit.admin.log'], + visibility: :unlisted, + local_only: true, + content_type: 'text/plain', + language: 'en', + ) + rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid + true + end +end -- cgit