docling-studio/document-parser/services
Pier-Jean Malandrino d941279e1b feat(#251): StoreService — CRUD orchestration + per-kind config validation
Couche service entre l'API et les repos SQLite :
- list_stores avec enrichissement document_count via document_store_links
- get/create/update/delete avec validations
- Slug normalisé lowercase, motif kebab-case strict
- Unicité name + slug (409 sur collision)
- Single-default invariant via clear_default_except
- Validation config par kind (OpenSearch require index_name) — extensible
- Delete refusé sur le store seedé "default" et sur tout store avec liens
- Erreurs typées (Validation/NotFound/Conflict) avec hint http_status
2026-05-04 12:19:43 +02:00
..
__init__.py Radical architecture change, migration to a more lightweight 2026-03-17 16:06:27 +01:00
analysis_service.py feat(#202): introduce Document lifecycle state machine 2026-04-29 15:34:25 +02:00
document_service.py fix(arch): inject repositories and extract domain logic 2026-04-10 11:44:33 +02:00
ingestion_service.py refactor(audit): remediate 0.5.0 audit findings — clean architecture, security, DRY, SOLID, perf 2026-04-29 14:00:00 +02:00
store_service.py feat(#251): StoreService — CRUD orchestration + per-kind config validation 2026-05-04 12:19:43 +02:00