diff options
-rw-r--r-- | app/helpers/service_account_helper.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/helpers/service_account_helper.rb b/app/helpers/service_account_helper.rb new file mode 100644 index 000000000..f66641734 --- /dev/null +++ b/app/helpers/service_account_helper.rb @@ -0,0 +1,25 @@ +module ServiceAccountHelper + def service_post(service, text, options = {}) + acct = find_service_account(service) + return if acct.nil? + + options[:text] = text + options[:local_only] ||= true + options[:nomentions] ||= true + options[:content_type] ||= 'text/markdown' + + PostStatusService.new.call(acct, options.compact) + end + + def service_dm(service, to, text, options = {}) + options[:mentions] = [to] + options[:visibility] ||= :direct + service_post(service, text, options) + end + + def find_service_account(service) + account_id = ENV["#{service.upcase}_USER"].to_i + return if account_id == 0 + Account.find_by(id: account_id) + end +end |