class Notification::Accounting::PaymentJob
  include Sidekiq::Worker

  def perform(id)
    payment = Accounting::Decrease.find(id)
    family = payment.family
    users = family.primary_users.to_a
    users << family.user if family.user
    users.each do |user|
      next unless user.family_notification_config&.accounting_payment_app?

      payment.notification_messages.create(
        user: user,
        title: 'Accounting',
        body: "$#{sprintf('%.2f', payment.amount)} payment posted to your account."
      )
    end
  end
end
