Aangepaste Endpoints
Maak aangepaste schema's met aangepaste toegangsregels voor verschillende gebruikers, elk beschikbaar via een eigen endpoint.
Beschrijving
Een GraphQL-server biedt normaal gesproken één enkel endpoint voor het ophalen en versturen van data.
Naast ondersteuning voor het enkele endpoint maakt Gato GraphQL het ook mogelijk om aangepaste endpoints te maken, met verschillende schemaconfiguraties om te voldoen aan de behoeften van verschillende doelgroepen, zoals:
- Een specifieke client of gebruiker
- Een groep gebruikers met meer toegang tot functies (zoals PRO-gebruikers)
- Een van de verschillende applicaties, zoals een mobiele app of website
- Externe API's
- Andere gevallen
De aangepaste endpoint is een Custom Post Type, en zijn permalink is het endpoint. Een endpoint met de titel "My endpoint" en slug my-endpoint is bereikbaar via /graphql/my-endpoint/.

Clients
Elke aangepaste endpoint heeft zijn eigen set clients om mee te communiceren:
âś… Een GraphiQL-client, beschikbaar via het endpoint + ?view=graphiql (bijv.: /graphql/my-endpoint/?view=graphiql).
Module GraphiQL for Custom Endpoints moet ingeschakeld zijn.

âś… Een Interactieve schemaclient, beschikbaar via het endpoint + ?view=schema (bijv.: /graphql/my-endpoint/?view=schema).
Module Interactive Schema for Custom Endpoints moet ingeschakeld zijn.

Een Aangepaste Endpoint Aanmaken
Door op de link Aangepaste Endpoints in het menu te klikken, wordt de lijst met alle aangemaakte aangepaste endpoints weergegeven:

Een aangepaste endpoint is een custom post type (CPT). Om een nieuwe aangepaste endpoint te maken, klik je op de knop "Add New GraphQL endpoint", waarmee de WordPress-editor wordt geopend:

Wanneer de aangepaste endpoint klaar is, publiceer je deze en wordt de permalink de endpoint-URL. Links naar de endpoint (en bron en clients) worden weergegeven in het zijpaneel "Custom Endpoint Overview":

Door ?view=source aan de permalink toe te voegen, wordt de configuratie van de endpoint weergegeven (zolang de gebruiker is ingelogd en de gebruikersrol er toegang toe heeft):

Standaard heeft de aangepaste endpoint het pad /graphql/, en deze waarde is configureerbaar via de Instellingen:

Schemaconfiguratie
Het bepalen welke elementen het schema bevat en welke toegang gebruikers daartoe hebben, wordt gedefinieerd in de schemaconfiguratie.
Daarom moeten we een schemaconfiguratie aanmaken en deze vervolgens selecteren uit het dropdown-menu:

Aangepaste Endpoints Organiseren per Categorie
In het zijpaneel "Endpoint categories" kun je categorieën toevoegen om de Aangepaste Endpoint beter te beheren:

Zo kun je bijvoorbeeld categorieën maken om endpoints te beheren per client, applicatie of andere gewenste informatie:

In de lijst met Aangepaste Endpoints kun je hun categorieën bekijken, en door op een categorielink te klikken of het filter bovenaan te gebruiken, worden alleen de vermeldingen voor die categorie weergegeven:


Privé-endpoints
Door de status van de Aangepaste Endpoint in te stellen op private, is de endpoint alleen toegankelijk voor de beheerder. Zo voorkom je dat je data per ongeluk wordt gedeeld met gebruikers die er geen toegang toe zouden mogen hebben.
Zo kun je bijvoorbeeld privé Aangepaste Endpoints maken die helpen bij het beheer van de applicatie, zoals het ophalen van data voor het genereren van rapporten met je statistieken.

Met wachtwoord beveiligde endpoints
Als je een Aangepaste Endpoint maakt voor een specifieke client, kun je er een wachtwoord aan toewijzen om een extra beveiligingslaag toe te voegen, zodat alleen die client toegang heeft tot de endpoint.

Bij het eerste bezoek aan een met wachtwoord beveiligde endpoint (of je nu de endpoint zelf bezoekt, of de GraphiQL- of Interactive Schema-clients), verschijnt er een scherm met het verzoek om het wachtwoord in te voeren:

Zodra het wachtwoord is ingevoerd en geverifieerd, krijgt de gebruiker pas toegang tot de beoogde endpoint of client:
