UNPKG

@tosin2013/kanbn

Version:

A CLI Kanban board with AI-powered task management features

74 lines (65 loc) 1.51 kB
const Kanbn = require('../main'); const utility = require('../utility'); /** * Archive a task * @param {string} taskId */ function archiveTask(taskId) { const kanbn = Kanbn(); kanbn .archiveTask(taskId) .then(taskId => { console.log(`Archived task "${taskId}"`); }) .catch(error => { utility.error(error); }); } /** * Show a list of archived task filenames */ function listArchivedTasks() { const kanbn = Kanbn(); kanbn .listArchivedTasks() .then(archivedTasks => { console.log(archivedTasks.join('\n')); }) .catch(error => { utility.error(error); }); } module.exports = async args => { // Create a Kanbn instance const kanbn = Kanbn(); // Make sure kanbn has been initialised try { if (!await kanbn.initialised()) { utility.error('Kanbn has not been initialised in this folder\nTry running: {b}kanbn init{b}'); return; } } catch (error) { utility.error('Kanbn has not been initialised in this folder\nTry running: {b}kanbn init{b}'); return; } // Check if we're listing archived tasks if (args.list) { listArchivedTasks(); return; } // Get the task that we're archiving const taskId = args._[1]; if (!taskId) { utility.error('No task id specified\nTry running {b}kanbn archive "task id"{b}'); return; } // Make sure the task exists try { await kanbn.taskExists(taskId); } catch (error) { utility.error(error); return; } // Archive task archiveTask(taskId); };