Задать вопрос
  • Как сделать уменьшение склада в СУБД безопасными правильным?

    @constantinesx
    Заведите отдельную таблицу, куда при сканированиии будет заноситься ссылка на товар, ссылка на пользователя, который произвел сканирование, дата и время операции. В дальнейшем вычисляйте остатки агрегатными функциями.
    Ответ написан
    3 комментария
  • В каком слое DTO объект преобразовывать в словарь перед сохранением в БД?

    @constantinesx
    Формировать в сервисном слое ORM модель и передавать ее в репо - плохая идея:
    1. Часто приводится аргумент «а вот захочешь ты сменить реляционную БД на nosql и тогда сервисный слой придется переписывать». И хоть это и редкий кейс, тем не менее стоит держать его в голове. Избегайте протекание логики работы с БД в сервисный слой.
    2. Само название DTO содержит цель этой сущности - гонять данные между функциями/слоями. Модель ORM это более сложный и более специфичный объект.

    Насчет передачи словаря в репо из сервиса тоже есть сомнения:
    1. DTO обеспечивает валидацию данных, автодополнение кода, типизацию и еще много что на самом деле - можно писать свои методы, реализующие необходимую логику. Словари - нет.
    2. Если вы уже описали DTO, то немного странно использовать его только для передачи данных из роута в сервис. Почему бы тогда не использовать его и для передачи из сервиса в репо?

    Резюмируя - передавайте данные между слоями в DTO, в обоих направлениях.
    Ответ написан
    Комментировать
  • На какой freelance бирже искать заказы?

    @constantinesx
    kwork.ru при всех недостатках вполне жив
    Ответ написан