На уровне сервиса обновление обычно состоит из авторизации, валидации разрешённых полей и параметризованного UPDATE. Конкретный запрос зависит от схемы и требований к конкуренции.
Как выглядел запрос на обновление пользователя на уровне сервиса?
На уровне сервиса обновление обычно состоит из авторизации, валидации разрешённых полей и параметризованного UPDATE. Конкретный запрос зависит от схемы и требований к конкуренции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
На уровне сервиса обновление обычно состоит из авторизации, валидации разрешённых полей и параметризованного UPDATE. Конкретный запрос зависит от схемы и требований к конкуренции.
Пример для PostgreSQL, если разрешено изменить имя:
UPDATE users
SET name = $1, updated_at = CURRENT_TIMESTAMP
WHERE id = $2
RETURNING id, name, updated_at;
Значения передают отдельными параметрами драйвера, а доступ к пользователю проверяют до изменения. Нельзя без проверки переносить произвольный JSON в поля модели. Если важно не затереть параллельные изменения, добавляют условие по версии и обрабатывают отсутствие обновлённой строки как конфликт. Пример иллюстрирует подход, но не восстанавливает неизвестную схему конкретного сервиса.