Files
sure/app/models/enable_banking_item/sync_complete_event.rb
sentry[bot] a914e35fca refactor: Improve enable banking panel rendering context (#1073)
Co-authored-by: sentry[bot] <39604003+sentry[bot]@users.noreply.github.com>
2026-03-01 23:23:25 +01:00

40 lines
1.2 KiB
Ruby

class EnableBankingItem::SyncCompleteEvent
attr_reader :enable_banking_item
def initialize(enable_banking_item)
@enable_banking_item = enable_banking_item
end
def broadcast
enable_banking_item.reload
# Update UI with latest account data
enable_banking_item.accounts.each do |account|
account.broadcast_sync_complete
end
family = enable_banking_item.family
return unless family
# Update the Enable Banking item view on the Accounts page
enable_banking_item.broadcast_replace_to(
family,
target: "enable_banking_item_#{enable_banking_item.id}",
partial: "enable_banking_items/enable_banking_item",
locals: { enable_banking_item: enable_banking_item }
)
# Update the Settings > Providers panel
enable_banking_items = family.enable_banking_items.ordered.includes(:syncs)
enable_banking_item.broadcast_replace_to(
family,
target: "enable_banking-providers-panel",
partial: "settings/providers/enable_banking_panel",
locals: { enable_banking_items: enable_banking_items, family: family }
)
# Let family handle sync notifications
family.broadcast_sync_complete
end
end