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
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,
|
|
};
|
|
|