Files
servicio_social_api/server/routes/Servicio.js
T
2020-11-23 12:43:33 -06:00

140 lines
3.9 KiB
JavaScript

const fs = require('fs');
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'server/uploads' });
const route = '/servicio';
const nuevo = require('../controller/Servicio/nuevo');
const serviciosAdmin = require('../controller/Servicio/serviciosAdmin');
const serviciosResponsable = require('../controller/Servicio/serviciosResponsable');
const admin = require('../controller/Servicio/admin');
const alumno = require('../controller/Servicio/alumno');
const cancelar = require('../controller/Servicio/cancelar');
const registro = require('../controller/Servicio/registro');
const registroValidado = require('../controller/Servicio/registroValidado');
const cartaTermino = require('../controller/Servicio/cartaTermino');
const informeGlobal = require('../controller/Servicio/informeGlobal');
const liberacion = require('../controller/Servicio/liberacion');
app.post(`${route}/nuevo`, upload.single('cartaAceptacion'), (req, res) => {
return nuevo(JSON.parse(req.body.alumno), req.file.filename)
.then((data) => {
res.status(201).json(data);
})
.catch((err) => {
if (req.file.filename)
fs.unlinkSync(`./server/uploads/${req.file.filename}`);
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/servicios_admin`, (req, res) => {
return serviciosAdmin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/servicios_responsable`, (req, res) => {
return serviciosResponsable(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/admin`, (req, res) => {
return admin(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.get(`${route}/alumno`, (req, res) => {
return alumno(req.query)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/cancelar`, (req, res) => {
return cancelar(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/registro`, (req, res) => {
return registro(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/registro_validado`, (req, res) => {
return registroValidado(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
app.put(`${route}/carta_termino`, upload.single('cartaTermino'), (req, res) => {
return cartaTermino(JSON.parse(req.body.data), req.file.filename)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
if (req.file.filename)
fs.unlinkSync(`./server/uploads/${req.file.filename}`);
res.status(400).json({ message: err.message });
});
});
app.put(
`${route}/informe_global`,
upload.single('informeGlobal'),
(req, res) => {
return informeGlobal(JSON.parse(req.body.data), req.file.filename)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
if (req.file.filename)
fs.unlinkSync(`./server/uploads/${req.file.filename}`);
res.status(400).json({ message: err.message });
});
}
);
app.put(`${route}/liberacion`, (req, res) => {
return liberacion(req.body)
.then((data) => {
res.status(200).json(data);
})
.catch((err) => {
res.status(400).json({ message: err.message });
});
});
module.exports = app;