From 0f93e313b6e9aca67c617785926510ca10154298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20S=C3=A1?= Date: Fri, 11 Mar 2022 15:13:08 +0000 Subject: [PATCH] feat: add unpaired machines endpoint to GraphQL --- lib/machine-loader.js | 11 +++++++++++ lib/new-admin/graphql/resolvers/machine.resolver.js | 3 ++- lib/new-admin/graphql/types/machine.type.js | 10 ++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) 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 {