Директивы хороши для изменения поведения преобразователей, но есть ли способ напрямую изменить открытую схему с их помощью?
Пример
ожидаемая схема суперпользователя
type Query {
getBooks: [Book]
getAuthors: [Author]
}
ожидаемая схема обычного пользователя
type Query {
getBooks: [Book]
}
одно определение, чтобы построить их все
type Query {
getBooks: [Book] @allow(scopes: ["superuser"])
getAuthors: [Author]
}
Область видимости будет определяться через данный контекст, поскольку я бы построил одну схему для каждой возможной области.
да, я хочу открыть две разные конечные точки. Поведение можно было бы выполнить с резолверами, но я хочу, чтобы поля полностью исчезли из схемы
Тогда мне все еще неясно, какое поведение вы пытаетесь реализовать. Вы пытаетесь поддерживать единую схему для обеих конечных точек? Не могли бы вы предоставить дополнительные сведения об ожидаемом поведении и почему то, что вы уже пробовали, не работает?


Непонятно, чего вы пытаетесь достичь. "поскольку я бы построил одну схему для каждой возможной области" ... так вы поддерживаете две отдельные схемы и / или конечные точки? Или вы просто хотите изменить поведение поля в зависимости от того, является ли пользователь суперпользователем или обычным пользователем?