diligence/backend/app
Claude f2954af400 Fix: ai_provider reads actual DB schema (config_key/config_value rows)
Root cause: ai_provider.py assumed a single JSON blob in an
'encrypted_value' column, but IntegrationConfig stores each credential
as a separate row with config_key + config_value columns.

Fixes:
- Query groups rows by provider, decrypts each config_value separately
- Correct decrypt_value(secret_key, ciphertext) argument order
- Filter by user_id so providers are per-user
- Callers (ai_chat.py, chat()) now pass user_id through
2026-06-22 00:27:19 +00:00
..
models Deliver Steps 3-8: integration config, meal plans, provider registry, MCP connector (14 tools), B2A files, nginx proxy, AGENT_GUIDE, LICENSE 2026-06-15 14:34:09 +00:00
routers Fix: ai_provider reads actual DB schema (config_key/config_value rows) 2026-06-22 00:27:19 +00:00
schemas Stream D: Security hardening — 10 fixes from QA review 2026-06-21 23:13:53 +00:00
services Fix: ai_provider reads actual DB schema (config_key/config_value rows) 2026-06-22 00:27:19 +00:00
utils Fix: replace all settings.algorithm references with hardcoded ALGORITHM 2026-06-22 00:17:58 +00:00
__init__.py Initial commit: full fitness-rewards app 2026-03-14 23:53:00 +00:00
config.py Stream D: Security hardening — 10 fixes from QA review 2026-06-21 23:13:53 +00:00
database.py Fix: add future annotations to all files, fix date field name shadowing type in RewardRedeemRequest 2026-03-15 00:42:13 +00:00
main.py Fix: SyntaxError in main.py — comma after allow_credentials=False 2026-06-22 00:08:28 +00:00