agnes-the-ai-analyst/app/api
ZdenekSrotyr 1074d5ec49 feat: implement data access control — table-level permissions
Schema v3: add is_public column to table_registry (default true).

src/rbac.py: can_access_table() checks admin bypass, public flag,
explicit permissions, wildcard bucket permissions.

API enforcement:
- manifest: filters tables by user access
- download: 403 if no access
- catalog: filters table list
- query: validates referenced tables against allowed list

New admin permissions API (/api/admin/permissions) for grant/revoke.

28 access control tests + 733 total tests passing.
2026-03-31 12:33:31 +02:00
..
__init__.py feat: add FastAPI server with auth, RBAC, and all API endpoints 2026-03-27 15:19:18 +01:00
admin.py fix: reject empty table name in register-table endpoint 2026-03-31 12:18:58 +02:00
catalog.py feat: implement data access control — table-level permissions 2026-03-31 12:33:31 +02:00
data.py feat: implement data access control — table-level permissions 2026-03-31 12:33:31 +02:00
health.py fix: handle timezone-naive timestamps in health check 2026-03-30 14:19:40 +02:00
memory.py feat: complete system — web UI, all API endpoints, governance, admin, CLI commands 2026-03-27 16:52:22 +01:00
permissions.py feat: implement data access control — table-level permissions 2026-03-31 12:33:31 +02:00
query.py feat: implement data access control — table-level permissions 2026-03-31 12:33:31 +02:00
scripts.py fix: harden script sandbox and SQL query security 2026-03-27 16:11:05 +01:00
settings.py feat: add dataset permissions, script execution, Kamal config, CI/CD 2026-03-27 15:40:11 +01:00
sync.py feat: implement data access control — table-level permissions 2026-03-31 12:33:31 +02:00
telegram.py feat: complete system — web UI, all API endpoints, governance, admin, CLI commands 2026-03-27 16:52:22 +01:00
upload.py feat: add FastAPI server with auth, RBAC, and all API endpoints 2026-03-27 15:19:18 +01:00
users.py feat: add FastAPI server with auth, RBAC, and all API endpoints 2026-03-27 15:19:18 +01:00