diff --git a/clase6/app.js b/clase6/app.js index 08bb3b8..ff61e42 100644 --- a/clase6/app.js +++ b/clase6/app.js @@ -4,13 +4,24 @@ const accion = process.argv[2]; switch (accion) { case 'listar': - const tareas = funcTareas.listar(); + const tareas = funcTareas.leerArchivo(); console.log('Listado de tareas'); console.log('-----------------'); - for (let index = 0; index < tareas.length; index++) { - // console.log((index + 1) + '. ' + tareas[index].titulo + ' - ' + tareas[index].estado); - console.log(`${index + 1}. ${tareas[index].titulo} - ${tareas[index].estado}`); - } + tareas.forEach((tarea, index) => { + console.log(`${index + 1}. ${tarea.titulo} - ${tarea.estado}`); + }); + break; + case 'crear': + console.log(); + console.log('Nueva tarea creada'); + console.log('------------------'); + const titulo = process.argv[3]; + const tarea = { + titulo, + estado: "pendiente" + }; + funcTareas.guardarTarea(tarea); + console.log(`${tarea.titulo} -> ${tarea.estado}`); break; case undefined: console.log('Atención - Tienes que pasar una acción.'); diff --git a/clase6/funcionesArchivos.js b/clase6/funcionesArchivos.js index 6b5bdae..a46f719 100644 --- a/clase6/funcionesArchivos.js +++ b/clase6/funcionesArchivos.js @@ -2,8 +2,18 @@ const fs = require('fs'); module.exports = { - listar: () => { - const fileTareas = fs.readFileSync('tareas.json', 'utf-8'); + file: 'tareas.json', + leerArchivo: function() { + const fileTareas = fs.readFileSync(this.file, 'utf-8'); return JSON.parse(fileTareas); + }, + escribirJSON: function(tareas) { + const tarea = JSON.stringify(tareas, null, ' '); + fs.writeFileSync(this.file, tarea); + }, + guardarTarea: function(nuevaTarea) { + let tareas = this.leerArchivo(); + tareas.push(nuevaTarea); + this.escribirJSON(tareas); } -} \ No newline at end of file +}; \ No newline at end of file diff --git a/clase6/tareas.json b/clase6/tareas.json index 6e24977..a353b7a 100644 --- a/clase6/tareas.json +++ b/clase6/tareas.json @@ -10,5 +10,17 @@ { "titulo": "Break", "estado": "pendiente" + }, + { + "titulo": "Titulo de la tarea", + "estado": "pendiente" + }, + { + "titulo": "Titulo de la tarea 2", + "estado": "pendiente" + }, + { + "titulo": "Titulo de la tarea 3", + "estado": "pendiente" } ] \ No newline at end of file