UNPKG

zoolserver

Version:

Servidor para la aplicación de Escritorio Zool

129 lines (124 loc) 6.91 kB
module.exports=function(app){ const ZoolUser = require('./models/ZoolUsers') /* descripcion codigo precioinstalacion precioabono adicionalriesgo observaciones */ nuevoZoolUser = function(req, res){ console.log('Insertando ZoolUser con nombre '+req.query.nombre) ZoolUser.find({ //date: {$gt: h } //date: {$gte: "2019-06-12T00:00:00+01:00", $lte: "2019-12-12T23:00:00+01:00" } //date: {$gte: h, $lte: hf } n:req.query.n // Search Filters }, ['n'], // Columns to Return { skip:0, // Starting Row limit:1, // Ending Row sort:{ n: 1 //Sort by Date Added DESC } }, function(err, resultados){ if(err) res.status(500).send({mensaje: `Error al buscar mensajes: ${err}`}) if(resultados.length===0){ console.log('Registrando el dato del ZoolUser '+req.query.nombre); //res.redirect('/res-add-producto.html?res=no'+mensajes.length) //Registra el ZoolUser porque no existe ninguno con ese nombre let zoolUser = new ZoolUser() zoolUser.tipo = req.query.tipo zoolUser.ms = req.query.ms zoolUser.msmod = req.query.msmod zoolUser.n = req.query.n zoolUser.d = req.query.d zoolUser.m = req.query.m zoolUser.a = req.query.a zoolUser.h = req.query.h zoolUser.min = req.query.min zoolUser.gmt = req.query.gmt zoolUser.lat = req.query.lat zoolUser.lon = req.query.lon zoolUser.ciudad = req.query.ciudad zoolUser.admin = req.query.admin zoolUser.fechaRegistro = new Date(Date.now()) console.log('Creando un nuevo ZoolUser nombre: Tipo:'+zoolUser.tipo+'\nMs: '+zoolUser.ms+'\nMsMod: '+zoolUser.msmod+'\nNombre: '+zoolUser.n+'\nDía: '+zoolUser.d+'\nMes: '+zoolUser.m+'\nAño: '+zoolUser.a+'\nHora: '+zoolUser.h+'\nMinuto: '+zoolUser.min+'\nGMT: '+zoolUser.gmt+'\nLatitud: '+zoolUser.lat+'\nLongitud: '+zoolUser.lon+'\nLugar: '+zoolUser.ciudad+'\nAdministrador: '+zoolUser.admin+'\nFecha de Registro: '+zoolUser.fechaRegistro) zoolUser.save(function(err, userRegistered){ if(err){ res.status(500).send(`Error when user register: ${err}`) return } res.redirect('/res-add-producto.html?res=El+producto+se+ha+agregado+correctamente&pid='+userRegistered._id) //res.status(200).send({producto: userRegistered}) }) return }else{ console.log('Se intenta repetir el registro del ZoolUser '+req.query.n); let msg='No+se+ha+registrado+el+productoYa+existe+un+producto+con+el+nombre+'+(''+req.query.n).replace(/ /g, '%20') res.redirect('/res-add-producto.html?res='+msg) } }) } searchZoolUser = function(req, res){ console.log('Buscando ZoolUser con nombre '+req.query.consulta) var regExp= new RegExp(''+(''+req.query.consulta).toUpperCase()+'|'+(''+req.query.consulta).toLocaleLowerCase()) /*ZoolUser.find({ //date: {$gt: h } //date: {$gte: "2019-06-12T00:00:00+01:00", $lte: "2019-12-12T23:00:00+01:00" } //date: {$gte: h, $lte: hf } codigo: regExp, descripcion: regExp // Search Filters },*/ ZoolUser.find({ $or: [ { codigo: regExp }, { descripcion: regExp } ] }, ['descripcion', 'codigo', 'precioinstalacion', 'precioabono', 'adicionalriesgo', 'observaciones'], // Columns to Return { skip:0, // Starting Row //limit:1, // Ending Row sort:{ codigo: 1 //Sort by Date Added DESC } }, function(err, resultados){ if(err) res.status(500).send({mensaje: `Error al buscar ZoolUsers: ${err}`}) if(resultados.length===0){ console.log('No se encontró ningún ZoolUser '+req.query.consulta); res.status(200).send({zoolUsers: false}) }else{ console.log('Se devolverán datos de ZoolUsers a la consulta: '+req.query.consulta); res.status(200).send({zoolUsers: resultados}) } }) } setChatUser = function(req, res){ let userId = req.query.userId let update = req.body ZoolUser.findByIdAndUpdate(userId, update, function(err, userUpdated){ if(err) res.status(500).send(`Error when user register: ${err}`) console.log('setChatUser: '+userUpdated) res.status(200).send({'user':userUpdated}) }) } getChatUser = function(req, res){ console.log('Receiving get '+req.query.userId) let userid= req.query.userId ZoolUser.findById(userid, function(err, user){ if(err){ res.status(500).send({user: `Error al buscar usuario: ${err}`}) return } if(!user){ res.status(200).send({'user': false}) return } res.status(200).send({'user': user}) }) } app.post('/zool/nuevoZoolUser', nuevoZoolUser); app.get('/zool/searchuser', searchZoolUser); app.get('/chat/set/user', setChatUser); app.get('/chat/get/user', getChatUser); }