mirror of
https://github.com/TronoSfera/Law.git
synced 2026-05-18 18:13:46 +03:00
2 KiB
2 KiB
Repository Context Map
Entry Points
app/main.py: main backend API (/api/public,/api/admin).app/chat_main.py: dedicated chat API service.app/email_main.py: email service.docker-compose.yml: local service topology.
Main Backend Areas
app/api/public/: public/client cabinet endpoints.app/api/admin/: admin and lawyer endpoints.app/api/admin/requests_modules/kanban.py: kanban aggregation and filters.app/api/admin/crud_modules/: generic CRUD/query layer.app/services/: shared domain services, including chat serialization/security.app/services/chat_crypto.py: versioned chat crypto (v1/v2backward-compatible read,v3per-chat AEAD write path).app/services/chat_secure_service.py: chat paging, explicit decrypt, message body batches, live delta.
app/models/: SQLAlchemy models.app/models/message.py: plaintext no longer auto-decrypts from ORM; chat body encryption happens on flush, read decrypt is explicit.
app/core/: config, middleware, security hardening.
Frontend Areas
app/web/admin/: admin/lawyer UI source modules.app/web/client.jsx: client cabinet entry.app/web/admin.js,app/web/client.js: built bundles.
Tests
tests/test_http_hardening.py: middleware/security headers.tests/test_public_cabinet.py: client cabinet flows.tests/admin/test_lawyer_chat.py: admin/lawyer chat flows.tests/test_migrations.py: migration coverage.
High-Risk Zones
- Request workspace loading: admin
app/web/admin/hooks/useRequestWorkspace.js, clientapp/web/client.jsx. - Kanban performance:
app/api/admin/requests_modules/kanban.py. - Generic query endpoints used by request modal:
app/api/admin/crud_modules/service.py,app/api/admin/invoices.py. - Chat serialization and live updates:
app/services/chat_secure_service.py, public/admin chat routers. - Chat crypto and migration safety:
app/services/chat_crypto.py,app/scripts/reencrypt_with_active_kid.py,tests/test_crypto_kid_rotation.py,tests/test_reencrypt_with_active_kid.py.