#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 для идентификатора.