fixing subscription resolver
This commit is contained in:
parent
ef66f2790d
commit
3e2ee1ee0f
@ -1,5 +1,9 @@
|
|||||||
const { createClient } = require('graphql-ws');
|
const { createClient } = require('graphql-ws');
|
||||||
const WebSocket = require('ws');
|
const WebSocket = require('ws');
|
||||||
|
const { PubSub } = require('graphql-subscriptions');
|
||||||
|
|
||||||
|
const pubsub = new PubSub();
|
||||||
|
const PROJECTS_MUTATED = 'PROJECTS_MUTATED';
|
||||||
|
|
||||||
const client = createClient({
|
const client = createClient({
|
||||||
url: 'wss://directus.andert.me/graphql',
|
url: 'wss://directus.andert.me/graphql',
|
||||||
@ -8,11 +12,6 @@ const client = createClient({
|
|||||||
connectionParams: async () => {
|
connectionParams: async () => {
|
||||||
return { access_token: 'Mb3NMqKwiyesxDeJRTD72VZZ6f4t3mBr' };
|
return { access_token: 'Mb3NMqKwiyesxDeJRTD72VZZ6f4t3mBr' };
|
||||||
},
|
},
|
||||||
on: {
|
|
||||||
opened: () => console.log('Connection opened'),
|
|
||||||
closed: () => console.log('Connection closed'),
|
|
||||||
error: (error) => console.log('Connection error:', error),
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
client.subscribe(
|
client.subscribe(
|
||||||
@ -20,22 +19,35 @@ client.subscribe(
|
|||||||
query: `
|
query: `
|
||||||
subscription {
|
subscription {
|
||||||
projects_mutated {
|
projects_mutated {
|
||||||
|
key
|
||||||
|
event
|
||||||
data {
|
data {
|
||||||
|
id
|
||||||
text
|
text
|
||||||
date_updated
|
date_updated
|
||||||
user_updated {
|
user_updated {
|
||||||
first_name
|
first_name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
event
|
|
||||||
key
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
next: data => console.log('data:', data),
|
next: data => {
|
||||||
|
if (data && data.data && data.data.projects_mutated) {
|
||||||
|
pubsub.publish(PROJECTS_MUTATED, { projects_mutated: data.data.projects_mutated });
|
||||||
|
}
|
||||||
|
},
|
||||||
error: error => console.error('error:', error),
|
error: error => console.error('error:', error),
|
||||||
complete: () => console.log('complete'),
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
Subscription: {
|
||||||
|
projects_mutated: {
|
||||||
|
subscribe: () => pubsub.asyncIterator([PROJECTS_MUTATED]),
|
||||||
|
resolve: payload => payload.projects_mutated,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
Reference in New Issue
Block a user