Hasura — Разные разрешения для разных страниц (в веб-приложении) в одной таблице для одного и того же пользователя / роли

#permissions #hasura #hasura-jwt

Вопрос:

Я новичок в Hasura и изучаю функцию разрешений, которая поставляется с Hasura для авторизации. У нас есть таблица с именем «устройства», которая содержит информацию об устройстве, такую как имя, IP-адрес и т.д. Мы настроили несколько дополнительных ролей с именами «менеджер» и «пользователь», а также роль по умолчанию, которая поставляется с Hasura, т. е. «администратор». Когда дело доходит до нашего веб-приложения, есть пара страниц (т. Е. /запрос/устройство и /устройства), которые касаются таблицы «устройства».

  1. Теперь, когда я получаю доступ к странице «запрос/устройство» как человек с ролью «пользователь», мне должно быть разрешено просматривать «ВСЕ» устройства (только столбец » имя » из таблицы), чтобы я мог запросить одно из них.
  2. Принимая во внимание, что, когда я пытаюсь получить доступ к странице «/устройства» как человек с ролью «пользователь», мне должно быть разрешено видеть «ТОЛЬКО» устройства, к которым у меня есть доступ (все поля из таблицы).

Можно ли добиться этого с помощью функции разрешений, предоставляемой Hasura? Если да, не могли бы вы, пожалуйста, пролить здесь немного света?

PS: Я думал создать пару представлений верхней части таблицы «устройства» в БД (по одному для каждой страницы) и предоставить соответствующие разрешения, но я не полностью удовлетворен дизайном :/

Заранее благодарю вас!