As subscrições são um tipo de consulta que permite receber notificações quando são feitas alterações a um dispositivo, recurso ou lista de reprodução.
Um exemplo pode ser quando pretende ser notificado de quaisquer alterações feitas ao seu dispositivo, seja alterando o recurso ou a lista de reprodução. Isto pode ser feito inteiramente dentro do GraphQL usando consultas para encontrar as informações sobre um dispositivo, configurando uma subscrição e, em seguida, usando mutações para alterar os atributos do dispositivo.
1. Configurar a Subscrição
subscription subscribe($_id:String,$type:OBJECT_TYPES){
subscribe(_id:$_id,type:$type){
_id,
mutation,
teamId
type
}
}
Variáveis
{"_id":"",
"type": ""
}
Note os elementos presentes na consulta de Subscrição. Estes são os elementos que irá monitorizar e que lhe serão devolvidos quando algum deles for alterado através de uma Mutação.
Quando uma Subscrição é introduzida corretamente, deverá ver isto no lado direito da interface do GraphQL:
Isto significa que, enquanto a Subscrição estiver ativa, irá reportar quaisquer alterações ao item.
2. Testar a Subscrição
Aqui, temos um script de Mutação que está a alterar o nome e a lista de reprodução no dispositivo selecionado.
mutation updateDevice($_id: String!,$payload: UpdateDeviceInput!, $teamId: String){
updateDevice(_id:$_id,payload:$payload,teamId:$teamId){
_id,
deviceName,
UUID,
pairingCode,
currentType,
currentAssetId,
currentPlaylistId,
path,
localAppVersion
}
}
Variáveis
{"_id": "",
"payload": {"deviceName": "",
"currentType": "",
"currentAssetId": "",
"currentPlaylistId": "",
"orientation": "LANDSCAPE"
}
}
Quando executamos esta Mutação, podemos mudar para onde a nossa Subscrição está a Escutar e ver isto:
Artigo Anterior - Tratamento de Erros
Próximo Artigo - Referência da API