Aplicación para llevar a cabo el stock de la fábrica
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.
 
 

181 lines
4.2 KiB

//Se declara express
const express = require("express");
//subir archivos
const multer = require("multer");
//Se inicializa express
var app = express();
//Response
const response = require("../../network/response");
//Agrega controlador
const controller = require("./controller");
const upload = multer({
dest: "public/images/supplies",
});
//redirecciona a metodo GET
app.get("/", async function (req, res) {
try {
const filterSupplies = req.query.id || null;
const supplyList = await controller.getSupplies(filterSupplies);
response.success(req, res, supplyList, 201);
} catch (error) {
response.error(req, res, error, 401);
}
});
//redirecciona a metodo GET
app.get("/trash", async function (req, res) {
try {
const supplyList = await controller.getDeletedSupplies();
response.success(req, res, supplyList, 201);
} catch (error) {
response.error(req, res, error, 401);
}
});
app.get("/listproviders", async function (req, res) {
try {
const filterSupplies = req.query.id || null;
const supplyList = await controller.listProviders(filterSupplies);
response.success(req, res, supplyList, 201);
} catch (error) {
response.error(req, res, error, 401);
}
});
//redirecciona a metodo POST
app.post("/", upload.single("imageSupply"), async (req, res) => {
try {
console.log(req.body.amount)
const fullSupply = await controller.addSupply(
req.body.name,
req.body.unity,
req.body.providers,
req.file,
req.body.category,
req.body.description,
req.body.code,
req.body.location,
req.body.note,
req.body.quantity,
req.body.amount
);
response.success(req, res, fullSupply, 201);
} catch (error) {
response.error(req, res, error, 401);
}
});
///udpate Supply witch patch
app.patch("/:id", upload.single("imageSupply"), async (req, res) => {
try{
const updatedSupply = await controller.update(
req.params.id,
req.body.name,
req.file,
req.body.description,
req.body.location,
req.body.category,
req.body.code,
req.body.providers,
req.body.unity,
);
response.success(req, res, updatedSupply, 201);
} catch (error){
response.error(req, res, error, 401);
}
;
});
//delete supply statusDB false
app.patch("/totrash/:id", async (req, res) => {
try{
const stateStatusDb = await controller.updateStatusDB(req.params.id);
response.success(req, res, stateStatusDb, 201);
}catch (error){
response.error(req, res, error, 401);
}
});
app.delete("/:id", async (req, res) => {
try {
const deletedSupply = await controller.deleteSupply(
req.params.id,
req.body.name
);
response.success(req, res, deletedSupply, 201);
} catch (error) {
response.error(req, res, error, 401);
}
});
// assign provider
app.patch("/assign/:id", async (req, res) => {
controller
.assignProvider(req.params.id, req.body.idProvider)
.then((data) => {
const message = `El proveedor ${req.body.idProvider} fue agregado`;
response.success(req, res, message, 200);
})
.catch((err) => {
response.error(req, res, err, 500);
});
});
//assign provider and price
app.patch("/assignPrice/:id/", async (req, res) => {
controller
.assignProviderPrice(
req.params.id,
req.body.provider,
req.body.price
)
.then((data) => {
const message = `El proveedor ${req.params.provider} fue agregado`;
response.success(req, res, message, 200);
})
.catch((err) => {
response.error(req, res, err, 500);
});
});
//remove provider
app.patch("/remove/:id", async (req, res) => {
controller
.removeProvider(req.params.id, req.body.idProvider)
.then((data) => {
const message = `El proveedor ${req.body.idProvider} fue eliminado`;
response.success(req, res, message, 200);
})
.catch((err) => {
response.error(req, res, err, 500);
});
});
// udpate note
app.patch("/updatenote/:id", async (req, res) => {
try{
const note = req.body.note
const updateNote = await controller.updateNote(req.params.id, note);
response.success(req, res, updateNote, 201);
}catch (error){
response.error(req, res, error, 401);
}
});
module.exports = app;