Files
2025-02-21 11:53:52 -06:00

67 lines
1.8 KiB
JavaScript

const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'server/uploads' });
const { verificaToken } = require('../middleware/autentificacion');
const route = '/programa';
const controllerPath = '../controller/Programa';
const cargaMasiva = require(`${controllerPath}/cargaMasiva`);
const programasAdmin = require(`${controllerPath}/programasAdmin`);
const programasResponsable = require(`${controllerPath}/programasResponsable`);
const reasignarProgramas = require(`${controllerPath}/reasignarProgramas`);
// POST
app.post(
`${route}/carga_masiva`,
verificaToken,
upload.single('csv'),
(req, res) => {
if (req.file) {
return cargaMasiva(req.file.filename)
.then((data) => {
res.status(201).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
}
res
.status(400)
.json({ message: 'No se envio un archivo csv para la carga masiva.' });
}
);
// PUT
app.put(`${route}/reasignar_programas`, verificaToken, (req, res) => {
return reasignarProgramas(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
// GET
app.get(`${route}/programas_admin`, verificaToken, (req, res) => {
return programasAdmin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/programas_responsable`, verificaToken, (req, res) => {
return programasResponsable(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
module.exports = app;