Умный способ повторно использовать код для создания и обновления сущности? - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время я разрабатываю API-интерфейс GraphQL с NodeJS и ищу умный способ обмена кодом между функциями создания и обновления сущностей.

Context

В моем приложении пользователи могут создавать и обновлять свои собственные рейсы (в качестве пилота), поэтому у меня есть два поля ввода GraphQL (CreateFlightInput и UpdateFlightInput), которые вызываются из двух разных мутаций.

Задача

Когда пользователь создает рейс, он должен предоставить самолет, на котором он летел. Поскольку плоскость представлена ​​идентификатором Mongo, API должен проверить, существует ли плоскость и может ли ее видеть пользователь. Но когда пользователь обновляет рейс, такая же проверка требуется (потому что пользователь может изменить самолет, который он использовал). Поскольку я использую два резольвера (мутации), я не хочу писать один и тот же код дважды, тем более что у меня одна и та же проблема для поля пассажиров. Вы спросите меня, что если все проверки одинаковы, почему я использую два разных распознавателя? Проблема в том, что сервер должен выполнять определенные действия во время create, но не во время update. Подводя итог, у нас есть два резольвера, разделяющие некоторый похожий код, но не только.

У вас есть идея, где я мог бы написать этот код, который я могу использовать для обоих? Я думал о функции с логическим значением, которая указывает, редактируем ли мы или нет, но я бы знал, есть ли лучший метод (ы).

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...