2020-06-02 20:24:53 +03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class PushEncryptedMessageWorker
|
|
|
|
include Sidekiq::Worker
|
|
|
|
include Redisable
|
|
|
|
|
|
|
|
def perform(encrypted_message_id)
|
|
|
|
encrypted_message = EncryptedMessage.find(encrypted_message_id)
|
|
|
|
message = InlineRenderer.render(encrypted_message, nil, :encrypted_message)
|
|
|
|
timeline_id = "timeline:#{encrypted_message.device.account_id}:#{encrypted_message.device.device_id}"
|
|
|
|
|
2023-07-27 17:19:33 +03:00
|
|
|
redis.publish(timeline_id, Oj.dump(event: :encrypted_message, payload: message))
|
2020-06-02 20:24:53 +03:00
|
|
|
rescue ActiveRecord::RecordNotFound
|
|
|
|
true
|
|
|
|
end
|
|
|
|
end
|