Es una aplicación que se utiliza para realizar las actualizaciones de los dispositivos fabricados en FANIOT a través de OTA.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

67 lines
1.5 KiB

//Se declara express
const express = require("express");
//Se inicializa express
var app = express();
//Response
const response = require("../../network/response");
//Agrega controlador
const controller = require("./controller");
//subir archivos
const multer = require("multer");
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/app/public/binaries')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
})
const upload = multer({storage: storage});
app.get("/", async function (req, res) {
try {
const firmwaresList = await controller.getFirmwares();
response.success(req, res, firmwaresList, 201);
} catch (error) {
response.error(req, res, error, 401);
}
});
//redirecciona a metodo POST
app.post("/", upload.single("bin"), async (req, res) => {
try {
console.log("Este es el bin: " + req.file);
console.log("Este es el ID: " + req.body.productID)
const newFirmware = await controller.addFirmware(
req.body.productID,
req.body.label,
req.body.version,
req.file.originalname
);
console.log('network: ' + newFirmware)
if(newFirmware == 'ER_DUP_ENTRY'){
response.error(req, res, 'Ya existe un binario con el mismo nombre en la BD', 400);
}else{
response.success(req, res, 'Binario subido exitosamente!', 201);
}
} catch (error) {
response.error(req, res, error, 401);
}
});
module.exports = app;