А подскажите ещё одно. Есть у меня, например, промокоды. Они могут быть используемыми на текущий момент, а может уже нет (устарели, активированы и т.п.). Логику "устаревания" логично поместить в доменную модель. Но при этом, чтобы получить список _актуальных_ промокодов, мне нужно из репозитория получить все промокоды, которые в нём есть (а их может быть миллиард) и прогнать через доменную часть.
Поэтому я сделал метод в репо "load_usable", но пришлось часть логики переложить на конкретную реализацию репо. Ок ли это и неизбежное зло или есть какие-то способы не утаскивать логику в репо?