06/05 Optimize app: add Plaid reset sync

This commit is contained in:
2026-06-05 10:27:58 -04:00
parent 9f100af491
commit aeac9a4228
4 changed files with 220 additions and 3 deletions
+19
View File
@@ -369,6 +369,25 @@ def refresh_liabilities_view(item_db_id):
return redirect(url_for('plaid.index'))
# ── Full Resync (clear cursor so next sync fetches full history) ──────────────
@plaid_bp.route('/resync/<int:item_db_id>', methods=['POST'])
@login_required
def full_resync(item_db_id):
item = db.get_or_404(PlaidItem, item_db_id)
item.cursor = None
item.last_synced_at = None
for pa in item.accounts.filter_by(is_active=True).all():
pa.last_sync_date = None
db.session.commit()
flash(
f'{item.institution_name}: cursor reset. '
f'Next sync will fetch full available history — duplicates will be skipped automatically.',
'info'
)
return redirect(url_for('plaid.index'))
# ── Disconnect ────────────────────────────────────────────────────────────────
@plaid_bp.route('/disconnect/<int:item_db_id>', methods=['POST'])