Сейчас функционально действующий репозиторий один: https://github.com/HyperLEDA/db-app/blob/master/app/data/repository.py
Он объединяет в себе доступ ко всем таблицам, что с увеличением числа последних становится трудно модифицируем и разрастает ответственность на один этот класс. Хочется сделать следующее:
разбить этот класс на три разных репозитория: один для общих таблиц (CommonRepository), другой для данных уровня 0 (Layer0Repository), третий - для данных уровня 1 (Layer1Repository). Далее ещё появятся Layer2Repository и QueueRepository для очереди задач и менеджмента Redis.
CommonRepository будет давать доступ к общим таблицам - пока это библиография и pgc, далее будет таблица пользователей и таблица с задачами
Layer0Repository будет давать доступ к схеме rawdata
Layer1Repository будет давать доступ ко всем таблицам каталогов - icrs, designations и прочее.
Сейчас функционально действующий репозиторий один: https://github.com/HyperLEDA/db-app/blob/master/app/data/repository.py Он объединяет в себе доступ ко всем таблицам, что с увеличением числа последних становится трудно модифицируем и разрастает ответственность на один этот класс. Хочется сделать следующее:
Эти репозитории уже частично сделаны: https://github.com/HyperLEDA/db-app/tree/master/app/domain/repositories Стоит унести их в data и наполнить релевантными методами.
На будущее стоит сделать аналогичное упражнение с классом Actions и разбить его, например, по админским/неадминским методам или как-то аналогично