Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions archivosDePrueba/Oldindex.js

This file was deleted.

53 changes: 0 additions & 53 deletions archivosDePrueba/commanderTest.js

This file was deleted.

59 changes: 0 additions & 59 deletions archivosDePrueba/createTest.js

This file was deleted.

13 changes: 0 additions & 13 deletions archivosDePrueba/inquirerTest.js

This file was deleted.

9 changes: 0 additions & 9 deletions archivosDePrueba/leerjson.js

This file was deleted.

30 changes: 0 additions & 30 deletions archivosDePrueba/tasksTest.json

This file was deleted.

17 changes: 9 additions & 8 deletions bin/todo.js
Original file line number Diff line number Diff line change
@@ -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);
program.parse(process.argv);
62 changes: 24 additions & 38 deletions cmds/create.js
Original file line number Diff line number Diff line change
@@ -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);
});
fs.writeFile("../database/tasks.json", todos, (err) => {
if (err) throw err;
});

console.log("Tarea Creada");
console.table(dbcache);
});
78 changes: 42 additions & 36 deletions cmds/delete.js
Original file line number Diff line number Diff line change
@@ -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();
Loading