fix(quota): keep the demo account off three quota-burning paths (C-3.6)
The demo account could spend real YouTube quota where the human-only guard was missing (the channel_detail enrichment already had it): - channels PATCH: an immediate run_recent_backfill when deep_requested is turned on; - discovery: the channel-detail enrich on the Discover tab; - feed get_video_detail: the off-catalog videos.list lookup for a video we don't store (the DB-hit path stays free; demo now gets a 404 for unknown videos).
This commit is contained in:
@@ -737,6 +737,11 @@ def get_video_detail(
|
||||
"duration_seconds": v.duration_seconds,
|
||||
}
|
||||
|
||||
# The DB path above is free; the off-catalog YouTube lookup below spends a quota unit, so the
|
||||
# demo account can't reach it — it just sees "unknown" for a video we don't already store.
|
||||
if user.is_demo:
|
||||
raise HTTPException(status_code=404, detail="Unknown video")
|
||||
|
||||
try:
|
||||
with quota.attribute(user.id, quota.QuotaAction.VIDEOS_LOOKUP), YouTubeClient(db, user) as yt:
|
||||
items = yt.get_videos([video_id])
|
||||
|
||||
Reference in New Issue
Block a user