Merge pull request #5 from status-im/feat/view-project

feat: view project
This commit is contained in:
Iuri Matias 2019-05-23 08:16:45 -04:00 committed by GitHub
commit 59153e56af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 3 deletions

View File

@ -76,11 +76,11 @@ class Actions {
}); });
for(let i = 1; i <= numProjects; i++){ for(let i = 1; i <= numProjects; i++){
const pledge = await this.contracts.LiquidPledging.methods.getPledgeAdmin(i).call(); const pledgeAdmin = await this.contracts.LiquidPledging.methods.getPledgeAdmin(i).call();
if(pledge.adminType !== '2') continue; if(pledgeAdmin.adminType !== '2') continue;
table.push( 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) { addGiver(params) {
let text = `await LiquidPledging.methods.addGiver(\"${params.name}\", \"${params.url}\", ${params.commitTime}, \"${params.plugin}\").send({from: \"${web3.eth.defaultAccount}\", gas: 2000000})` let text = `await LiquidPledging.methods.addGiver(\"${params.name}\", \"${params.url}\", ${params.commitTime}, \"${params.plugin}\").send({from: \"${web3.eth.defaultAccount}\", gas: 2000000})`
doAction(text, async () => { doAction(text, async () => {

View File

@ -15,6 +15,8 @@ async function app(actions) {
let params = (await menus.createProject(actions.web3().eth.defaultAccount)) let params = (await menus.createProject(actions.web3().eth.defaultAccount))
actions.addProject(params); actions.addProject(params);
} if (subAction === 'View Project') { } if (subAction === 'View Project') {
let params = (await menus.viewProject())
actions.viewProject(params);
} if (subAction === 'Donate to Project') { } if (subAction === 'Donate to Project') {
let params = (await menus.donate()) let params = (await menus.donate())
actions.donate(params); actions.donate(params);

View File

@ -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() { createFunder: async function() {
return inquirer.prompt([ return inquirer.prompt([