Habilidade
Define permissões e inclui manipuladores para cada entidade.Decoradores
Define decoradores personalizados no NestJS para funcionalidade adicional. Veja decoradores personalizados para mais detalhes.Filtros
Inclui filtros de exceção para lidar com exceções que podem ocorrer nos endpoints do GraphQL.Guards
Veja guardas para mais detalhes.Integridade
Inclui uma API REST publicamente disponível (healthz) que retorna um JSON para confirmar se o banco de dados está funcionando como esperado.Metadados
Define objetos personalizados e disponibiliza uma API GraphQL (graphql/metadata).Espaço de trabalho
Gera e serve um esquema GraphQL personalizado com base nos metadados.Estrutura do Diretório de Trabalho
workspace.factory.ts, um arquivo que contém a função createGraphQLSchema. Esta função gera um esquema específico para o espaço de trabalho usando os metadados para adaptar um esquema para espaços de trabalho individuais. Ao separar a construção do esquema e do resolvedor, usamos a função makeExecutableSchema, que combina esses elementos discretos.
Essa estratégia não se trata apenas de organização, mas também ajuda na otimização, como no armazenamento em cache das definições de tipo geradas para melhorar o desempenho e a escalabilidade.
Construtor de Esquema do Workspace
Gera o esquema GraphQL, e inclui:Fábricas:
Construtores especializados para gerar construções relacionadas ao GraphQL.- O type.factory traduz os metadados dos campos em tipos GraphQL usando o
TypeMapperService. - A type-definition.factory cria objetos de entrada ou saída do GraphQL derivados de
objectMetadata.
Tipos GraphQL
Inclui enumerações, entradas, objetos e escalares, e serve como blocos de construção para a construção do esquema.Interfaces e Definições de Objetos
Contém os planos para entidades GraphQL, e inclui tipos predefinidos e personalizados comoMONEY ou URL.
Serviços
Contém o serviço responsável por associar o FieldMetadataType com seu scalar ou modificadores de consulta GraphQL apropriados.Armazenamento
Inclui a classeTypeDefinitionsStorage que contém definições de tipos reutilizáveis, evitando a duplicação de tipos GraphQL.
Construtor de Resolvedor de Workspace
Cria funções resolvedoras para consultar e modificar o esquema GraphQL. Cada fábrica neste diretório é responsável por produzir um tipo distinto de resolvedor, como aFindManyResolverFactory, projetada para aplicação adaptável em várias tabelas.