siftlode/backend/app/routes
npeter83 79e7694b24 feat(feed): /api/facets endpoint for contextual tag counts
Add a facets endpoint that returns per-tag channel counts for the current filter
context (scope, channel, date, content type, search, watch state, and the other
category's tags). Each category is counted with its own selections ignored —
standard drill-down faceting — by a new exclude_tag_category param threaded into
_filtered_query, so selecting one topic doesn't zero out the other topics. Count
is distinct channels with a matching video, keeping the channel-count chip
semantics. Reuses the feed's filter query so both stay in lockstep.
2026-06-15 12:05:53 +02:00
..
__init__.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
admin.py feat(m5c): onboarding — DB invites, request-access, admin approval, email 2026-06-12 01:43:07 +02:00
channels.py feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
feed.py feat(feed): /api/facets endpoint for contextual tag counts 2026-06-15 12:05:53 +02:00
health.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
me.py feat(auth): split base sign-in from YouTube scopes for incremental onboarding 2026-06-13 23:56:34 +02:00
quota.py feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
sync.py feat(header): clarify video counts and hide idle pause button 2026-06-14 18:42:55 +02:00
tags.py feat(m5a): channel manager, tabbed settings panel, per-user sync status 2026-06-11 20:45:48 +02:00
version.py feat(version): /api/version + build-time version/commit stamping 2026-06-15 00:06:57 +02:00