
Capacità
Definisce le autorizzazioni e include gestori per ciascuna entità.Decoratori
Definisce decoratori personalizzati in NestJS per funzionalità aggiuntive. Vedi decoratori personalizzati per maggiori dettagli.Filtri
Include filtri di eccezione per gestire le eccezioni che potrebbero verificarsi nei punti finali GraphQL.Guards
See guards for more details.Health
Include un’API REST pubblicamente disponibile (healthz) che restituisce un JSON per confermare se il database funziona correttamente.Metadati
Definisce oggetti personalizzati e rende disponibile un’API GraphQL (graphql/metadata).Workspace
Genera e serve schemi GraphQL personalizzati basati sui metadati.Workspace Directory Structure
workspace.factory.ts, un file contenente la funzione createGraphQLSchema. Questa funzione genera uno schema specifico per il workspace utilizzando i metadati per adattare uno schema per i singoli lavori. Separando la costruzione dello schema e del risolutore, utilizziamo la funzione makeExecutableSchema, che combina questi elementi discreti.
Questa strategia non riguarda solo l’organizzazione, ma aiuta anche con l’ottimizzazione, come la memorizzazione nella cache delle definizioni di tipo generate per migliorare le prestazioni e la scalabilità.
Workspace Schema builder
Genera lo schema GraphQL e include:Factories:
Costruttori specializzati per generare costrutti correlati a GraphQL.- La fabbrica type.factory traduce i metadati del campo in tipi GraphQL utilizzando
TypeMapperService. - La fabbrica type-definition.factory crea oggetti di input o output GraphQL derivati da
objectMetadata.
Tipi GraphQL
Includes enumerations, inputs, objects, and scalars, and serves as the building blocks for the schema construction.Interfacce e Definizioni di Oggetti
Contiene i progetti per le entità GraphQL e include tipi predefiniti e personalizzati comeMONEY o URL.
Servizi
Contains the service responsible for associating FieldMetadataType with its appropriate GraphQL scalar or query modifiers.Storage
Include la classeTypeDefinitionsStorage che contiene definizioni di tipo riutilizzabili, evitando la duplicazione di tipi GraphQL.
Workspace Resolver Builder
Crea funzioni di risolutore per interrogare e modificare lo schema GraphQL. Each factory in this directory is responsible for producing a distinct resolver type, such as theFindManyResolverFactory, designed for adaptable application across various tables.