graphile / graphile/graphile.github.io

Documentation Improvement by adding an example and description for initialEvent for custom subscriptions

Ouverte
#401 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
help wanted quick
Langage dominant
SCSS
Étoiles
27
Forks
126
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Over the last few days I've been trying to create a custom subscription that sends the data directly after connecting. However, there is no example in the documentation of an initial event or any evidence that there is an interface for it. The default behavior of an custom subscription is that it only fetches the previous data and the new data (on insert) after an event was been triggered on the database side.

I only got the information about the `initialEvent` from the discord server:
- By providing the `initialEvent` argument to `@pgSubscription(...)` in `typeDefs` you can pass to it the function which you want to be executed on connection establishment the same way as `currentUserTopicFromContext` from the docs to topic:
```js
currentUserUpdated: UserSubscriptionPayload @pgSubscription(topic: ${embed(
currentUserTopicFromContext,
)})
```
with `initialEvent`:
```js
currentUserUpdated: UserSubscriptionPayload @pgSubscription(topic: ${embed(
currentUserTopicFromContext,
)}, initialEvent: ${embed(
onInitialEvent, //the function that you want to be executed
)})
```

The function that you want to be executed in `initialEvent` has the same structure as `currentUserTopicFromContext`:
```js
const onInitialEvent = async (_args, context, _resolveInfo) => {
// do something
return {}; // return an object
}
```

Now because returning an empty object was the solution for my problem (get already existing data on connection establishment), I didn't dig any deeper on what arguments I can give to the object to control the behavior and what operations can be done in the `initialEvent` function. This can be added additionally to the documentation.

Adding description for `initialEvent` and examples for it to the documentation to make it clear that something like that exists would help allot.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par localiser la documentation sur les subscriptions personnalisées ainsi que les exemples existants de `@pgSubscription` et `currentUserTopicFromContext`. Documentez `initialEvent`, notamment sa signature de fonction et l’exemple montré d’établissement de la connexion ; le travail est terminé lorsque les lecteurs peuvent comprendre comment le fournir et ce que contrôle l’objet renvoyé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
graphql, javascript
Domaine
api, documentation
Type d'issue
Documentation
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.