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.
 
 

88 lines
2.0 KiB

//Mock de base de datos
const store = require("./store");
//Conexión por websockets
const { socket } = require('../../socket');
function addProvider(name, products, description) {
return new Promise((resolve, reject) => {
if (!name) {
console.error("[messageController]: No hay usuario o mensaje!");
reject("Los datos son incorrectos!");
}
const fullProvider = {
name: name,
products: products,
description: description,
date: new Date(),
statusDB: true,
};
store.add(fullProvider);
socket.io.emit('listenProviders', fullProvider);
resolve(fullProvider);
});
}
function getProviders(filterProvider) {
return new Promise((resolve, reject) => {
resolve(store.list(filterProvider));
});
}
function pushProduct(newProduct) {
return new Promise((resolve, reject) => {
resolve(store.push(newProduct));
});
}
// add product to Provider
function addProductToProvider(idProvider, productId) {
return new Promise((resolve, reject) => {
resolve(store.addProductToProvider(idProvider, productId));
});
}
// add price to provider and return the new price
function addPriceToProvider(idProvider, price) {
return new Promise((resolve, reject) => {
resolve(store.addPriceToProvider(idProvider, price));
});
}
// function updateProvider(id, message) {
// return new Promise(async (resolve, reject) => {
// console.log(id)
// console.log(message)
// if(!id || !message){
// reject('Invalid data')
// return false
// }
// const result = await store.updateText(id, message);
// resolve(result);
// })
// }
// function deleteProvider(id) {
// return new Promise(async (resolve, reject) => {
// if (!id) {
// reject ('Id inválido')
// }
// resolve(store.remove(id));
// });
// }
module.exports = {
addProvider,
getProviders,
pushProduct,
addProductToProvider,
addPriceToProvider,
// updateProvider,
// deleteProvider,
};