siftlode/backend/app
npeter83 17e64156b8 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
..
routes feat(feed): /api/facets endpoint for contextual tag counts 2026-06-15 12:05:53 +02:00
static chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
sync fix(backfill): auto-complete full history when stored >= video_count 2026-06-14 19:01:04 +02:00
youtube chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
__init__.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
auth.py feat(i18n): foundation — react-i18next, language switcher, server-persisted choice 2026-06-15 00:30:34 +02:00
config.py fix(version): read app version from the committed VERSION file 2026-06-15 02:22:27 +02:00
db.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
email.py chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
main.py feat(version): /api/version + build-time version/commit stamping 2026-06-15 00:06:57 +02:00
models.py feat(progress): track per-user resume position server-side 2026-06-14 18:40:05 +02:00
quota.py feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
scheduler.py feat(stats): per-user API quota attribution + admin usage page 2026-06-12 02:47:55 +02:00
security.py feat: M1 foundation — compose stack, FastAPI, Google OAuth, encrypted tokens 2026-06-11 01:01:37 +02:00
state.py chore: structured timestamped logging across the backend 2026-06-11 04:26:18 +02:00