Pular para o conteúdo

Assinaturas GraphQL

Uma assinatura GraphQL é uma conexão web-socket onde o cliente recebe um evento com dados sempre que o evento observado ocorre a montante.

Todas as tabelas dos projetos podem receber assinaturas através do endpoint do projeto usando o protocolo wss.

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

Para todos os exemplos, vamos considerar um cenário onde existe uma tabela chamada students, que possui campos e relações esperados como firstName, email.

Para criar uma nova configuração de assinatura, você usa a mutação system { createSubscription }. Esta operação define as regras para uma assinatura, incluindo quais tabelas observar e quais operações (Criar, Atualizar, Excluir) devem acionar um 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"]
}
]
}
}