Это создаёт путаницу с тем, что является моделью слоя domain, а что - схемой интерфейса API.
Кроме того, это создаёт возможность циклических зависимостей, если domain хочет импортировать какой-то другой пакет, а этому пакету нужна схема API.
Предполагаемое решение
Нужно унести все модели API в отдельный пакет (например, app/schema) и при необходимости создавать свои версии этих моделей в слое бизнес-логики при необходиомости (они на самом деле уже частично есть).
И нужно аналогичное упражнение проделать с объектами для слоя данных - вынести их в отдельный пакет (app/entities?) и отличать от внутренних объектов слоя данных, нужных просто для обработки внутри слоя.
Проблема
Сейчас модели для схемы API лежат в пакете actions: https://github.com/HyperLEDA/db-app/tree/7c5cf0b3432398c27a6e7c674ee3f5385dd0865c/app/domain/model
Это создаёт путаницу с тем, что является моделью слоя domain, а что - схемой интерфейса API.
Кроме того, это создаёт возможность циклических зависимостей, если domain хочет импортировать какой-то другой пакет, а этому пакету нужна схема API.
Предполагаемое решение
Нужно унести все модели API в отдельный пакет (например, app/schema) и при необходимости создавать свои версии этих моделей в слое бизнес-логики при необходиомости (они на самом деле уже частично есть).