From 7af5a5b257f58a0aeea42534a4603aea8114036b Mon Sep 17 00:00:00 2001 From: Blanket25 Date: Sat, 22 Jan 2022 17:20:52 +0100 Subject: [PATCH 1/3] delete function added --- cmds/create.js | 62 ++--- cmds/delete.js | 78 +++--- cmds/find.js | 74 +++--- cmds/update.js | 107 ++++---- database/tasks.json | 30 ++- package-lock.json | 585 +------------------------------------------- src/questions.js | 179 +++++++------- 7 files changed, 275 insertions(+), 840 deletions(-) diff --git a/cmds/create.js b/cmds/create.js index d885a68a5..cc204eac6 100644 --- a/cmds/create.js +++ b/cmds/create.js @@ -1,41 +1,27 @@ -// Pasos estándar a hacer en todas las funciones -// TODO Leer archivo.json, crear si no existe. -// TODO Mensaje de Éxito y/o Error -// TODO En todos los pasos siempre tener un mensaje de Error si algo falla, indicando el proceso que hace -// Pej: Si falla a leer el archivo, Error: File not found o si falla al escribir Error: File can not write. +const inquirer = require("inquirer"); // inicar preguntas por consola +const fs = require("fs"); // leer Json +const { create } = require("../src/questions"); // Importa las preguntas de creación +let dbcache = []; -const inquirer = require('inquirer'); // Para iniicar preguntas por consola -const fs = require('fs'); // Necesario para leer Json -const { create } = require('../src/questions') // Importa las preguntas de creación -let dbcache = [] +fs.readFile("../database/tasks.json", (err, rawdata) => { + if (!err) { + dbcache = JSON.parse(rawdata); + } else { + let emptyFile = JSON.stringify([{}], null, 2); + fs.writeFile("../database/tasks.json", emptyFile, (err) => { + if (err) throw err; + }); + } +}); -// Inicia lectura de Json <-- -fs.readFile('../database/tasks.json', (err, rawdata) => { - if (!err) { - dbcache = JSON.parse(rawdata) - //console.log(dbcache) - } - else { - //console.log('No se ha podido leer el archivo') - let emptyFile = JSON.stringify([{}],null,2); - fs.writeFile('../database/tasks.json', emptyFile, err => { - if(err) throw err; // error checking - }); - //console.error(err) - } -}) -// Fin de lectura del Json -// --> +inquirer.prompt(create).then((newTodo) => { + dbcache.push(newTodo); + let todos = JSON.stringify(dbcache, null, 2); -// Código que te permite crear las pregunta sobre el campo que quieres crear/modificar -inquirer - .prompt(create) - .then( answers => { - dbcache.push(answers) - let todos = JSON.stringify(dbcache, null, 2); - fs.writeFile('../database/tasks.json', todos, err => { - if(err) throw err; // error checking - }); - console.log('Tarea Creada'); - console.table(dbcache); - }); \ No newline at end of file + fs.writeFile("../database/tasks.json", todos, (err) => { + if (err) throw err; + }); + + console.log("Tarea Creada"); + console.table(dbcache); +}); diff --git a/cmds/delete.js b/cmds/delete.js index 1c30038c7..d2446802b 100644 --- a/cmds/delete.js +++ b/cmds/delete.js @@ -1,40 +1,46 @@ -// Pasos estándar a hacer en todas las funciones -// Leer archivo.json, crear si no existe (quizás sólo en create.js) -// Copiar información del archivo en un arrayTemporal -// Inicia pregunta de los campos para crear la tarea, guardar en un objetoTemporal -// Cuando complete los campos, hacer push del objeto temporal al arrayTemporal. -// Escribir arrayTemporal en archivo.json -// Mensaje de Éxito y/o Error -// En todos los pasos siempre tener un mensaje de Error si algo falla, indicando el proceso que hace -// Pej: Si falla a leer el archivo, Error: File not found o si falla al escribir Error: File can not write. +const inquirer = require("inquirer"); +const fs = require("fs"); +const { remove } = require("../src/questions"); +let dbcache = []; -const inquirer = require('inquirer'); // Para iniicar preguntas por consola -const fs = require('fs'); // Necesario para leer Json -const {remove} = require('../src/questions') // Importa preguntas para borrar -let dbcache = [] -// Inicia lectura de Json <-- -fs.readFile('../database/tasks.json', (err, rawdata) => { - if (!err) { - dbcache = JSON.parse(rawdata) - //console.log(dbcache) - } - else { - //console.log('No se ha podido leer el archivo') - let emptyFile = JSON.stringify([{}],null,2); - fs.writeFile('../database/tasks.json', emptyFile, err => { - if(err) throw err; // error checking - }); - //console.error(err) - } -}) -// Fin de lectura del Json -// --> +function lanzapreguntas() { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log("Cargando preguntas....\n"); + inquirer.prompt(remove).then((todo) => { + var index = todo.taskindex; + dbcache[index] = todo; -// Código que te permite crear la pregunta sobre el campo que quieres crear -inquirer - .prompt(remove) - .then( answers => { // Aquí va la función que guarda el Nombre en el Objeto (Json, Sql o Mongo) - console.info('Nombre de la tarea:', answers); // En este momento no hay presistencia - }); + if (todo) { + dbcache.splice(todo, 1); + } + let todos = JSON.stringify(dbcache, null, 2); + fs.writeFile("../database/tasks.json", todos, (err) => { + if (err) throw err; + }); + console.log("\nTarea eliminada"); + }); + }, 2000); + resolve(); + }); +} +async function leeJson() { + fs.readFile("../database/tasks.json", (err, rawdata) => { + if (!err) { + dbcache = JSON.parse(rawdata); + console.log("\n Listando tareas disponibles:"); + console.table(dbcache); + } else { + console.log("No existen tareas en la Base de Datos."); + let emptyFile = JSON.stringify([{}], null, 2); + fs.writeFile("../database/tasks.json", emptyFile, (err) => { + if (err) throw err; + }); + } + }); + + await lanzapreguntas(); +} +leeJson(); diff --git a/cmds/find.js b/cmds/find.js index 7ebffb2c1..1ed4ea7f3 100644 --- a/cmds/find.js +++ b/cmds/find.js @@ -1,40 +1,46 @@ -// Pasos estándar a hacer en todas las funciones -// Leer archivo.json, crear si no existe (quizás sólo en create.js) -// Copiar información del archivo en un arrayTemporal -// Inicia pregunta de los campos para crear la tarea, guardar en un objetoTemporal -// Cuando complete los campos, hacer push del objeto temporal al arrayTemporal. -// Escribir arrayTemporal en archivo.json -// Mensaje de Éxito y/o Error -// En todos los pasos siempre tener un mensaje de Error si algo falla, indicando el proceso que hace -// Pej: Si falla a leer el archivo, Error: File not found o si falla al escribir Error: File can not write. +const inquirer = require("inquirer"); // Para iniicar preguntas por consola +const fs = require("fs"); // Necesario para leer Json +const { findOne } = require("../src/questions"); +let dbcache = []; -const inquirer = require('inquirer'); // Para iniicar preguntas por consola -const fs = require('fs'); // Necesario para leer Json -const { find } = require('../src/questions') -let dbcache = [] +function lanzapreguntas() { + return new Promise((resolve, reject) => { + // Código que te permite crear la pregunta sobre el campo que quieres crear + setTimeout(() => { + console.log("Cargando preguntas....\n"); + inquirer.prompt(findOne).then((todos) => { + // Aquí va la función que guarda el Nombre en el Objeto (Json, Sql o Mongo) + var index = todos.taskindex; -// Inicia lectura de Json <-- -fs.readFile('./database/tasks.json', (err, rawdata) => { + dbcache[index] = todos; + + if (!todos) { + console.log("\nNo existe ninguna tarea con el índice indicado."); + } + }); + }, 2000); + resolve(); + }); +} + +async function leeJson() { + // Inicia lectura de Json <-- + fs.readFile("../database/tasks.json", (err, rawdata) => { if (!err) { - dbcache = JSON.parse(rawdata) - //console.log(dbcache) - } - else { - //console.log('No se ha podido leer el archivo') - let emptyFile = JSON.stringify([{}],null,2); - fs.writeFile('./database/tasks.json', emptyFile, err => { - if(err) throw err; // error checking + dbcache = JSON.parse(rawdata); + console.log("\n Listando tareas disponibles:"); + console.table(dbcache); + } else { + console.log("No existen tareas en la Base de Datos."); + let emptyFile = JSON.stringify([{}], null, 2); + fs.writeFile("../database/tasks.json", emptyFile, (err) => { + if (err) throw err; // error checking }); //console.error(err) } -}) - -// Fin de lectura del Json -// --> - -// Código que te permite crear la pregunta sobre el campo que quieres crear -inquirer - .prompt(find) - .then( answers => { // Aquí va la función que guarda el Nombre en el Objeto (Json, Sql o Mongo) - console.info('Nombre de la tarea:', answers); // En este momento no hay presistencia - }); \ No newline at end of file + }); + // Fin de lectura del Json + // --> + await lanzapreguntas(); +} +leeJson(); diff --git a/cmds/update.js b/cmds/update.js index cddb79879..d1a40a800 100644 --- a/cmds/update.js +++ b/cmds/update.js @@ -1,68 +1,49 @@ -// Pasos estándar a hacer en todas las funciones -// Leer archivo.json, crear si no existe (quizás sólo en create.js) -// Copiar información del archivo en un arrayTemporal -// Inicia pregunta de los campos para crear la tarea, guardar en un objetoTemporal -// Cuando complete los campos, hacer push del objeto temporal al arrayTemporal. -// Escribir arrayTemporal en archivo.json -// Mensaje de Éxito y/o Error -// En todos los pasos siempre tener un mensaje de Error si algo falla, indicando el proceso que hace -// Pej: Si falla a leer el archivo, Error: File not found o si falla al escribir Error: File can not write. +const inquirer = require("inquirer"); +const fs = require("fs"); +const { update } = require("../src/questions"); +let dbcache = []; -const inquirer = require('inquirer'); // Para iniicar preguntas por consola -const fs = require('fs'); // Necesario para leer Json -const {update} = require('../src/questions') // Importa preguntas para borrar -let dbcache = [] +function lanzapreguntas() { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log("Cargando preguntas....\n"); + inquirer.prompt(update).then((todos) => { + console.log("\nHas elegido modificar la tarea: " + todos.taskindex); + var index = todos.taskindex; - function lanzapreguntas(){ - return new Promise((resolve,reject)=>{ - // Código que te permite crear la pregunta sobre el campo que quieres crear - setTimeout(()=>{ - console.log("Cargando preguntas....\n"); - inquirer - .prompt(update) - .then( answers => { // Aquí va la función que guarda el Nombre en el Objeto (Json, Sql o Mongo) - console.log('\nHas elegido modificar la tarea: ' + answers.taskindex); - var index = answers.taskindex; - // var indexAcambiar = dbcache[answers.taskindex]; - // console.log(indexAcambiar); - dbcache[index] = answers - //console.log(dbcache); + dbcache[index] = todos; + console.log(todos); - let todos = JSON.stringify(dbcache, null, 2); - fs.writeFile('../database/tasks.json', todos, err => { - if(err) throw err; // error checking - }); - console.log('\nTarea Modificada, aquí tienes todas las tareas.'); - console.table(dbcache); - - }); - } , 2000 - ); - resolve() + let newTodos = JSON.stringify(dbcache, null, 2); + fs.writeFile("../database/tasks.json", newTodos, (err) => { + if (err) throw err; + }); + console.log("\nTarea Modificada, aquí tienes todas las tareas."); + console.table(dbcache); }); - }; - - async function leeJson(){ - // Inicia lectura de Json <-- - fs.readFile('../database/tasks.json', (err, rawdata) => { - if (!err) { - dbcache = JSON.parse(rawdata) - console.log('\n Listando tareas disponibles:') - console.table(dbcache) - } - else { - console.log('No existen tareas en la Base de Datos.') - let emptyFile = JSON.stringify([{}],null,2); - fs.writeFile('../database/tasks.json', emptyFile, err => { - if(err) throw err; // error checking - }); - //console.error(err) - } - }) - // Fin de lectura del Json - // --> - await lanzapreguntas(); - } - leeJson(); - + }, 2000); + resolve(); + }); +} +async function leeJson() { + // Inicia lectura de Json <-- + fs.readFile("../database/tasks.json", (err, rawdata) => { + if (!err) { + dbcache = JSON.parse(rawdata); + console.log("\n Listando tareas disponibles:"); + console.table(dbcache); + } else { + console.log("No existen tareas en la Base de Datos."); + let emptyFile = JSON.stringify([{}], null, 2); + fs.writeFile("../database/tasks.json", emptyFile, (err) => { + if (err) throw err; // error checking + }); + //console.error(err) + } + }); + // Fin de lectura del Json + // --> + await lanzapreguntas(); +} +leeJson(); diff --git a/database/tasks.json b/database/tasks.json index b4519701b..c8bea23b2 100644 --- a/database/tasks.json +++ b/database/tasks.json @@ -1,17 +1,25 @@ [ { - "name": "Comer", - "startDate": "20-01-2022", - "endDate": "20-01-2022", - "description": "Comer pasta con queso", - "user": "mauricio " + "name": "x", + "startDate": "x", + "endDate": "x", + "description": "x", + "user": "x" }, { - "taskindex": "1", - "name": "pere2", - "startDate": "dfs", - "endDate": "fasd", - "description": "fdas", - "user": "daf" + "name": "x", + "startDate": "x", + "endDate": "x", + "description": "x", + "user": "x" + }, + { + "dataBase": "json", + "taskindex": "2", + "name": "z", + "startDate": "z", + "endDate": "z", + "description": "z", + "user": "z" } ] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 39707d367..64ad6aef5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,575 +1,8 @@ { "name": "todo", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "todo", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "colors": "^1.4.0", - "commander": "^8.3.0", - "inquirer": "^8.2.0" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dependencies": { - "defaults": "^1.0.3" - } - } - }, "dependencies": { "ansi-escapes": { "version": "4.3.2", @@ -871,14 +304,6 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -889,6 +314,14 @@ "strip-ansi": "^6.0.1" } }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", diff --git a/src/questions.js b/src/questions.js index c74b399c9..a2635b1f6 100644 --- a/src/questions.js +++ b/src/questions.js @@ -1,97 +1,112 @@ const create = [ - { - type: 'input', - name: 'name', - message: 'Ingresa el nombre de la tarea:' - }, - { - type: 'input', - name: 'startDate', - message: 'Fecha de Inicio:' - }, - { - type: 'input', - name: 'endDate', - message: 'Fecha de Fin:' - }, - { - type: 'input', - name: 'description', - message: 'Descripción de la tarea:' - }, - { - type: 'input', - name: 'user', - message: 'Usuario Asignado:' - } - ]; + { + type: "input", + name: "name", + message: "Ingresa el nombre de la tarea:", + }, + { + type: "input", + name: "startDate", + message: "Fecha de Inicio:", + }, + { + type: "input", + name: "endDate", + message: "Fecha de Fin:", + }, + { + type: "input", + name: "description", + message: "Descripción de la tarea:", + }, + { + type: "input", + name: "user", + message: "Usuario Asignado:", + }, +]; const remove = [ { - type: 'list', - name: 'dataBase', - message: 'Donde quieres buscar?:', - choices:['json','sql','mongo'] + type: "list", + name: "dataBase", + message: "Donde quieres buscar?:", + choices: ["json", "sql", "mongo"], }, { - type: 'input', - name: 'taskIndex', - message: 'Ingresa el indice de la que tarea vas a eliminar?:' //Decidir como identificar la tarea a eliminar + type: "input", + name: "taskIndex", + message: "Ingresa el indice de la tarea que quieres eliminar?:", }, { - type: 'list', - name: 'confirmation', - message: 'Deseas borrar?', - choices:['Yes','No'] + type: "list", + name: "confirmation", + message: "Deseas borrar?", + choices: ["Yes", "No"], }, ]; -const findOne = [ // Pendiente de definir - { - type: 'list', - name: 'dataBase', - message: 'Donde quieres buscar?:', - choices:['json','sql','mongo'] - }, - { - type: 'list', - name: 'confirmation', - message: 'Quieres buscar todas?', - choices:['Yes','No'] - } +const findOne = [ + // Pendiente de definir + { + type: "list", + name: "dataBase", + message: "Donde quieres buscar?:", + choices: ["json", "sql", "mongo"], + }, + { + type: "input", + name: "taskIndex", + message: "Ingresa el indice de la tarea que quieres ver:", + }, ]; -const update = [ // Revisado Pere OK. - { - type: 'input', - name: 'taskindex', - message: 'Ingresa el indice de la tarea que quieres modificar?' - }, - { - type: 'input', - name: 'name', - message: 'Ingresa el NUEVO nombre de la tarea:' - }, - { - type: 'input', - name: 'startDate', - message: 'NUEVA Fecha de Inicio:' - }, - { - type: 'input', - name: 'endDate', - message: 'NUEVA Fecha de Fin:' - }, - { - type: 'input', - name: 'description', - message: 'NUEVA Descripción de la tarea:' - }, - { - type: 'input', - name: 'user', - message: 'NUEVO Usuario Asignado:' - } +const listAll = [ + { + type: "list", + name: "dataBase", + message: "Donde quieres buscar?:", + choices: ["json", "sql", "mongo"], + }, +]; + +const update = [ + { + type: "list", + name: "dataBase", + message: "Donde quieres buscar?:", + choices: ["json", "sql", "mongo"], + }, + { + type: "input", + name: "taskindex", + message: "Ingresa el indice de la tarea que quieres modificar?", + }, + { + type: "input", + name: "name", + message: "Ingresa el NUEVO nombre de la tarea:", + }, + { + type: "input", + name: "startDate", + message: "NUEVA Fecha de Inicio:", + }, + { + type: "input", + name: "endDate", + message: "NUEVA Fecha de Fin:", + }, + { + type: "input", + name: "description", + message: "NUEVA Descripción de la tarea:", + }, + { + type: "input", + name: "user", + message: "NUEVO Usuario Asignado:", + }, ]; -module.exports = {create, remove, findOne, update} \ No newline at end of file +module.exports = { create, remove, findOne, listAll, update }; From cfa5c54494290cab3b992215f4d4e9a3c514c492 Mon Sep 17 00:00:00 2001 From: Blanket25 Date: Sat, 22 Jan 2022 17:49:29 +0100 Subject: [PATCH 2/3] listAll fucntion added --- cmds/listAll.js | 76 +++++++++++-------------------------------------- 1 file changed, 16 insertions(+), 60 deletions(-) diff --git a/cmds/listAll.js b/cmds/listAll.js index a05833bb5..70cd3c6d7 100644 --- a/cmds/listAll.js +++ b/cmds/listAll.js @@ -1,64 +1,20 @@ -// Pasos estándar a hacer en todas las funciones -// Leer archivo.json, crear si no existe (quizás sólo en create.js) -// Copiar información del archivo en un arrayTemporal -// Inicia pregunta de los campos para crear la tarea, guardar en un objetoTemporal -// Cuando complete los campos, hacer push del objeto temporal al arrayTemporal. -// Escribir arrayTemporal en archivo.json -// Mensaje de Éxito y/o Error -// En todos los pasos siempre tener un mensaje de Error si algo falla, indicando el proceso que hace -// Pej: Si falla a leer el archivo, Error: File not found o si falla al escribir Error: File can not write. -const inquirer = require('inquirer'); // Para iniicar preguntas por consola -const fs = require('fs'); // Necesario para leer Json -let dbcache = [] +const inquirer = require("inquirer"); +const fs = require("fs"); +const { listAll } = require("../src/questions"); +let dbcache = []; -// Inicia lectura de Json <-- -fs.readFile('./database/tasks.json', (err, rawdata) => { +inquirer.prompt(listAll).then((todos) => { + fs.readFile("../database/tasks.json", (err, rawdata) => { if (!err) { - dbcache = JSON.parse(rawdata) - //console.log(dbcache) - } - else { - //console.log('No se ha podido leer el archivo') - let emptyFile = JSON.stringify([{}],null,2); - fs.writeFile('./database/tasks.json', emptyFile, err => { - if(err) throw err; // error checking + dbcache = JSON.parse(rawdata); + console.table(dbcache); + } else { + console.log("No existen tareas en la Base de Datos."); + let emptyFile = JSON.stringify([{}], null, 2); + fs.writeFile("../database/tasks.json", emptyFile, (err) => { + if (err) throw err; }); - //console.error(err) } -}) -// Fin de lectura del Json -// --> - - -// Código que te permite crear la pregunta sobre el campo que quieres crear -inquirer - .prompt([ - { - type: 'input', - name: 'taskName', - message: '' - }, - { - type: 'input', - name: 'taskStartDate', - message: 'Fecha de Inicio:' - }, - { - type: 'input', - name: 'taskEndDate', - message: 'Fecha de Fin:' - }, - { - type: 'input', - name: 'taskDescription', - message: 'Descripción de la tarea:' - }, - { - type: 'input', - name: 'taskUser', - message: 'Usuario Asignado:' - } - ]) - .then( answers => { // Aquí va la función que guarda el Nombre en el Objeto (Json, Sql o Mongo) - console.info('Nombre de la tarea:', answers); // En este momento no hay presistencia - }); \ No newline at end of file + }); + console.log(todos); +}); From 2e9c786b20d39edcc623259402202d880f18c62e Mon Sep 17 00:00:00 2001 From: Blanket25 Date: Sun, 23 Jan 2022 14:25:56 +0100 Subject: [PATCH 3/3] primera aproximacion con mongoose --- archivosDePrueba/Oldindex.js | 17 --- archivosDePrueba/commanderTest.js | 53 ---------- archivosDePrueba/createTest.js | 59 ----------- archivosDePrueba/inquirerTest.js | 13 --- archivosDePrueba/leerjson.js | 9 -- archivosDePrueba/tasksTest.json | 30 ------ bin/todo.js | 17 +-- cmds/find.js | 46 -------- cmds/findOne.js | 20 ++++ database/dtasks.json | 72 ------------- database/tasks.json | 21 ++-- index.js | 67 +++++++----- mongodb/models/tasks.js | 13 +++ mongodb/server.js | 44 ++++++++ package-lock.json | 168 ++++++++++++++++++++++++++++++ package.json | 3 +- src/questions.js | 49 +++++---- 17 files changed, 333 insertions(+), 368 deletions(-) delete mode 100644 archivosDePrueba/Oldindex.js delete mode 100644 archivosDePrueba/commanderTest.js delete mode 100644 archivosDePrueba/createTest.js delete mode 100644 archivosDePrueba/inquirerTest.js delete mode 100644 archivosDePrueba/leerjson.js delete mode 100644 archivosDePrueba/tasksTest.json delete mode 100644 cmds/find.js create mode 100644 cmds/findOne.js delete mode 100644 database/dtasks.json create mode 100644 mongodb/models/tasks.js create mode 100644 mongodb/server.js diff --git a/archivosDePrueba/Oldindex.js b/archivosDePrueba/Oldindex.js deleted file mode 100644 index 41d8ee7cf..000000000 --- a/archivosDePrueba/Oldindex.js +++ /dev/null @@ -1,17 +0,0 @@ -const fs = require('fs'); -const readline = require('readline'); -const welcomeMsg = fs.createReadStream('./messagesApp/welcome.txt'); - -// Función procesa textos desde un archivo y los muestra por consola -async function showText(textToShow) { - const rl = readline.createInterface({ - input: textToShow, - crlfDelay: Infinity - }); - - for await (const line of rl) { - console.log(`${line}`); - } -} -// Mensaje de bienvenida -showText(welcomeMsg); \ No newline at end of file diff --git a/archivosDePrueba/commanderTest.js b/archivosDePrueba/commanderTest.js deleted file mode 100644 index d44b364bc..000000000 --- a/archivosDePrueba/commanderTest.js +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env node - -// This is used as an example in the README for: -// Custom option processing -// You may specify a function to do custom processing of option values. - -// const commander = require('commander'); // (normal include) -const commander = require('commander'); // include commander in git clone of commander repo -const program = new commander.Command(); - -// Commander supports nested subcommands. -// .command() can add a subcommand with an action handler or an executable. -// .addCommand() adds a prepared command with an action handler. - -// Example output: -// -// $ node nestedCommands.js brew tea -// brew tea -// $ node nestedCommands.js heat jug -// heat jug - -// Add nested commands using `.command()`. -const brew = program.command('brew'); -brew - .command('tea') - .action(() => { - console.log('brew tea'); - }); -brew - .command('coffee') - .action(() => { - console.log('brew coffee'); - }); - -// Add nested commands using `.addCommand(). -// The command could be created separately in another module. -function makeHeatCommand() { - const heat = new commander.Command('heat'); - heat - .command('jug') - .action(() => { - console.log('heat jug'); - }); - heat - .command('pot') - .action(() => { - console.log('heat pot'); - }); - return heat; -} -program.addCommand(makeHeatCommand()); - -program.parse(process.argv); \ No newline at end of file diff --git a/archivosDePrueba/createTest.js b/archivosDePrueba/createTest.js deleted file mode 100644 index 08ec73dcd..000000000 --- a/archivosDePrueba/createTest.js +++ /dev/null @@ -1,59 +0,0 @@ -// Pasos estándar a hacer en todas las funciones -// Leer archivo.json, crear si no existe -// Copiar información del archivo en un arrayTemporal -// Inicia pregunta de los campos para crear la tarea, guardar en un objetoTemporal -// Cuando complete los campos, hacer push del objeto temporal al arrayTemporal. -// Escribir arrayTemporal en archivo.json -// Mensaje de Éxito y/o Error -// EN Todos los pasos siempre tener un mensaje de Error si algo falla, indicando el proceso que hace -// Pej: Si falla a leer el archivo, Error: File not found o si falla al escribir Error: File can not write. - -const inquirer = require('inquirer'); -const fs = require('fs'); - -//var newArray = database.tasks; -//console.log(newArray); - -// Código que te permite crear la pregunta sobre el campo que quieres crear -inquirer - .prompt([ - { - name: 'taskName', - message: 'Cuál es tu tarea:' - }, - { - name: 'taskStartDate', - message: 'Fecha de Inicio:' - }, - { - name: 'taskEndDate', - message: 'Fecha de Fin:' - }, - { - name: 'taskDescription', - message: 'Descripción de la tarea:' - }, - { - name: 'taskUser', - message: 'Usuario Asignado:' - } - ]) - .then( answers => { - - var data = fs.readFileSync('./tasksTest.json'); - var myObject = JSON.parse(data); - - myObject.push(answers); - - var answers = JSON.stringify(myObject, null, 2); - fs.writeFile('./tasksTest.json', answers, err => { - // error checking - if(err) throw err; - - console.log("New data added"); - }); - - }); - - - diff --git a/archivosDePrueba/inquirerTest.js b/archivosDePrueba/inquirerTest.js deleted file mode 100644 index 838613519..000000000 --- a/archivosDePrueba/inquirerTest.js +++ /dev/null @@ -1,13 +0,0 @@ -const inquirer = require('inquirer'); - -inquirer - .prompt([ - { - type: 'editor', - name: 'story', - message: 'Tell me a story, a really long one!', - }, - ]) - .then(answers => { - console.info('Answer:', answers.story); - }); \ No newline at end of file diff --git a/archivosDePrueba/leerjson.js b/archivosDePrueba/leerjson.js deleted file mode 100644 index 4a35e0bb1..000000000 --- a/archivosDePrueba/leerjson.js +++ /dev/null @@ -1,9 +0,0 @@ -const fs = require('fs'); - -//mauricio -> -let rawtodo = fs.readFileSync('../database/tasks.json'); -const db = JSON.parse(rawtodo); -console.table(db.tasks) - -let dbcache = db.tasks -//console.log(typeof(dbcache)); diff --git a/archivosDePrueba/tasksTest.json b/archivosDePrueba/tasksTest.json deleted file mode 100644 index 0bca7c623..000000000 --- a/archivosDePrueba/tasksTest.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "name": "comprar pan", - "startDate": "01-01-2022", - "endDate": "02-02-2022", - "description": "comprar pan bimbo", - "user": "pere" - }, - { - "name": "beber agua", - "startDate": "01-01-2022", - "endDate": "02-02-2022", - "description": "beber agua clara", - "user": "pere2" - }, - { - "taskName": "fdsafa", - "taskStartDate": "fsa", - "taskEndDate": "gadsfd", - "taskDescription": "safd", - "taskUser": "sdfa" - }, - { - "taskName": "dfadsgq", - "taskStartDate": "34", - "taskEndDate": "524", - "taskDescription": "63456", - "taskUser": "153" - } -] \ No newline at end of file diff --git a/bin/todo.js b/bin/todo.js index 7c5694924..a68dd7d16 100644 --- a/bin/todo.js +++ b/bin/todo.js @@ -1,13 +1,14 @@ #!/usr/bin/env node -const program = require('commander'); -const message = require('../src/bienvenida') +const program = require("commander"); +const message = require("../src/bienvenida"); program .description(message) - .version('1.0.0','-v, --version','Para consultar la versión del programa') - .command('add','Crear una nueva tarea') - .command('remove','Eliminar una tarea') - .command('update','Modificar una tarea') - .command('find','Buscar una tarea') + .version("1.0.0", "-v, --version", "Para consultar la versión del programa") + .command("list", "Mostrar tareas") + .command("add", "Crear una nueva tarea") + .command("remove", "Eliminar una tarea") + .command("update", "Modificar una tarea") + .command("find", "Buscar una tarea"); -program.parse(process.argv); \ No newline at end of file +program.parse(process.argv); diff --git a/cmds/find.js b/cmds/find.js deleted file mode 100644 index 1ed4ea7f3..000000000 --- a/cmds/find.js +++ /dev/null @@ -1,46 +0,0 @@ -const inquirer = require("inquirer"); // Para iniicar preguntas por consola -const fs = require("fs"); // Necesario para leer Json -const { findOne } = require("../src/questions"); -let dbcache = []; - -function lanzapreguntas() { - return new Promise((resolve, reject) => { - // Código que te permite crear la pregunta sobre el campo que quieres crear - setTimeout(() => { - console.log("Cargando preguntas....\n"); - inquirer.prompt(findOne).then((todos) => { - // Aquí va la función que guarda el Nombre en el Objeto (Json, Sql o Mongo) - var index = todos.taskindex; - - dbcache[index] = todos; - - if (!todos) { - console.log("\nNo existe ninguna tarea con el índice indicado."); - } - }); - }, 2000); - resolve(); - }); -} - -async function leeJson() { - // Inicia lectura de Json <-- - fs.readFile("../database/tasks.json", (err, rawdata) => { - if (!err) { - dbcache = JSON.parse(rawdata); - console.log("\n Listando tareas disponibles:"); - console.table(dbcache); - } else { - console.log("No existen tareas en la Base de Datos."); - let emptyFile = JSON.stringify([{}], null, 2); - fs.writeFile("../database/tasks.json", emptyFile, (err) => { - if (err) throw err; // error checking - }); - //console.error(err) - } - }); - // Fin de lectura del Json - // --> - await lanzapreguntas(); -} -leeJson(); diff --git a/cmds/findOne.js b/cmds/findOne.js new file mode 100644 index 000000000..70cd3c6d7 --- /dev/null +++ b/cmds/findOne.js @@ -0,0 +1,20 @@ +const inquirer = require("inquirer"); +const fs = require("fs"); +const { listAll } = require("../src/questions"); +let dbcache = []; + +inquirer.prompt(listAll).then((todos) => { + fs.readFile("../database/tasks.json", (err, rawdata) => { + if (!err) { + dbcache = JSON.parse(rawdata); + console.table(dbcache); + } else { + console.log("No existen tareas en la Base de Datos."); + let emptyFile = JSON.stringify([{}], null, 2); + fs.writeFile("../database/tasks.json", emptyFile, (err) => { + if (err) throw err; + }); + } + }); + console.log(todos); +}); diff --git a/database/dtasks.json b/database/dtasks.json deleted file mode 100644 index 2c2f12a24..000000000 --- a/database/dtasks.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "name": "comprar pan", - "startDate": "01-01-2022", - "endDate": "02-02-2022", - "description": "comprar pan bimbo", - "user": "pere" - }, - { - "name": "beber agua", - "startDate": "01-01-2022", - "endDate": "02-02-2022", - "description": "beber agua clara", - "user": "pere2" - }, - { - "name": "Comer", - "startDate": "12-01-2022", - "endDate": "12-01-2022", - "description": "Hacer pasta con tomate y queso", - "user": "Mauricio " - }, - { - "name": "d", - "startDate": "d", - "endDate": "d", - "description": "d", - "user": "d" - }, - { - "name": "d", - "startDate": "d", - "endDate": "d", - "description": "d", - "user": "d" - }, - { - "name": "Comer castañas", - "startDate": "31/10/2021", - "endDate": "31/12/2022", - "description": "Hacer castañas al horno", - "user": "Mauricio" - }, - { - "name": "D", - "startDate": "D", - "endDate": "D", - "description": "D", - "user": "D" - }, - { - "name": "D", - "startDate": "D", - "endDate": "D", - "description": "D", - "user": "D" - }, - { - "name": "Comer pasta ", - "startDate": "20-01-2022", - "endDate": "20-01-2023", - "description": "Hacer pasta con tomate y queso", - "user": "Mauricio " - }, - { - "name": "Hacer la cama", - "startDate": "12-12-12", - "endDate": "12-12-21", - "description": "Construir mi cama a mano ", - "user": "Mauricio" - } -] \ No newline at end of file diff --git a/database/tasks.json b/database/tasks.json index c8bea23b2..7940abc18 100644 --- a/database/tasks.json +++ b/database/tasks.json @@ -1,11 +1,4 @@ [ - { - "name": "x", - "startDate": "x", - "endDate": "x", - "description": "x", - "user": "x" - }, { "name": "x", "startDate": "x", @@ -21,5 +14,19 @@ "endDate": "z", "description": "z", "user": "z" + }, + { + "name": "x", + "startDate": "x", + "endDate": "x", + "description": "x", + "user": "x" + }, + { + "name": "m", + "startDate": "m", + "endDate": "m", + "description": "m", + "user": "m" } ] \ No newline at end of file diff --git a/index.js b/index.js index d0454a41f..337815b43 100644 --- a/index.js +++ b/index.js @@ -1,43 +1,54 @@ -const program = require('commander'); -const {prompt} = require('inquirer'); -const message = require('./src/bienvenida') -const colors = require('colors') +const program = require("commander"); +const { prompt } = require("inquirer"); +const message = require("./src/bienvenida"); +const colors = require("colors"); -const {create, remove, findOne, update} = require('./src/questions') +const { addTask, findTask, getTasks } = require("./mongodb/server"); +const { create, remove, findOne, update, listAll } = require("./src/questions"); +program.version("1.0.0").description("Todo Program"); program - .version('1.0.0') - .description(message.yellow) + .command("list") + .alias("l") + .description("Mostrar tareas") + .action(() => { + prompt(listAll).then((answers) => getTasks(answers)); + }); + program - .command('add') - .alias('a') - .description('Create a task') + .command("add") + .alias("a") + .description("Create a task") .action(() => { - prompt(create).then(answers => console.info(answers)) - }) + prompt(create).then((answers) => addTask(answers)); + }); program - .command('remove') - .alias('r') - .description('Remove a task') + .command("remove") + .alias("r") + .description("Remove a task") .action(() => { - prompt(remove).then(answers => console.info(answers)) - }) + prompt(remove).then((answers) => console.info(answers)); + }); program - .command('update') - .alias('u') - .description('Update a task') + .command("update") + .alias("u") + .description("Update a task") .action(() => { - prompt(update).then(answers => console.info(answers)) - }) + prompt(update).then((answers) => console.info(answers)); + }); program - .command('find') - .alias('f') - .description('Find one or more tasks') + .command("find") + .alias("f") + .description("Find a task") .action(() => { - prompt(findOne).then(answers => console.info(answers)) - }) + prompt({ + type: "input", + name: "_id", + message: "Ingresa el indice de la tarea que quieres ver:", + }).then((answers) => findTask(answers)); + }); -program.parse(process.argv); \ No newline at end of file +program.parse(process.argv); diff --git a/mongodb/models/tasks.js b/mongodb/models/tasks.js new file mode 100644 index 000000000..558124d00 --- /dev/null +++ b/mongodb/models/tasks.js @@ -0,0 +1,13 @@ +const mongoose = require("mongoose"); + +//task Schema +const taskSchema = mongoose.Schema({ + taskName: { type: String }, + startDate: { type: Date }, + endDate: { type: Date }, + description: { type: String }, + user: { type: String }, +}); + +//Define and export +module.exports = mongoose.model("Task", taskSchema); diff --git a/mongodb/server.js b/mongodb/server.js new file mode 100644 index 000000000..bb99ebb39 --- /dev/null +++ b/mongodb/server.js @@ -0,0 +1,44 @@ +const mongoose = require("mongoose"); + +//Connect to database +const user = "test"; +const password = "test1234"; +const dbName = "todoList"; +const uri = `mongodb+srv://${user}:${password}@cluster0.7hafx.mongodb.net/${dbName}?retryWrites=true&w=majority`; + +mongoose + .connect(uri, { + useNewUrlParser: true, + useUnifiedTopology: true, + }) + .then(() => console.log("Base de datos conectada")) + .catch((err) => console.log(err)); + +const Task = require("./models/tasks.js"); + +//Add Task +const addTask = async (task) => { + try { + await Task.create(task); + console.info("Nueva tarea añadida"); + mongoose.disconnect(); + } catch (err) { + console.log(`Something went wrong: ${err}`); + } +}; + +//Find Task +const findTask = async (id) => { + try { + const findTask = await Task.findById(id).exec(); + console.info(findTask); + mongoose.disconnect(); + } catch (err) { + console.log(`Something went wrong: ${err}`); + } +}; + +module.exports = { + addTask, + findTask, +}; diff --git a/package-lock.json b/package-lock.json index 64ad6aef5..77ed1af50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,25 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/node": { + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.5.tgz", + "integrity": "sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==" + }, + "@types/webidl-conversions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" + }, + "@types/whatwg-url": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", + "requires": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -40,6 +59,14 @@ "readable-stream": "^3.4.0" } }, + "bson": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz", + "integrity": "sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==", + "requires": { + "buffer": "^5.6.0" + } + }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -109,6 +136,14 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -117,6 +152,11 @@ "clone": "^1.0.2" } }, + "denque": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==" + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -204,6 +244,11 @@ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" }, + "kareem": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.3.tgz", + "integrity": "sha512-uESCXM2KdtOQ8LOvKyTUXEeg0MkYp4wGglTIpGcYHvjJcS5sn2Wkfrfit8m4xSbaNDAw2KdI9elgkOxZbrFYbg==" + }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -218,11 +263,74 @@ "is-unicode-supported": "^0.1.0" } }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, + "mongodb": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.2.2.tgz", + "integrity": "sha512-zt8rCTnTKyMQppyt63qMnrLM5dbADgUk18ORPF1XbtHLIYCyc9hattaYHi0pqMvNxDpgGgUofSVzS+UQErgTug==", + "requires": { + "bson": "^4.6.0", + "denque": "^2.0.1", + "mongodb-connection-string-url": "^2.3.2", + "saslprep": "^1.0.3" + } + }, + "mongodb-connection-string-url": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.4.1.tgz", + "integrity": "sha512-d5Kd2bVsKcSA7YI/yo57fSTtMwRQdFkvc5IZwod1RRxJtECeWPPSo7zqcUGJELifRA//Igs4spVtYAmvFCatug==", + "requires": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "mongoose": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.1.7.tgz", + "integrity": "sha512-GqU/G/5yu/CWBHdW24cfGPsW4rADER+eeXj+bwvb6mLjg6uAASl8GnE6pmEbafZJ4Uv9V7jf5LaBMJMNwvQEtg==", + "requires": { + "@types/node": "< 17.0.6", + "bson": "^4.2.2", + "kareem": "2.3.3", + "mongodb": "4.2.2", + "mpath": "0.8.4", + "mquery": "4.0.0", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "sift": "13.5.2", + "sliced": "1.0.1" + } + }, + "mpath": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz", + "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==" + }, + "mquery": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.0.tgz", + "integrity": "sha512-nGjm89lHja+T/b8cybAby6H0YgA4qYC/lx6UlwvHGqvTq8bDaNeCwl1sY8uRELrNbVWJzIihxVd+vphGGn1vBw==", + "requires": { + "debug": "4.x", + "regexp-clone": "^1.0.0", + "sliced": "1.0.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -257,6 +365,11 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -267,6 +380,11 @@ "util-deprecate": "^1.0.1" } }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -299,11 +417,39 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, + "sift": { + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, "signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, + "sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -351,6 +497,14 @@ "os-tmpdir": "~1.0.2" } }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "requires": { + "punycode": "^2.1.1" + } + }, "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", @@ -373,6 +527,20 @@ "requires": { "defaults": "^1.0.3" } + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + }, + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } } } } diff --git a/package.json b/package.json index eae7a986a..faf41ad0d 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dependencies": { "colors": "^1.4.0", "commander": "^8.3.0", - "inquirer": "^8.2.0" + "inquirer": "^8.2.0", + "mongoose": "^6.1.7" } } diff --git a/src/questions.js b/src/questions.js index a2635b1f6..bdd3115cb 100644 --- a/src/questions.js +++ b/src/questions.js @@ -27,12 +27,12 @@ const create = [ ]; const remove = [ - { - type: "list", - name: "dataBase", - message: "Donde quieres buscar?:", - choices: ["json", "sql", "mongo"], - }, + // { + // type: "list", + // name: "dataBase", + // message: "Donde quieres buscar?:", + // choices: ["json", "sql", "mongo"], + // }, { type: "input", name: "taskIndex", @@ -47,13 +47,12 @@ const remove = [ ]; const findOne = [ - // Pendiente de definir - { - type: "list", - name: "dataBase", - message: "Donde quieres buscar?:", - choices: ["json", "sql", "mongo"], - }, + // { + // type: "list", + // name: "dataBase", + // message: "Donde quieres buscar?:", + // choices: ["json", "sql", "mongo"], + // }, { type: "input", name: "taskIndex", @@ -62,21 +61,21 @@ const findOne = [ ]; const listAll = [ - { - type: "list", - name: "dataBase", - message: "Donde quieres buscar?:", - choices: ["json", "sql", "mongo"], - }, + // { + // type: "list", + // name: "dataBase", + // message: "Donde quieres buscar?:", + // choices: ["json", "sql", "mongo"], + // }, ]; const update = [ - { - type: "list", - name: "dataBase", - message: "Donde quieres buscar?:", - choices: ["json", "sql", "mongo"], - }, + // { + // type: "list", + // name: "dataBase", + // message: "Donde quieres buscar?:", + // choices: ["json", "sql", "mongo"], + // }, { type: "input", name: "taskindex",