mirror of
https://github.com/we-promise/sure.git
synced 2026-04-08 14:54:49 +00:00
* Introduce SnapTrade integration with models, migrations, views, and activity processing logic. * Refactor SnapTrade activities processing: improve activity fetching flow, handle pending states, and update UI elements for enhanced user feedback. * Update Brakeman ignore file to include intentional redirect for SnapTrade OAuth portal. * Refactor SnapTrade models, views, and processing logic: add currency extraction helper, improve pending state handling, optimize migration checks, and enhance user feedback in UI. * Remove encryption for SnapTrade `snaptrade_user_id`, as it is an identifier, not a secret. * Introduce `SnaptradeConnectionCleanupJob` to asynchronously handle SnapTrade connection cleanup and improve i18n for SnapTrade item status messages. * Update SnapTrade encryption: make `snaptrade_user_secret` non-deterministic to enhance security. --------- Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: luckyPipewrench <luckypipewrench@proton.me> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
26 lines
665 B
Ruby
26 lines
665 B
Ruby
class SnaptradeItem::SyncCompleteEvent
|
|
attr_reader :snaptrade_item
|
|
|
|
def initialize(snaptrade_item)
|
|
@snaptrade_item = snaptrade_item
|
|
end
|
|
|
|
def broadcast
|
|
# Update UI with latest account data
|
|
snaptrade_item.accounts.each do |account|
|
|
account.broadcast_sync_complete
|
|
end
|
|
|
|
# Update the SnapTrade item view
|
|
snaptrade_item.broadcast_replace_to(
|
|
snaptrade_item.family,
|
|
target: "snaptrade_item_#{snaptrade_item.id}",
|
|
partial: "snaptrade_items/snaptrade_item",
|
|
locals: { snaptrade_item: snaptrade_item }
|
|
)
|
|
|
|
# Let family handle sync notifications
|
|
snaptrade_item.family.broadcast_sync_complete
|
|
end
|
|
end
|