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.
96 lines
2.6 KiB
96 lines
2.6 KiB
//Se declara express
|
|
const express = require("express");
|
|
const Model = require("./model");
|
|
//Se inicializa express
|
|
var app = express();
|
|
|
|
//Response
|
|
const response = require("../../network/response");
|
|
|
|
//Agrega controlador
|
|
const controller = require("./controller");
|
|
|
|
//redirecciona a metodo GET
|
|
app.get("/", async function (req, res) {
|
|
try {
|
|
const filterProviders = req.query.id || null;
|
|
const providerList = await controller.getProviders(filterProviders);
|
|
response.success(req, res, providerList, 201);
|
|
} catch (error) {
|
|
response.error(req, res, error, 401);
|
|
}
|
|
});
|
|
|
|
//redirecciona a metodo POST
|
|
app.post("/", async (req, res) => {
|
|
|
|
try {
|
|
const fullProvider = await controller.addProvider(
|
|
req.body.name,
|
|
req.body.products,
|
|
req.body.description,
|
|
);
|
|
console.log(fullProvider);
|
|
response.success(req, res, fullProvider, 201);
|
|
} catch (error) {
|
|
console.log(res);
|
|
response.error(req, res, error, 401);
|
|
}
|
|
});
|
|
|
|
// push product id to provider
|
|
app.put("/:id", async (req, res) => {
|
|
try {
|
|
const providerId = req.params.id;
|
|
const productId = req.body.productId;
|
|
const result = await controller.addProductToProvider(providerId, productId);
|
|
response.success(req, res, result, 201);
|
|
} catch (error) {
|
|
response.error(req, res, error, 401);
|
|
}
|
|
});
|
|
|
|
|
|
// put price to provider and return the new price
|
|
app.put("/price/:id", async (req, res) => {
|
|
try {
|
|
const providerId = req.params.id;
|
|
const price = req.body.price;
|
|
const result = await controller.addPriceToProvider(providerId, price);
|
|
response.success(req, res, result, 201);
|
|
} catch (error) {
|
|
response.error(req, res, error, 401);
|
|
}
|
|
});
|
|
|
|
|
|
// app.put('/', async (req, res) => {
|
|
// try{
|
|
// const fullProvider = await controller.pushProduct(req.body.products);
|
|
|
|
// response.success(req, res, fullProvider, 201);
|
|
// }catch(error){
|
|
// console.log(res)
|
|
// response.error(req, res, error, 401);
|
|
// }
|
|
// })
|
|
|
|
// app.patch('/:id', async (req, res) => {
|
|
// try{
|
|
// const editProvider = await controller.updateProvider(req.params.id, req.body.message);
|
|
// response.success(req, res, editProvider, 201);
|
|
// }catch(error){
|
|
// response.error(req,res, error, 401)
|
|
// }
|
|
// })
|
|
|
|
// app.delete('/:id', async (req, res) => {
|
|
// try{
|
|
// const deleteProvider = await controller.deleteProvider(req.params.id, req.body.message);
|
|
// response.success(req, res, deleteProvider, 201);
|
|
// }catch(error){
|
|
// response.error(req,res, error, 401)
|
|
// }
|
|
// })
|
|
|
|
module.exports = app;
|
|
|