semblance-dev/backend/app/routes
Vadym Samoilenko 7b6a7c7347 Fix admin filters: ISO Z parsing crash + All time period returning month data
Two bugs caused filters to show 0 and period selector to have no effect:

1. Python < 3.11 can't parse JS toISOString() Z suffix — every request with a
   period filter threw ValueError → 500 → frontend received no data. Fixed with
   _parse_iso() helper that replaces Z with +00:00 before fromisoformat().

2. 'All time' sends no from/to params, but backend defaulted to _month_start()
   instead of omitting the ts filter. Fixed with _period_match() helper that
   returns {} (no filter) when both from and to are absent.

Also: stale _user_mtd_cost reference in get_user route replaced with
_user_period_cost(user_id, None, None); adminApi types updated with from/to.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 19:17:57 +01:00
..
admin.py Fix admin filters: ISO Z parsing crash + All time period returning month data 2026-04-24 19:17:57 +01:00
ai_personas.py Final pieces: decorators on LLM routes, usage self-service, billing page, WS events 2026-04-24 18:43:13 +01:00
auth.py Complete phases D–G: quota enforcement, token invalidation, admin writes, backfill 2026-04-24 18:34:48 +01:00
focus_group_ai.py Final pieces: decorators on LLM routes, usage self-service, billing page, WS events 2026-04-24 18:43:13 +01:00
focus_groups.py Allow document uploads (PDF, DOCX, TXT, etc.) as focus group assets 2026-03-23 17:08:30 +00:00
folders.py Apply Jintech security audit remediation (sprint 3) — 87/92 findings fixed 2026-03-20 12:51:18 +00:00
personas.py Final pieces: decorators on LLM routes, usage self-service, billing page, WS events 2026-04-24 18:43:13 +01:00
tasks.py Fix data isolation + conversation/decision 500 errors 2026-03-23 17:02:10 +00:00
usage.py Final pieces: decorators on LLM routes, usage self-service, billing page, WS events 2026-04-24 18:43:13 +01:00