Как я могу проверить с БД определенные поля при использовании GraphQL? - PullRequest
0 голосов
/ 26 ноября 2018

В настоящее время я изучаю, как реализовать GraphQL в моем текущем проекте.Есть кое-что, что касается меня ... Как я могу проверить с базой данных, что информация, которая передается, на самом деле от этого пользователя?И запросы, и мутации извлекаются из одной конечной точки, которую клиент отвечает за выполнение операций чтения и записи в БД соответственно.

Хотя я вижу, как проверять по типу (строка, идентификатор, номер и т. Д.), Я не вижу ловушки или момента, когда я могу проверить, что переданные возможные идентификаторы находятся вфакт от текущего пользователя.Например:

query {
  hero {
    name
  }
  droid(id: "2000") {
    name
  }
}

Как проверить с помощью БД, что текущий идентификатор 2000 принадлежит текущему пользователю?

В настоящее время я использую .NET Core MVC 2 (если это поможет).

Я бы сделал что-то подобное, используя Entity Framework: _database.Droids.Where(x => x.UserId == userId && x.id == id).FirstOrDefaultAsync();

Если этоИдентификатор не соответствует этому пользователю, он будет возвращать пустой объект.То же самое касается операции вставки (мутация в GraphQL).

Есть ли ловушка, в которой я могу проверить данные?Как мне это сделать?

Спасибо!

Я не против, если есть пример в NodeJS или C #

...