Refactor admin API into service and repository layers.
d6061d6
AuthorBotCursorcommited on
feat: URL import now auto-indexes scraped metadata instantly β no file upload needed
ba24df7
AuthorBotcommited on
fix: 5 critical storage bugs + 3 SQLite/SSE bugs -- tracker.py: db.flush() after add() so chat messages/analytics are persisted -- chat.py: flush->commit for durable ChatSession row -- settings.py: fix session mismatch in all PUT routes (widget-config, profile, personality, notifications, password) - setattr on cross-session user was discarded; now uses UPDATE stmt on route db -- aggregator.py: replace PostgreSQL-only gen_random_uuid() with uuid4() param for SQLite -- ingest.py: fix SSE channel name mismatch subscriber vs publisher -- superadmin_service.py: fix naive/aware datetime TypeError in extend_subscription
784dc0e
AuthorBotcommited on
Fix: save buy_url during book upload so chatbot shows Buy button; remove nonexistent price field
29f9383
AuthorBotcommited on
Fix: replace Celery dispatch with asyncio.create_task for ingestion - books now properly marked ready + chatbot responds correctly
9eb7e65
AuthorBotcommited on
Production hardening: JWT blacklist, TOTP, Pydantic schemas, Prometheus, SSRF fix, CSP, Redis auth, Celery backup β 35 items across P0-P5
131d826
AuthorBotcommited on
Enforce strict SuperAdmin vs Author panel separation.
6e276e0
AuthorBotCursorcommited on
Deep audit fix: add missing model columns (blocked, rating, tokens_used, out_of_scope_message, buy_url, preview_url), fix .get() calls, fix ingest doc creation, add track-click endpoint, add column migrations, fix email crash, fix audit log field names, enrich superadmin author list
868f634
AuthorBotcommited on
Fix ingest.py: use correct service signatures (chunk_document, summarize_book, file_path args)