read and write the motor status

master
bhaskar 2 years ago
parent f411781420
commit 7477b29eb3

@ -1567,4 +1567,56 @@ exports.motortemperature = async (req, reply) => {
catch (err) {
throw boom.boomify(err);
}
};
};
exports.readMotorStatus = async (request, reply) => {
try {
const { motor_id, action } = request.query;
const tank = await Tank.findOne({ motor_id });
if (!tank) {
return reply.code(404).send({ error: 'Tank not found' });
}
if (action === '1') {
tank.motor_status = '1';
} else if (action === '2') {
tank.motor_status = '0';
} else {
return reply.code(400).send({ error: 'Invalid action' });
}
await tank.save();
return tank;
} catch (error) {
request.log.error(error);
return reply.code(500).send({ error: 'Internal Server Error' });
}
}
exports.writeMotorStatus = async (request, reply) => {
try {
const { motor_id, status, current, temp } = request.body;
const tank = await Tank.findOne({ motor_id });
if (!tank) {
return reply.code(404).send({ error: 'Tank not found' });
}
tank.motor_status = status;
tank.motor_temperature = temp || tank.motor_temperature;
await tank.save();
return tank;
} catch (error) {
request.log.error(error);
return reply.code(500).send({ error: 'Internal Server Error' });
}
}

@ -686,6 +686,72 @@ module.exports = function (fastify, opts, next) {
});
fastify.post('/api/motor/write', {
schema: {
tags: ["Tank"],
description: "This is to Write the motor status",
summary: "This is to Write the motor status",
body: {
type: 'object',
required: ['motor_id', 'status'],
properties: {
motor_id: { type: 'string' },
status: { type: 'string', enum: ['on', 'off'] },
current: { type: 'string' },
temp: { type: 'string' },
},
},
// response: {
// 200: {
// type: 'object',
// properties: {
// // Define your response properties here
// motor_id: { type: 'string' },
// status: { type: 'string' },
// current: { type: 'string' },
// temp: { type: 'string' },
// // Add other properties as needed
// },
// },
// },
},
handler: tanksController.writeMotorStatus
});
fastify.get('/api/motor/read', {
schema: {
tags: ["Tank"],
description: "This is to Read the motor status",
summary: "This is to Read the motor status",
querystring: {
type: 'object',
properties: {
motor_id: { type: 'string' },
action: { type: 'string', enum: ['1', '2'] },
},
required: ['motor_id', 'action'],
},
// response: {
// 200: {
// type: 'object',
// properties: {
// // Define your response properties here
// motor_id: { type: 'string' },
// motor_status: { type: 'string' },
// motor_speed: { type: 'string' },
// motor_temperature: { type: 'string' },
// // Add other properties as needed
// },
// },
// },
},
handler: tanksController.readMotorStatus
});
next();
}

Loading…
Cancel
Save