feat(knowledge): add service library
This commit is contained in:
parent
ecab0fe6b6
commit
228da8f814
32 changed files with 2878 additions and 6 deletions
|
|
@ -511,6 +511,69 @@ Athena nutzt einen globalen Toast-Provider fuer konsistente Erfolgs- und Fehlerm
|
|||
|
||||
Aktuell werden Toasts in den CRUD-Flows fuer Benutzer, Rollen, Kunden und Ansprechpartner genutzt. Inline-Fehler bleiben dort erhalten, wo sie fuer Formulare und Dialoge hilfreich sind.
|
||||
|
||||
## Wissensdatenbank / Service Library
|
||||
|
||||
v0.6.0 fuehrt das Modul Wissensdatenbank ein. Es verwaltet Hersteller, Geraete und Modelle, Dokumente sowie Reparaturhinweise fuer Funktechnik, Elektronikreparatur und Werkstattbetrieb.
|
||||
|
||||
Hermes stellt dafuer Tabellen mit dem Prefix `knowledge_` bereit:
|
||||
|
||||
- `knowledge_manufacturers`
|
||||
- `knowledge_devices`
|
||||
- `knowledge_documents`
|
||||
- `knowledge_notes`
|
||||
- `knowledge_categories`
|
||||
|
||||
Athena stellt die BFF-Routen unter `/api/knowledge/...` bereit. Der Browser spricht weiterhin ausschliesslich mit Athena.
|
||||
|
||||
### Knowledge-Dateispeicherung
|
||||
|
||||
Dokumentuploads werden in v0.6.0 lokal im Hermes-Container oder in einem gemounteten Volume gespeichert.
|
||||
|
||||
Konfiguration:
|
||||
|
||||
- `KNOWLEDGE_STORAGE_PATH`, Default `/data/knowledge`
|
||||
- `KNOWLEDGE_MAX_UPLOAD_MB`, Default `50`
|
||||
|
||||
Docker Compose bindet das persistente Volume `knowledge-data` nach `/data/knowledge` ein. Dieses Volume darf nicht geloescht werden, wenn lokale Knowledge-Dateien erhalten bleiben sollen.
|
||||
|
||||
Erlaubte Uploadtypen:
|
||||
|
||||
- PDF
|
||||
- JPG/JPEG
|
||||
- PNG
|
||||
- WEBP
|
||||
- TXT
|
||||
- ZIP
|
||||
|
||||
Hermes normalisiert Dateinamen, validiert Extension und MIME-Type, begrenzt die Uploadgroesse und erzwingt, dass gespeicherte und heruntergeladene Dateien innerhalb von `KNOWLEDGE_STORAGE_PATH` liegen.
|
||||
|
||||
### Knowledge-RBAC
|
||||
|
||||
Neue Berechtigungen:
|
||||
|
||||
- `knowledge.read`
|
||||
- `knowledge.create`
|
||||
- `knowledge.update`
|
||||
- `knowledge.delete`
|
||||
- `knowledge.upload`
|
||||
- `knowledge.download`
|
||||
|
||||
Standardrollen:
|
||||
|
||||
- `administrator`: alle Knowledge-Rechte
|
||||
- `management`: `knowledge.read`, `knowledge.download`
|
||||
- `technician`: `knowledge.read`, `knowledge.create`, `knowledge.update`, `knowledge.upload`, `knowledge.download`
|
||||
- `support`: `knowledge.read`, `knowledge.download`
|
||||
- `guest`: keine Knowledge-Rechte
|
||||
|
||||
Hermes erzwingt diese Rechte serverseitig. Athena nutzt sie nur fuer Navigation und UI.
|
||||
|
||||
### Paperless-Vorbereitung
|
||||
|
||||
Eine echte Paperless-ngx-Integration ist in v0.6.0 nicht aktiv. Dokumente enthalten bereits `paperless_document_id` und `external_url`, damit spaeter ein PaperlessConnector angebunden werden kann. API-Keys oder verpflichtende Paperless-Umgebungsvariablen werden in v0.6.0 nicht eingefuehrt.
|
||||
|
||||
Spaetere Verknuepfungen sind fuer Kunden, Projekte, Tickets und Reparaturen vorgesehen.
|
||||
|
||||
## Verzeichnisstruktur
|
||||
|
||||
```text
|
||||
|
|
@ -564,6 +627,12 @@ docker-compose.yml
|
|||
`LOG_LEVEL`
|
||||
: Runtime-Loglevel fuer Hermes, z. B. `INFO`, `WARNING` oder `ERROR`.
|
||||
|
||||
`KNOWLEDGE_STORAGE_PATH`
|
||||
: Lokales Speicherverzeichnis fuer Knowledge-Dateien. Default `/data/knowledge`.
|
||||
|
||||
`KNOWLEDGE_MAX_UPLOAD_MB`
|
||||
: Maximale Uploadgroesse fuer Knowledge-Dokumente in MB. Default `50`.
|
||||
|
||||
### Athena
|
||||
|
||||
`HERMES_INTERNAL_URL`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue