Fähigkeit
Definiert Berechtigungen und enthält Handler für jedes Element.Dekoratoren
Definiert benutzerdefinierte Dekoratoren in NestJS für zusätzliche Funktionen. Weitere Details finden Sie unter benutzerdefinierte Dekoratoren.Filter
Enthält Ausnahmefilter, um mögliche Ausnahmen bei GraphQL-Endpunkten zu behandeln.Guards
Weitere Details finden Sie unter Guards.Health
Enthält eine öffentlich zugängliche REST-API (healthz), die ein JSON zurückgibt, um zu bestätigen, dass die Datenbank wie erwartet funktioniert.Metadaten
Definiert benutzerdefinierte Objekte und stellt eine GraphQL-API (graphql/metadaten) bereit.Arbeitsbereich
Erzeugt und stellt ein benutzerdefiniertes GraphQL-Schema basierend auf den Metadaten bereit.Verzeichnisstruktur des Workspaces
arbeitsbereich.fabrik.ts, die die Funktion createGraphQLSchema enthält. Diese Funktion generiert arbeitsbereichsspezifische Schemata, indem sie die Metadaten nutzt, um ein Schema für einzelne Arbeitsbereiche zu gestalten. Durch die Trennung von Schema- und Resolver-Erstellung verwenden wir die Funktion makeExecutableSchema, die diese diskreten Elemente kombiniert.
Diese Strategie dient nicht nur der Organisation, sondern hilft auch bei der Optimierung, wie z.B. dem Caching generierter Typdefinitionen zur Leistungs- und Skalierbarkeitssteigerung.
Workspace-Schema-Builder
Generiert das GraphQL-Schema und umfasst:Fabriken:
Spezialisierte Konstruktoren, um GraphQL-bezogene Konstrukte zu generieren.- Die type.factory übersetzt Feldmetadaten in GraphQL-Typen unter Verwendung des
TypeMapperService. - Die type-definition.factory erstellt GraphQL-Eingabe- oder Ausgabeobjekte, die aus
objektMetadatenabgeleitet sind.
GraphQL-Typen
Umfasst Aufzählungen, Eingaben, Objekte und Skalare und dient als Bausteine für die Schemakonstruktion.Schnittstellen und Objektdefinitionen
Enthält die Blaupausen für GraphQL-Entitäten und umfasst sowohl vordefinierte als auch benutzerdefinierte Typen wieMONEY oder URL.
Dienste
Enthält den Service, der dafür verantwortlich ist, FieldMetadataType dem passenden GraphQL-Scalar oder den entsprechenden Abfrage-Modifikatoren zuzuordnen.Speicher
Enthält die KlasseTypeDefinitionsStorage, die wiederverwendbare Typdefinitionen enthält und die Duplizierung von GraphQL-Typen verhindert.
Workspace-Resolver-Builder
Erstellt Resolverfunktionen für die Abfrage und Änderung des GraphQL-Schemas. Jede Fabrik in diesem Verzeichnis ist für die Erstellung eines bestimmten Resolvertyps verantwortlich, wie dieFindManyResolverFactory, die für eine vielseitige Anwendung auf verschiedenen Tabellen entwickelt wurde.