An open API service indexing awesome lists of open source software.

https://github.com/danielmahon/nexus-plugin-subscriptions

Nexus plugin to support GraphQL subscriptions
https://github.com/danielmahon/nexus-plugin-subscriptions

Last synced: about 1 year ago
JSON representation

Nexus plugin to support GraphQL subscriptions

Awesome Lists containing this project

README

          

# nexus-plugin-subscriptions

**Contents**

- [Installation](#installation)
- [Example Usage](#example-usage)
- [Runtime Contributions](#runtime-contributions)


## Installation

```
npm install nexus-plugin-subscriptions
```

## Example Usage

```ts
// app.ts

import { use, server, log } from 'nexus';
import { PrismaClient } from 'nexus-plugin-prisma/client';
import { subscriptions } from 'nexus-plugin-subscriptions';
// Your context handler
import { createContext } from './context';

const db = new PrismaClient();

// Nexus plugins
use(
subscriptions({
ws: { server: server.raw.http, path: '/subscriptions' },
keepAlive: 10 * 1000,
onConnect: async (payload: Record) => {
log.info('client connected');
return await createContext(payload['authorization'], { db });
},
onDisconnect: () => {
log.info('client disconnected');
},
})
);
```

## Runtime Contributions

Provides your generated schema to `nexus-plugin-subscriptions`