1
0
Fork 0
mirror of https://git.sr.ht/~cadence/cloudtube synced 2026-03-02 02:31:35 +00:00

Keep subscriptions in database if channel deleted

This commit is contained in:
Cadence Ember 2021-08-23 23:43:23 +12:00
parent deea909585
commit 0aa0505009
No known key found for this signature in database
GPG key ID: BC1C2C61CF521B17
4 changed files with 13 additions and 5 deletions

View file

@ -16,7 +16,7 @@ const prepared = {
"UPDATE Channels SET refreshed = ? WHERE ucid = ?"
),
unsubscribe_all_from_channel: db.prepare(
"DELETE FROM Subscriptions WHERE ucid = ?"
"UPDATE Subscriptions SET channel_missing = 1 WHERE ucid = ?"
)
}
@ -35,7 +35,7 @@ class RefreshQueue {
// get the next set of scheduled channels to refresh
const afterTime = Date.now() - constants.caching.seen_token_subscriptions_eligible
const channels = db.prepare(
"SELECT DISTINCT Subscriptions.ucid FROM SeenTokens INNER JOIN Subscriptions ON SeenTokens.token = Subscriptions.token AND SeenTokens.seen > ? ORDER BY SeenTokens.seen DESC"
"SELECT DISTINCT Subscriptions.ucid FROM SeenTokens INNER JOIN Subscriptions ON SeenTokens.token = Subscriptions.token AND SeenTokens.seen > ? WHERE Subscriptions.channel_missing = 0 ORDER BY SeenTokens.seen DESC"
).pluck().all(afterTime)
this.addLast(channels)
this.lastLoadTime = Date.now()