Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const prompt = require("prompt");
- var mongoose = require("mongoose");
- var mongoDB = "mongodb://127.0.0.1/tecgurus";
- mongoose.connect(mongoDB);
- mongoose.Promise = global.Promise;
- var db = mongoose.connection;
- db.on("error", console.error.bind(console, "MongoDb connection err"));
- let Schema = mongoose.Schema;
- let contactoSchema = Schema({
- nombre: String,
- telefono: String,
- email: String
- });
- var Contacto = mongoose.model("contacto", contactoSchema);
- const insert = contact => {
- let contacto = new Contacto(contact);
- let promise = new Promise((res, rej) => {
- contacto.save(err => {
- if (err) rej(err);
- res("usuario insertado");
- });
- });
- return promise;
- };
- const find = query => {
- let promise = new Promise((res, rej) => {
- Contacto.find(query,(err,result)=>{
- if (err) rej(err);
- res(result);
- });
- });
- return promise;
- };
- const update = (contacto, newValues) => {
- let promise = new Promise((res, rej) => {
- Contacto.update({_id: contacto._id},{$set:newValues},(err)=>{
- if(err) rej(err);
- res("Usuario actualizado");
- });
- });
- return promise;
- };
- const deleteOne = contact => {
- let promise = new Promise((res, rej) => {
- Contacto.deleteOne(contact,(err)=>{
- if(err) rej(err);
- res("usuario eliminado");
- });
- });
- return promise;
- };
- const editRutine = contact => {
- console.log(
- `elige una opcion para el usuario ${JSON.stringify(
- contact
- )} 1) eliminar 2)editar`
- );
- prompt.get(["opcion"], (err, result) => {
- switch (result.opcion) {
- case "1":
- deleteOne(contact)
- .then(res => {
- console.log(res);
- })
- .catch(err => {
- console.log(err);
- });
- break;
- case "2":
- prompt.get(
- ["nuevo nombre", "nuevo telefono", "nuevo email"],
- (err, result2) => {
- let nuevo = {
- nombre: result2["nuevo nombre"],
- telefono: result2["nuevo telefono"],
- email: result2["nuevo email"]
- };
- if (nuevo.nombre == "") {
- delete nuevo.nombre;
- }
- if (nuevo.telefono == "") {
- delete nuevo.telefono;
- }
- if (nuevo.email == "") {
- delete nuevo.email;
- }
- update(contact, nuevo)
- .then(res => {
- console.log(res);
- main();
- })
- .catch(err => {
- console.log(err);
- main();
- });
- }
- );
- break;
- }
- });
- };
- const main = () => {
- console.log(
- "elige una opcion 1) agregar contacto 2) buscar contact 3) salir"
- );
- prompt.get(["opcion"], (err, result) => {
- switch (result.opcion) {
- case "1":
- prompt.get(["nombre", "telefono", "email"], (err, result2) => {
- let contacto = {
- nombre: result2.nombre,
- telefono: result2.telefono,
- email: result2.email
- };
- insert(contacto)
- .then(res => {
- console.log(res);
- main();
- })
- .catch(err => {
- console.log(err);
- main();
- });
- });
- break;
- case "2":
- prompt.get(["Busqueda"], (err, result3) => {
- let search = { nombre: new RegExp(result3.Busqueda, "g") };
- find(search)
- .then(contactos => {
- contactos.forEach((contact, i) => {
- console.log(`${i} ${JSON.stringify(contact)}`);
- });
- prompt.get(["contacto"], (err, result4) => {
- editRutine(contactos[parseInt(result4.contacto)]);
- });
- })
- .catch(err => {
- console.log(err);
- main();
- });
- });
- break;
- }
- });
- };
- main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement