Enhance data model reliability
Part of #554
Description
Goals:
- ensure produced data is valid
- represent domain entities by Python classes with domain methods and validators
- concentrate the domain-level processes at one place, avoid disseminating them among all clients (API, convert.py scripts, indexation script, Python client, etc.)
Tasks
-
replace JSON schemas by Pydantic classes
Edited by Christophe Benz