chrysopedia/backend/routers
jlightner 44e5905bd7 feat: auto-avatar integration with TheAudioDB
- Added avatar_url, avatar_source, avatar_fetched_at columns to Creator
  model with Alembic migration 014
- New backend/services/avatar.py — TheAudioDB lookup with token-based
  name similarity scoring and genre overlap bonus
- New Celery task fetch_creator_avatar for background avatar fetching
- Admin endpoints: POST /creators/{id}/fetch-avatar (single) and
  POST /creators/fetch-all-avatars (batch for missing avatars)
- Wired avatar_url into CreatorRead, CreatorInfo, and CreatorBrowseItem
  schemas so all API responses include avatar data
2026-04-03 05:55:42 +00:00
..
__init__.py fix: restore complete project tree from ub01 canonical state 2026-03-31 02:10:41 +00:00
creators.py fix: pass last_technique_at through row unpacking 2026-04-03 04:15:39 +00:00
health.py fix: restore complete project tree from ub01 canonical state 2026-03-31 02:10:41 +00:00
ingest.py feat: meaningful pipeline status lifecycle — Not Started → Queued → In Progress → Complete/Errored 2026-03-31 02:43:49 +00:00
pipeline.py feat: auto-avatar integration with TheAudioDB 2026-04-03 05:55:42 +00:00
reports.py fix: restore complete project tree from ub01 canonical state 2026-03-31 02:10:41 +00:00
search.py perf: Added SearchLog model, Alembic migration 013, Pydantic schemas, f… 2026-04-03 04:02:55 +00:00
stats.py feat: add GET /api/v1/stats endpoint with technique and creator counts 2026-04-03 04:24:58 +00:00
techniques.py perf: eliminate N+1 queries in stale-pages, add videos pagination, cache related techniques 2026-04-03 05:50:53 +00:00
topics.py feat: Added sort query parameter (relevance/newest/oldest/alpha/creator… 2026-04-01 06:41:52 +00:00
videos.py fix: restore complete project tree from ub01 canonical state 2026-03-31 02:10:41 +00:00