Могу ли я автоматически создать UUID при мутации GraphQL?

#typescript #graphql

Вопрос:

Я настроил сервер apollo и использовал type-graphql для подключения к базе данных postgres. У меня есть следующий запрос:

 mutation Mutation($data: ClickInput!) {  createClick(data: $data) {  id  clickId   } }  

и я передаю данные:

 {  "data": {  "id": "",  "clickId": "Tester123#xyz",  "url": "#",  "utm_source": "",   "device":"device"  } }  

Кажется, я не могу понять, как автоматически сгенерировать UUID. Делаю ли я это на стороне клиента или сервера и входит ли это в контроллер, сущность или службу?

Скриншот моей песочницы Apollo:

введите описание изображения здесь

Комментарии:

1. Во многих случаях ваша БД генерирует идентификатор, но я не знаком с Postgres. Если нет, то я рекомендую сгенерировать его в вашем репозитории/на уровне сущности.

2. обычно… тип ввода для создания мутаций не должен содержать id поля (как в sql insert) … если по каким-то причинам это не требуется … идентификатор может быть сгенерирован [изначально] в бд (если поддерживается требуемый тип идентификатора) или на уровне orm/распознавателя

3. Создайте идентификатор на стороне сервера, иначе вы вызовете повторную визуализацию компонентов.

4. Хорошо, спасибо. Я удалил его из мутаций, и postgres действительно генерирует uuid, так что я почти на месте.

5. Там написано, что требуется удостоверение личности. Это происходит от type-graphql? Я думаю, что, возможно, я не в ладах с оформителями машинописи и классов, но я попытаюсь удалить тип inputType для идентификатора.