Salta ai contenuti

Abbonamenti GraphQL

Un abbonamento GraphQL è una connessione web-socket dove il client riceve un evento con dati ogni volta che l’evento osservato si verifica a monte.

Tutte le tabelle dei progetti possono ricevere abbonamenti tramite l’endpoint del progetto utilizzando il protocollo wss.

wss://archie-core.archie-platform.com/subscriptions?project_id=projectID

Per completezza di tutti gli esempi, consideriamo uno scenario in cui esiste una tabella chiamata students, che ha campi e relazioni previsti come firstName, email.

Per creare una nuova configurazione di abbonamento, si utilizza la mutazione system { createSubscription }. Questa operazione definisce le regole per un abbonamento, incluso quali tabelle monitorare e quali operazioni (Creare, Aggiornare, Eliminare) dovrebbero attivare un evento.

mutation createNewSubscription($input: SubscriptionInput!) {
system {
createSubscription(input: $input) {
id
active
name
}
}
}
{
"input": {
"name": "students_all",
"description": "Subscription all operations",
"active": true,
"tables": [
{
"table": "students",
"operations": ["UPDATE", "CREATE", "DELETE"],
"fields": ["first_name", "email"]
}
]
}
}