Cette issue décrit le processus d'adaptation de nos schémas GraphQL pour Apollo Federation. L'objectif est de garantir que chaque microservice utilise correctement les directives de fédération (@key, @external, @requires, @provides, @extends) et que tous les schémas sont compatibles avec Apollo Federation. Bien entendu il faut faire une branche apollo-federation dans un premier temps.
Directives et leur utilisation
@key(fields: "id") : Utilisé pour spécifier le champ qui est l'identifiant unique du type. Cela permet de partager ce type entre différents services.
@external : Indique qu'un champ est défini dans un autre service. Utilisé pour la composition des schémas.
@requires(fields: "otherField") : Spécifie les champs nécessaires pour résoudre un champ défini avec @external.
@provides(fields: "otherField") : Indique qu'un service peut fournir certains champs pour un type défini dans un autre service.
@extends : Utilisé pour étendre un type défini dans un autre service.
Description
Cette issue décrit le processus d'adaptation de nos schémas GraphQL pour Apollo Federation. L'objectif est de garantir que chaque microservice utilise correctement les directives de fédération (
@key
,@external
,@requires
,@provides
,@extends
) et que tous les schémas sont compatibles avec Apollo Federation. Bien entendu il faut faire une brancheapollo-federation
dans un premier temps.Directives et leur utilisation
@external
.Liste des schémas à convertir par microservice
Microservice 1: Authentication
Microservice 2: UserSpace
Microservice 3: Organization
Microservice 4: Catalog
Microservice 5: Notification
Microservice 6: Document
Microservice 7: Comment
Microservice 8: AuditLog
Microservice 9: Accounting
Microservice 10: Location
Microservice 11: Follow
Autres graphs