Skip to content

Commit a038cae

Browse files
committed
ran prettier on the root dir
1 parent 1aee8c1 commit a038cae

18 files changed

Lines changed: 10409 additions & 10288 deletions

File tree

cli.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,16 @@
22
global.vorpal = require('vorpal')();
33
vorpal.isCommandArgKeyPairNormalized = false;
44
const shell = require('shelljs');
5-
global.db = require('./lib/db')
5+
global.db = require('./lib/db');
66
if (!shell.which('git')) {
77
shell.echo('Sorry, this script requires git');
88
shell.exit(1);
99
}
1010

11-
vorpal
12-
.delimiter('paystack $')
13-
.show();
14-
15-
16-
require('./commands/webhook')();
17-
require('./commands/api')();
18-
require('./commands/auth')();
19-
require('./commands/samples')();
20-
// module.exports = {vorpal, db, shell};
11+
vorpal.delimiter('paystack $').show();
2112

13+
require('./commands/webhook')();
14+
require('./commands/api')();
15+
require('./commands/auth')();
16+
require('./commands/samples')();
17+
// module.exports = {vorpal, db, shell};

commands/api.js

Lines changed: 49 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,51 @@
1-
const APIs = require('../lib/paystack/apis')
2-
const helpers = require('../lib/helpers')
3-
4-
let commands = Object.keys(APIs)
5-
const init = () => {
6-
commands.forEach((command) => {
7-
let section = APIs[command];
8-
let vorp = vorpal.command(command + ' <command>', helpers.getDescription(section, command))
9-
.validate(function (args) {
10-
let selected_integration = db.read('selected_integration.id');
11-
let user = db.read('user.id')
12-
if (!selected_integration || !user) {
13-
helpers.errorLog("You're not signed in, please run the `login` command before you begin");
14-
return false;
15-
}
16-
})
17-
.action(async function (args, callback) {
18-
let schema = JSON.parse(JSON.stringify(helpers.findSchema(command, args)))
19-
let [err, result] = await helpers.promiseWrapper(helpers.executeSchema(schema, args))
20-
if (err) {
21-
22-
if (err.response) {
23-
helpers.errorLog(err.response.data.message)
24-
return;
25-
}
26-
helpers.errorLog(err)
27-
return;
28-
}
29-
helpers.successLog(result.message)
30-
helpers.jsonLog(result.data)
31-
})
32-
vorp.option('--domain <value>', ' ');
33-
let added_options = ['domain'];
34-
section.forEach((f) => {
35-
f.params.forEach((o) => {
36-
if (added_options.indexOf(o.parameter) < 0) {
37-
vorp.option('--' + o.parameter + ' <value> ', ' ')
38-
added_options.push(o.parameter)
39-
}
1+
const APIs = require('../lib/paystack/apis');
2+
const helpers = require('../lib/helpers');
403

41-
})
42-
})
43-
})
44-
}
4+
let commands = Object.keys(APIs);
5+
const init = () => {
6+
commands.forEach((command) => {
7+
let section = APIs[command];
8+
let vorp = vorpal
9+
.command(command + ' <command>', helpers.getDescription(section, command))
10+
.validate(function (args) {
11+
let selected_integration = db.read('selected_integration.id');
12+
let user = db.read('user.id');
13+
if (!selected_integration || !user) {
14+
helpers.errorLog(
15+
"You're not signed in, please run the `login` command before you begin"
16+
);
17+
return false;
18+
}
19+
})
20+
.action(async function (args, callback) {
21+
let schema = JSON.parse(
22+
JSON.stringify(helpers.findSchema(command, args))
23+
);
24+
let [err, result] = await helpers.promiseWrapper(
25+
helpers.executeSchema(schema, args)
26+
);
27+
if (err) {
28+
if (err.response) {
29+
helpers.errorLog(err.response.data.message);
30+
return;
31+
}
32+
helpers.errorLog(err);
33+
return;
34+
}
35+
helpers.successLog(result.message);
36+
helpers.jsonLog(result.data);
37+
});
38+
vorp.option('--domain <value>', ' ');
39+
let added_options = ['domain'];
40+
section.forEach((f) => {
41+
f.params.forEach((o) => {
42+
if (added_options.indexOf(o.parameter) < 0) {
43+
vorp.option('--' + o.parameter + ' <value> ', ' ');
44+
added_options.push(o.parameter);
45+
}
46+
});
47+
});
48+
});
49+
};
4550

46-
module.exports = init
51+
module.exports = init;

commands/auth.js

Lines changed: 75 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,80 @@
1-
const helpers = require('../lib/helpers')
2-
const Paystack = require('../lib/Paystack')
1+
const helpers = require('../lib/helpers');
2+
const Paystack = require('../lib/Paystack');
33
const init = function () {
4-
vorpal.command('login', 'Sign in with your Paystack username and password').action(async function (args, callback) {
5-
let token = ''
6-
let expiry = parseInt(db.read('token_expiry')) * 1000;
7-
let now = parseFloat(Date.now().toString())
8-
let user;
9-
if (expiry > now) {
10-
token = db.read('token');
11-
user = db.read('user');
12-
helpers.successLog("You're already logged in")
13-
}
14-
else {
15-
var email = helpers.prompt('Email address\n')
16-
let password = helpers.prompt('Password\n', true)
17-
var [e, response] = await helpers.promiseWrapper(Paystack.signIn(email, password))
4+
vorpal
5+
.command('login', 'Sign in with your Paystack username and password')
6+
.action(async function (args, callback) {
7+
let token = '';
8+
let expiry = parseInt(db.read('token_expiry')) * 1000;
9+
let now = parseFloat(Date.now().toString());
10+
let user;
11+
if (expiry > now) {
12+
token = db.read('token');
13+
user = db.read('user');
14+
helpers.successLog("You're already logged in");
15+
} else {
16+
var email = helpers.prompt('Email address\n');
17+
let password = helpers.prompt('Password\n', true);
18+
var [e, response] = await helpers.promiseWrapper(
19+
Paystack.signIn(email, password)
20+
);
1821

19-
if (response && !response.mfa_required) {
20-
token = response.token;
21-
user = response.user;
22-
db.write('token', token)
23-
db.write('user', user)
24-
helpers.successLog('Login successful')
25-
} else if (response && response.mfa_required) {
26-
var totp = helpers.prompt('*MFA required* Enter 6-digit verification code\n')
27-
var [e, response] = await helpers.promiseWrapper(Paystack.verifyMfa(totp, response.token))
28-
if (response) {
29-
token = response.token
30-
user = response.user
31-
db.write('token', token)
32-
db.write('user', user)
33-
helpers.successLog('Login successful')
34-
}
35-
} else{
36-
helpers.errorLog('Login failed')
37-
return;
38-
}
39-
}
40-
if (response || (token && user)) {
41-
var [err, integration] = await helpers.promiseWrapper(Paystack.selectIntegration(user.integrations, token))
42-
if (err) {
43-
helpers.errorLog(err);
44-
}
45-
db.write('selected_integration', integration);
46-
let user_role = db.read('selected_integration.logged_in_user_role');
47-
var [err, integrationData] = await helpers.promiseWrapper(Paystack.getIntegration(integration.id, token));
48-
if (err) {
49-
helpers.errorLog(err);
50-
return
51-
}
52-
integrationData.logged_in_user_role = user_role;
53-
db.write('selected_integration', integrationData);
54-
helpers.infoLog('Logged in as ' + user.email + ' - ' + integration.business_name + ' (' + integration.id + ')');
22+
if (response && !response.mfa_required) {
23+
token = response.token;
24+
user = response.user;
25+
db.write('token', token);
26+
db.write('user', user);
27+
helpers.successLog('Login successful');
28+
} else if (response && response.mfa_required) {
29+
var totp = helpers.prompt(
30+
'*MFA required* Enter 6-digit verification code\n'
31+
);
32+
var [e, response] = await helpers.promiseWrapper(
33+
Paystack.verifyMfa(totp, response.token)
34+
);
35+
if (response) {
36+
token = response.token;
37+
user = response.user;
38+
db.write('token', token);
39+
db.write('user', user);
40+
helpers.successLog('Login successful');
41+
}
5542
} else {
56-
helpers.errorLog(' - - - - - - ')
43+
helpers.errorLog('Login failed');
44+
return;
45+
}
46+
}
47+
if (response || (token && user)) {
48+
var [err, integration] = await helpers.promiseWrapper(
49+
Paystack.selectIntegration(user.integrations, token)
50+
);
51+
if (err) {
52+
helpers.errorLog(err);
53+
}
54+
db.write('selected_integration', integration);
55+
let user_role = db.read('selected_integration.logged_in_user_role');
56+
var [err, integrationData] = await helpers.promiseWrapper(
57+
Paystack.getIntegration(integration.id, token)
58+
);
59+
if (err) {
60+
helpers.errorLog(err);
61+
return;
5762
}
58-
})
59-
}
63+
integrationData.logged_in_user_role = user_role;
64+
db.write('selected_integration', integrationData);
65+
helpers.infoLog(
66+
'Logged in as ' +
67+
user.email +
68+
' - ' +
69+
integration.business_name +
70+
' (' +
71+
integration.id +
72+
')'
73+
);
74+
} else {
75+
helpers.errorLog(' - - - - - - ');
76+
}
77+
});
78+
};
6079

61-
module.exports = init
80+
module.exports = init;

commands/samples.js

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,48 @@
1-
2-
const helpers = require('../lib/helpers')
1+
const helpers = require('../lib/helpers');
32
const shell = require('shelljs');
43

54
if (!shell.which('git')) {
65
shell.echo('Sorry, this script requires git');
76
shell.exit(1);
87
}
98

10-
let samples = require('../lib/samples')
9+
let samples = require('../lib/samples');
1110

1211
const init = () => {
13-
let keys = Object.keys(samples)
14-
vorpal.command('sample <sample_name> <outputDir>', 'Get started quickly with a Paystack sample project. Available samples are '+ keys.toString() )
12+
let keys = Object.keys(samples);
13+
vorpal
14+
.command(
15+
'sample <sample_name> <outputDir>',
16+
'Get started quickly with a Paystack sample project. Available samples are ' +
17+
keys.toString()
18+
)
1519
.validate(function (args) {
16-
let selected_integration = db.read('selected_integration.id');
17-
let user = db.read('user.id')
18-
if (!selected_integration || !user) {
19-
helpers.errorLog("You're not signed in, please run the `login` command before you begin");
20-
return false;
21-
}
22-
}).action(async (args, callback) => {
23-
24-
if(keys.indexOf(args.sample) < 0){
25-
helpers.errorLog("No sample app available with the name "+ args.sample);
26-
helpers.infoLog("Available samples are " + keys.toString())
27-
callback()
28-
return;
29-
}
30-
let sample = samples[args.sample];
31-
32-
shell.cd(args.filepath)
33-
shell.exec('git clone '+ sample.git)
34-
shell.cd(sample.name)
35-
shell.exec('npm install');
36-
shell.exec('npm start')
20+
let selected_integration = db.read('selected_integration.id');
21+
let user = db.read('user.id');
22+
if (!selected_integration || !user) {
23+
helpers.errorLog(
24+
"You're not signed in, please run the `login` command before you begin"
25+
);
26+
return false;
27+
}
3728
})
38-
}
29+
.action(async (args, callback) => {
30+
if (keys.indexOf(args.sample) < 0) {
31+
helpers.errorLog(
32+
'No sample app available with the name ' + args.sample
33+
);
34+
helpers.infoLog('Available samples are ' + keys.toString());
35+
callback();
36+
return;
37+
}
38+
let sample = samples[args.sample];
3939

40+
shell.cd(args.filepath);
41+
shell.exec('git clone ' + sample.git);
42+
shell.cd(sample.name);
43+
shell.exec('npm install');
44+
shell.exec('npm start');
45+
});
46+
};
4047

41-
module.exports = init
48+
module.exports = init;

0 commit comments

Comments
 (0)