class Notification::Accounting::InvoiceJob
  include Sidekiq::Worker

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

      invoice.notification_messages.create(
        user: user,
        title: 'Accounting',
        body: "Invoice #{invoice.tracking_number} has been shared with you."
      )
    end
  end
end
