diff --git a/src/actions.js b/src/actions.js index 111eeb6..e688e52 100644 --- a/src/actions.js +++ b/src/actions.js @@ -76,11 +76,11 @@ class Actions { }); for(let i = 1; i <= numProjects; i++){ - const pledge = await this.contracts.LiquidPledging.methods.getPledgeAdmin(i).call(); - if(pledge.adminType !== '2') continue; + const pledgeAdmin = await this.contracts.LiquidPledging.methods.getPledgeAdmin(i).call(); + if(pledgeAdmin.adminType !== '2') continue; table.push( - [i, pledge.name, pledge.url, pledge.parentProject, pledge.canceled ? 'Canceled' : 'Active', pledge.commitTime, pledge.addr, pledge.plugin] + [i, pledgeAdmin.name, pledgeAdmin.url, pledgeAdmin.parentProject, pledgeAdmin.canceled ? 'Canceled' : 'Active', pledgeAdmin.commitTime, pledgeAdmin.addr, pledgeAdmin.plugin] ); } @@ -90,6 +90,24 @@ class Actions { } } + viewProject(params) { + let text = `await LiquidPledging.methods.getPledgeAdmin(\"${params.id}\").call()` + doAction(text, async () => { + try { + const pledgeAdmin = await this.contracts.LiquidPledging.methods.getPledgeAdmin(params.id).call(); + const table = new Table({ + head: ['Id', 'Name', 'URL', 'ParentProject', 'Status', 'Commit Time', 'Owner', 'Plugin'] + }); + table.push( + [params.id, pledgeAdmin.name, pledgeAdmin.url, pledgeAdmin.parentProject, pledgeAdmin.canceled ? 'Canceled' : 'Active', pledgeAdmin.commitTime, pledgeAdmin.addr, pledgeAdmin.plugin] + ); + console.log(table.toString()); + } catch(error){ + console.log("Couldn't obtain the project: ", error.message); + } + }); + } + addGiver(params) { let text = `await LiquidPledging.methods.addGiver(\"${params.name}\", \"${params.url}\", ${params.commitTime}, \"${params.plugin}\").send({from: \"${web3.eth.defaultAccount}\", gas: 2000000})` doAction(text, async () => { diff --git a/src/cmd.js b/src/cmd.js index 6175043..40d069b 100644 --- a/src/cmd.js +++ b/src/cmd.js @@ -15,6 +15,8 @@ async function app(actions) { let params = (await menus.createProject(actions.web3().eth.defaultAccount)) actions.addProject(params); } if (subAction === 'View Project') { + let params = (await menus.viewProject()) + actions.viewProject(params); } if (subAction === 'Donate to Project') { let params = (await menus.donate()) actions.donate(params); diff --git a/src/menus.js b/src/menus.js index 58f0dcb..9c414de 100644 --- a/src/menus.js +++ b/src/menus.js @@ -150,6 +150,17 @@ const menus = { } ]) }, + viewProject: async function() { + return inquirer.prompt([ + { + type: 'input', + name: 'id', + message: 'What is the project ID?', + filter: Number, + default: 0 + } + ]) + }, createFunder: async function() { return inquirer.prompt([