diff --git a/lib/machine-loader.js b/lib/machine-loader.js index 68748f5b..ac6853e2 100644 --- a/lib/machine-loader.js +++ b/lib/machine-loader.js @@ -43,6 +43,16 @@ function getMachines () { .then(rr => rr.map(toMachineObject)) } +function getUnpairedMachines () { + return db.any('SELECT * FROM unpaired_devices') + .then(_.map(r => + _.flow( + _.set('deviceId', _.get('device_id', r)), + _.unset('device_id') + )(r) + )) +} + function getConfig (defaultConfig) { if (defaultConfig) return Promise.resolve(defaultConfig) @@ -257,6 +267,7 @@ function getNetworkHeartbeatByDevice (deviceId) { module.exports = { getMachineName, getMachines, + getUnpairedMachines, getMachine, getMachineNames, setMachine, diff --git a/lib/new-admin/graphql/resolvers/machine.resolver.js b/lib/new-admin/graphql/resolvers/machine.resolver.js index 85521311..8c0cbe43 100644 --- a/lib/new-admin/graphql/resolvers/machine.resolver.js +++ b/lib/new-admin/graphql/resolvers/machine.resolver.js @@ -15,7 +15,8 @@ const resolvers = { }, Query: { machines: () => machineLoader.getMachineNames(), - machine: (...[, { deviceId }]) => machineLoader.getMachine(deviceId) + machine: (...[, { deviceId }]) => machineLoader.getMachine(deviceId), + unpairedMachines: () => machineLoader.getUnpairedMachines() }, Mutation: { machineAction: (...[, { deviceId, action, cashbox, cassette1, cassette2, cassette3, cassette4, newName }, context]) => diff --git a/lib/new-admin/graphql/types/machine.type.js b/lib/new-admin/graphql/types/machine.type.js index a51a33e4..da409d7b 100644 --- a/lib/new-admin/graphql/types/machine.type.js +++ b/lib/new-admin/graphql/types/machine.type.js @@ -27,6 +27,15 @@ const typeDef = gql` packetLoss: String } + type UnpairedMachine { + id: ID! + deviceId: ID! + name: String + model: String + paired: Date! + unpaired: Date! + } + type MachineEvent { id: ID deviceId: String @@ -51,6 +60,7 @@ const typeDef = gql` type Query { machines: [Machine] @auth machine(deviceId: ID!): Machine @auth + unpairedMachines: [UnpairedMachine!]! @auth } type Mutation {