fix(cache): invalidate accounts and home caches after account deletion

Explicitly clear the cached views and memoized data for the user's
accounts and home pages following a successful account deletion. This
prevents stale data from appearing in the UI and ensures statistics are
accurately recalculated.
This commit is contained in:
Karl 2026-04-06 17:32:36 +01:00
parent 11dbffcf49
commit ddc6b12888

6
app.py
View File

@ -301,6 +301,12 @@ def delete_account() -> Response:
account_id = request.form.get("id") account_id = request.form.get("id")
base_url = app.config["BACKEND_URL"] base_url = app.config["BACKEND_URL"]
delete_user_account(base_url, session["auth_credentials"], account_id) delete_user_account(base_url, session["auth_credentials"], account_id)
# Clear cache for user accounts route
cache.delete(f"view/{session['username']}/accounts")
cache.delete_memoized(user_accounts, key_prefix=make_cache_key)
# Clear home page cache to remove expired account from stats
cache.delete(f"view/{session['username']}/home")
cache.delete_memoized(home, key_prefix=make_cache_key)
# Run the NPM config update in a background thread to remove the deleted account's redirect # Run the NPM config update in a background thread to remove the deleted account's redirect
thread = threading.Thread(target=_update_npm_config_in_background, args=(session["auth_credentials"],)) thread = threading.Thread(target=_update_npm_config_in_background, args=(session["auth_credentials"],))
thread.start() thread.start()