Public Access
fix(sync): stop the nightly sync when the Steam ID is gone
After an unlink in Auth, or when a verified link took the ID away, the nightly job kept syncing the old Steam ID for up to 14 days. A games-count request without a steamId claim now clears user_seen_at. steam_id stays, so a later link with another ID still soft-deletes the old games.
This commit is contained in:
1 parent
393cdddf06
commit
a389bdd0c7
5 files changed
+83
-1
No files matched your search
@@ -129,7 +129,8 @@ Inside a module: `api` (controllers, DTOs), `service` (business logic), `domain`
|
||||
1. `GET /api/library/games`, `/games-count` and `/picker` call `LibrarySyncService.syncIfStale`. It starts a sync
|
||||
when the last one is older than 24 hours, older than 15 minutes after a failure, or was for another Steam ID.
|
||||
`POST /api/library/sync` starts one at once, but at most every 60 seconds (else `429` with `Retry-After`).
|
||||
2. A nightly job (23:55, Europe/Berlin) syncs every account used in the last 14 days, one after the other.
|
||||
2. A nightly job (23:55, Europe/Berlin) syncs every account used in the last 14 days, one after the other. A
|
||||
request without a `steamId` claim (the user unlinked the Steam account in Auth) takes the user out of it.
|
||||
3. `LibrarySyncWorker` runs in the background. `user_steam_sync` lets only one run per user start.
|
||||
4. The worker loads the wishlist and the owned games from Steam. It updates `steam_game` and `user_game`, adds
|
||||
the playtime growth of the day to `user_game_playtime_day`, and soft-deletes Steam games the user no longer
|
||||
|
||||
Reference in new issue
Block a user