Estado al inicio 2025 - 250423

This commit is contained in:
Ciro-pro
2025-04-23 22:02:18 -04:00
parent 8dc07e551f
commit 09aa1ca029
10 changed files with 299 additions and 18 deletions

View File

@@ -1,8 +1,8 @@
module.exports = {
HOST: "localhost",
USER: "lockoutuser",
PASSWORD: "lockoutpassword",
DB: "lockout",
HOST: "192.168.1.123",
USER: "root",
PASSWORD: "Hgxah76Tf6r7",
DB: "lsapi",
dialect: "mariadb",
pool: {
max: 5,

View File

@@ -1,5 +1,8 @@
const db = require("../models");
const Bloqueo = db.bloqueos;
const Trabajador = db.trabajadores;
const Equipo = db.equipos;
const Candado = db.candados;
const Op = db.Sequelize.Op;
// Create and Save a new Bloqueo
@@ -19,6 +22,9 @@ exports.create = (req, res) => {
location: req.body.location,
date: req.body.date,
done: req.body.done || false,
id_trabajadores: req.body.id_trabajadores,
id_equipos: req.body.id_equipos,
id_candados: req.body.id_candados,
};
// Save Bloqueo in the database
Bloqueo.create(bloqueo)
@@ -147,3 +153,50 @@ exports.findAllNotDone = (req, res) => {
});
});
};
// Find all published Bloqueos
exports.getFullData = (req, res) => {
const id = req.params.id;
let retData = {};
Bloqueo.findByPk(id)
.then((data) => {
if (data) {
retData.bloqueo = data;
Trabajador.findAll({
where: { bloqueo_id: retData.bloqueo.id_trabajadores },
}).then((data) => {
retData.trabajadores = data;
retData.trabajadores.forEach((element) => {
if (element.bloqueo_id == 0) element.bloqueo_id = parseInt(id);
});
Equipo.findAll({
where: { bloqueo_id: retData.bloqueo.id_equipos },
}).then((data) => {
retData.equipos = data;
retData.equipos.forEach((element) => {
if (element.bloqueo_id == 0) element.bloqueo_id = parseInt(id);
});
Candado.findAll({
where: { bloqueo_id: retData.bloqueo.id_candados },
}).then((data) => {
console.log(data);
retData.candados = data;
retData.candados.forEach((element) => {
if (element.bloqueo_id == 0) element.bloqueo_id = parseInt(id);
});
res.send(retData);
});
});
});
} else {
res.status(404).send({
message: `Cannot find Bloqueo with id=${id}.`,
});
}
})
.catch((err) => {
res.status(500).send({
message: "Error retrieving Bloqueo with id=" + id,
});
});
};

View File

@@ -69,7 +69,7 @@ exports.findOne = (req, res) => {
});
};
// Update a Bloqueo by the id in the request
// Update a Trabajador by the id in the request
exports.update = (req, res) => {
const id = req.params.id;
Trabajador.update(req.body, {
@@ -93,7 +93,7 @@ exports.update = (req, res) => {
});
};
// Delete a Bloqueo with the specified id in the request
// Delete a Trabajador with the specified id in the request
exports.delete = (req, res) => {
const id = req.params.id;
Trabajador.destroy({
@@ -117,7 +117,7 @@ exports.delete = (req, res) => {
});
};
// Delete all Bloqueos from the database.
// Delete all Trabajadores from the database.
exports.deleteAll = (req, res) => {
Trabajador.destroy({
where: {},

View File

@@ -17,6 +17,21 @@ module.exports = (sequelize, Sequelize) => {
allowNull: false,
defaultValue: false,
},
id_trabajadores: {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 0,
},
id_equipos: {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 0,
},
id_candados: {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 0,
},
});
return Bloqueo;
};

View File

@@ -5,8 +5,10 @@ module.exports = (app) => {
router.post("/", bloqueos.create);
// Retrieve all bloqueos
router.get("/", bloqueos.findAll);
// Retrieve all published bloqueos
// Retrieve all not done bloqueos
router.get("/notDone", bloqueos.findAllNotDone);
// Retrieve all not done bloqueos
router.get("/fullData/:id", bloqueos.getFullData);
// Retrieve a single bloqueo with id
router.get("/:id", bloqueos.findOne);
// Update a bloqueo with id

1
package-lock.json generated
View File

@@ -365,6 +365,7 @@
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"license": "MIT",
"dependencies": {
"object-assign": "^4",
"vary": "^1"

View File

@@ -9,8 +9,8 @@ POST https://lsapi.coretec.cl/api/usuarios
Content-Type: application/json
{
"email": "john@test.com",
"password": "mypass"
"email": "hsotoi@gmail.com",
"password": "1234567890"
}
@@ -36,13 +36,17 @@ Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5Ad
PUT https://lsapi.coretec.cl/api/trabajadores/12
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
Content-Type: application/json
{
"id": 12,
"rut": "11432448-5",
"empresa": "Coretec SpA"
}
###
GET https://lsapi.coretec.cl/api/trabajadores/byBloqueo/0
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
## EQUIPOS
###
GET https://lsapi.coretec.cl/api/equipos
@@ -131,3 +135,17 @@ Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5Ad
###
GET https://lsapi.coretec.cl/api/candadosActivos?bloqueo_id=4
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
# BLOQUEOS
###
GET https://lsapi.coretec.cl/api/bloqueos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
GET https://lsapi.coretec.cl/api/bloqueos/1
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
GET https://lsapi.coretec.cl/api/bloqueos/fullData/1
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8

160
request-dev.rest Normal file
View File

@@ -0,0 +1,160 @@
GET http://localhost:8000/api/usuarios
###
GET http://localhost:8000/api/usuarios/8
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MDk3NDJ9.ZqxyRnPXF426zr-NvBQdrvLZhu-MSaBXsAo_gmsZ6s0
###
POST http://localhost:8000/api/usuarios
Content-Type: application/json
{
"email": "john@test.com",
"password": "mypass"
}
###
POST http://localhost:8000/api/usuarios/login
Content-Type: application/json
{
"email": "juan@test.com",
"password": "mypass"
}
## TRABAJADORES
###
GET http://localhost:8000/api/trabajadores
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
###
DELETE http://localhost:8000/api/trabajadores/5
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
###
PUT http://localhost:8000/api/trabajadores/12
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"id": 12,
"rut": "11432448-5",
"empresa": "Coretec SpA"
}
###
GET http://localhost:8000/api/trabajadores/byBloqueo/0
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
## EQUIPOS
###
GET http://localhost:8000/api/equipos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
###
DELETE http://localhost:8000/api/equipos/5
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
###
DELETE http://localhost:8000/api/equipos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
###
PUT http://localhost:8000/api/equipos/6
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"id": 6,
"descripcion": "EQ-PE-002",
"ubicacion": "Planta pelo"
}
###
POST http://localhost:8000/api/equipos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"tag": "EQ-PE-010",
"descripcion": "Equipo 010 Planta 01",
"ubicacion": "Planta 01",
"bloqueo_id": 0
}
###
GET http://localhost:8000/api/equipos/byBloqueo/0
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
## CANDADOS
###
GET http://localhost:8000/api/candados
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
###
PUT http://localhost:8000/api/candados/186
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"codigo": "CDD-04",
"id": "186",
"rut": "11432448-5"
}
## CANDADOACTIVO
###
POST http://localhost:8000/api/candadosActivos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"codigo": "CDD-03",
"id": "224",
"rut": "21921219-4",
"bloqueo_id": 5,
"fecha_inicio": "2022-09-02T19:21:01.000Z"
}
###
PUT http://localhost:8000/api/candadosActivos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"codigo": "CDD-03",
"id": "224",
"rut": "21921219-4",
"bloqueo_id": 5,
"fecha_inicio": "2022-09-02T19:21:01.000Z",
"fecha_fin": "2022-09-02T21:21:01.000Z"
}
###
GET http://localhost:8000/api/candadosActivos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
# BLOQUEOS
###
GET http://localhost:8000/api/bloqueos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
GET http://localhost:8000/api/bloqueos/1
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
GET http://localhost:8000/api/bloqueos/fullData/3
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
POST http://localhost:5000/submit
Content-Type: application/json
{
"device": "esp01",
"temperature": 9
}

View File

@@ -7,7 +7,6 @@ Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5Ad
###
POST http://localhost:8000/api/usuarios
Content-Type: application/json
{
"email": "john@test.com",
"password": "mypass"
@@ -17,7 +16,6 @@ Content-Type: application/json
POST http://localhost:8000/api/usuarios/login
Content-Type: application/json
{
"email": "juan@test.com",
"password": "mypass"
@@ -36,13 +34,18 @@ Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5Ad
PUT http://localhost:8000/api/trabajadores/12
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"id": 12,
"rut": "11432448-5",
"empresa": "Coretec SpA"
}
###
GET http://localhost:8000/api/trabajadores/byBloqueo/0
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
## EQUIPOS
###
GET http://localhost:8000/api/equipos
@@ -60,7 +63,6 @@ Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5Ad
PUT http://localhost:8000/api/equipos/6
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"id": 6,
"descripcion": "EQ-PE-002",
@@ -71,7 +73,6 @@ Content-Type: application/json
POST http://localhost:8000/api/equipos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"tag": "EQ-PE-010",
"descripcion": "Equipo 010 Planta 01",
@@ -79,6 +80,12 @@ Content-Type: application/json
"bloqueo_id": 0
}
###
GET http://localhost:8000/api/equipos/byBloqueo/0
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
## CANDADOS
###
GET http://localhost:8000/api/candados
@@ -96,12 +103,12 @@ Content-Type: application/json
}
## CANDADOACTIVO
###
POST http://localhost:8000/api/candadosActivos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"codigo": "CDD-03",
"id": "224",
@@ -114,7 +121,6 @@ Content-Type: application/json
PUT http://localhost:8000/api/candadosActivos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
Content-Type: application/json
{
"codigo": "CDD-03",
"id": "224",
@@ -127,3 +133,28 @@ Content-Type: application/json
###
GET http://localhost:8000/api/candadosActivos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Imp1YW5AdGVzdC5jb20iLCJpYXQiOjE2NjE4MTMyOTN9._xo3eCA6NDsKKjCJ1n6YBO6xM0RyHxXuLfP6HK604q4
# BLOQUEOS
###
GET http://localhost:8000/api/bloqueos
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
GET http://localhost:8000/api/bloqueos/1
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
GET http://localhost:8000/api/bloqueos/fullData/3
Authorization: BEARER eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5AdGVzdC5jb20iLCJpYXQiOjE2NjYyMDU2Mjd9.Hd5ccQIZTwtet5hhvnNccUpAaHrY1UzE8bblJ5A4_H8
###
POST http://localhost:5000/submit
Content-Type: application/json
{
"device": "esp01",
"temperature": 9
}

View File

@@ -11,6 +11,7 @@ var corsOptions = {
optionSuccessStatus: 200,
};
app.use(cors(corsOptions));
// app.use(cors());
// parse requests of content-type - application/json
app.use(express.json());
// parse requests of content-type - application/x-www-form-urlencoded