Поправить типизацию, чтобы текущая схема пробрасывалась

Завершена
Планируемый запуск: Дата начала: 08.05.2021Планируемое завершение: Дата завершения: 08.05.2021
ПроектЗадачаСтатусДата постановкиНачалоКонецКто создал
@prisma-cms/nextjs-nexusПоправить типизацию, чтобы текущая схема пробрасываласьЗавершена08.05.2021 10:34:1808.05.2021 10:34:2408.05.2021 11:50:07
Не получается просто так сделать, и из коробки он тоже не дает таких инструментов.
Тем не менее интересный вариант промежуточный получился:
import { shield } from 'graphql-shield' import { IRuleFieldMap, ShieldRule } from 'graphql-shield/dist/types' import { NexusGenObjects } from 'server/nexus/generated/nexus' type RuleTree = Record<keyof NexusGenObjects, ShieldRule | IRuleFieldMap> const ruleTree: RuleTree = { Query: { // users: rules.users, }, Mutation: {}, } export const permissions = shield(ruleTree)
В таком виде он требует описать правила для всех корневых объектов схемы. Это может пригодиться в режиме "Паранойя". Только надо доработать до дженерика, чтобы можно было и дочерние типы хотя бы для Query и Mutation затребовать.

Вот такой вот еще приемлемый вариант получился: https://github.com/prisma-cms/nextjs-nexus/commit/1d1cadaf5e2345a6e51a22e24cbc1444f388a698

Сейчас он хотя бы видит когда какие типы есть.

Добавить комментарий