1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-09 07:25:19 +02:00

Update family cache timestamps during Sync

This commit is contained in:
Zach Gollwitzer 2025-06-10 15:30:56 -04:00
parent f1c7660ff6
commit 7000e5ce20

View file

@ -29,13 +29,13 @@ class Sync < ApplicationRecord
state :failed state :failed
state :stale state :stale
after_all_transitions :log_status_change after_all_transitions :handle_transition
event :start, after_commit: :report_warnings do event :start, after_commit: :handle_start_transition do
transitions from: :pending, to: :syncing transitions from: :pending, to: :syncing
end end
event :complete do event :complete, after_commit: :handle_completion_transition do
transitions from: :syncing, to: :completed transitions from: :syncing, to: :completed
end end
@ -163,9 +163,30 @@ class Sync < ApplicationRecord
end end
end end
def handle_start_transition
report_warnings
end
def handle_transition
log_status_change
family.touch(:latest_sync_activity_at)
end
def handle_completion_transition
family.touch(:latest_sync_completed_at)
end
def window_valid def window_valid
if window_start_date && window_end_date && window_start_date > window_end_date if window_start_date && window_end_date && window_start_date > window_end_date
errors.add(:window_end_date, "must be greater than window_start_date") errors.add(:window_end_date, "must be greater than window_start_date")
end end
end end
def family
if syncable.is_a?(Family)
syncable
else
syncable.family
end
end
end end