31 lines
899 B
JavaScript
31 lines
899 B
JavaScript
const DataLoader = require('dataloader')
|
|
|
|
const { machineAction } = require('../../services/machines')
|
|
|
|
const machineLoader = require('../../../machine-loader')
|
|
const machineEventsByIdBatch =
|
|
require('../../../postgresql_interface').machineEventsByIdBatch
|
|
|
|
const machineEventsLoader = new DataLoader(
|
|
ids => {
|
|
return machineEventsByIdBatch(ids)
|
|
},
|
|
{ cache: false },
|
|
)
|
|
|
|
const resolvers = {
|
|
Machine: {
|
|
latestEvent: parent => machineEventsLoader.load(parent.deviceId),
|
|
},
|
|
Query: {
|
|
machines: () => machineLoader.getMachineNames(),
|
|
machine: (...[, { deviceId }]) => machineLoader.getMachine(deviceId),
|
|
unpairedMachines: () => machineLoader.getUnpairedMachines(),
|
|
},
|
|
Mutation: {
|
|
machineAction: (...[, { deviceId, action, cashUnits, newName }, context]) =>
|
|
machineAction({ deviceId, action, cashUnits, newName }, context),
|
|
},
|
|
}
|
|
|
|
module.exports = resolvers
|