rdio-scanner/server/graphql/subscriptions/rdio-scanner-call.js
2019-11-18 13:06:09 -05:00

34 lines
833 B
JavaScript

'use strict';
const { withFilter } = require('apollo-server-express');
module.exports = ({ pubsub }) => ({
subscribe: withFilter(
() => pubsub.asyncIterator(['rdioScannerCall']),
(payload, variables) => {
if (variables.selection) {
if (payload.rdioScannerCall) {
const call = payload.rdioScannerCall;
let selection;
try {
selection = JSON.parse(variables.selection);
} catch (err) {
return false;
}
return selection[call.system][call.talkgroup];
} else {
return false;
}
} else {
return true;
}
},
),
});