mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 17:14:59 +03:00
Mass-import документов из YAML: upsert по (org, product, code) + немедленная
публикация. Поле product/scope задаётся на верхнем уровне файла (файл=продукт).
- ai/document_import.py: import_documents — обобщённый upsert-сервис по образцу
существующего content_importer (update_or_create, latest_published-check,
publish_version, after_publish=reindex для знаний). ImportReport(created,
updated, unchanged, failed).
- doc_views.py: DocumentImportView — POST {product?, documents:[{...}]}.
Валидация category против enum (невалидные → failed, остальные импортируются).
Concrete KnowledgeImportView/PromptImportView через миксин-паттерн.
- urls.py: роуты knowledge/import/, prompts/import/.
- tests.py: DocumentImportTests — создание+публикация, реимпорт без дубль-версий,
изменённый контент → новая версия, невалидная категория → failed, несуществующий
продукт → failed.