feat(knowledge): add service library
This commit is contained in:
parent
ecab0fe6b6
commit
228da8f814
32 changed files with 2878 additions and 6 deletions
|
|
@ -220,10 +220,35 @@ Importmodi:
|
|||
|
||||
Die Excel-freundliche Vorlage liegt unter `GET /api/customers/import/template`.
|
||||
|
||||
### Wissensdatenbank
|
||||
|
||||
Das Knowledge-Modul folgt dem bestehenden Modulstandard:
|
||||
|
||||
- SQLAlchemy-Modell in `backend/hermes/app/models/knowledge.py`
|
||||
- Pydantic-Schemas in `backend/hermes/app/schemas/knowledge.py`
|
||||
- Repository in `backend/hermes/app/repositories/knowledge_repository.py`
|
||||
- Service-Logik in `backend/hermes/app/services/knowledge_service.py`
|
||||
- FastAPI-Router in `backend/hermes/app/api/knowledge.py`
|
||||
- Athena-BFF unter `/api/knowledge/...`
|
||||
- Frontend-Seiten unter `/knowledge`
|
||||
|
||||
Upload-Regeln:
|
||||
|
||||
- Browser sendet Dateien nur an Athena.
|
||||
- Athena leitet FormData serverseitig an Hermes weiter.
|
||||
- Hermes validiert Dateityp, MIME-Type, Dateigroesse und Speicherpfad.
|
||||
- Lokale Dateien liegen unter `KNOWLEDGE_STORAGE_PATH`.
|
||||
- Audit Logs duerfen keine Datei-Inhalte enthalten.
|
||||
- Keine Pfade aus unvalidierten Benutzereingaben zusammensetzen.
|
||||
|
||||
Paperless-ngx ist nur vorbereitet. `paperless_document_id` und `external_url` duerfen gepflegt werden, aber es werden keine Paperless-Secrets oder API-Keys eingefuehrt.
|
||||
|
||||
### Deployment
|
||||
|
||||
Neue Installationen koennen optional ueber `INITIAL_ADMIN_*` einen initialen Administrator anlegen. Diese Variablen werden nur von Hermes gelesen und duerfen nicht im Frontend oder in Logs erscheinen.
|
||||
|
||||
Knowledge-Dateien benoetigen ein persistentes Docker-Volume. Vor produktiven Deployments muessen `KNOWLEDGE_STORAGE_PATH` und `KNOWLEDGE_MAX_UPLOAD_MB` bewusst gesetzt oder die Defaults akzeptiert werden.
|
||||
|
||||
### Neue Permissions
|
||||
|
||||
Neue Module muessen eigene stabile Permission-Strings erhalten.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue