diff --git a/src/graphql/graphqlModules/Node/NodeStart.js b/src/graphql/graphqlModules/Node/NodeStart.js new file mode 100644 index 0000000..28d024a --- /dev/null +++ b/src/graphql/graphqlModules/Node/NodeStart.js @@ -0,0 +1,13 @@ +module.exports.typeDefs = ` + type NodeActions { + start: EmptyOutput! + } +`; + +module.exports.resolvers = { + NodeActions: { + start (root, args, { dispatch }) { + return dispatch('api/node/start'); + } + } +}; diff --git a/src/graphql/graphqlModules/Node/NodeStop.js b/src/graphql/graphqlModules/Node/NodeStop.js new file mode 100644 index 0000000..f18b2fc --- /dev/null +++ b/src/graphql/graphqlModules/Node/NodeStop.js @@ -0,0 +1,13 @@ +module.exports.typeDefs = ` + type NodeActions { + stop: EmptyOutput! + } +`; + +module.exports.resolvers = { + NodeActions: { + stop (root, args, { dispatch }) { + return dispatch('api/node/stop'); + } + } +}; diff --git a/src/store/api/node/nodeStart.js b/src/store/api/node/nodeStart.js new file mode 100644 index 0000000..f8496f0 --- /dev/null +++ b/src/store/api/node/nodeStart.js @@ -0,0 +1,8 @@ +const { exec } = require('child_process') + +module.exports = ({ define }) => { + define('start', async (payload, { knex, errors, utils }) => { + exec('sudo systemctl start node') + }, + { auth: true }) +} diff --git a/src/store/api/node/nodeStop.js b/src/store/api/node/nodeStop.js new file mode 100644 index 0000000..51f494e --- /dev/null +++ b/src/store/api/node/nodeStop.js @@ -0,0 +1,8 @@ +const { exec } = require('child_process') + +module.exports = ({ define }) => { + define('stop', async (payload, { knex, errors, utils }) => { + exec('sudo systemctl stop node') + }, + { auth: true }) +}