Skip to content

Commit 72bd223

Browse files
committed
Added validators and use for flags
1 parent d689a6d commit 72bd223

3 files changed

Lines changed: 4784 additions & 835 deletions

File tree

lib/helper.js

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,31 @@ let logofied = text => {
3030
);
3131
};
3232

33+
/**
34+
* Validated input
35+
* @param {*} value
36+
* @param {*} error
37+
*/
38+
var argumentValidator = {
39+
isString: (value, expected) => {
40+
if (typeof value === "string") {
41+
console.log(chalk.red("Failed validation isNotEmpty: " + expected));
42+
return true;
43+
}
44+
return false;
45+
},
46+
isNotEmpty: (value, expected) => {
47+
if (value !== "" && value !== null && typeof value !== "undefined") {
48+
console.log(chalk.red("Failed validation isNotEmpty: " + expected));
49+
return true;
50+
}
51+
return false;
52+
}
53+
};
54+
3355
/**
3456
* Logs the values with colors according to the type
3557
* @param {*} data
36-
* @param {*} error
3758
*/
3859
let logger = (data, error) => {
3960
if (error) {
@@ -116,5 +137,6 @@ module.exports = {
116137
checkNcConfig: checkNcConfig,
117138
writeMetaData: writeMetaData,
118139
logger: logger,
119-
logofied: logofied
140+
logofied: logofied,
141+
argumentValidator: argumentValidator
120142
};

lib/services.js

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const Core = require("./core");
22
const Init = require("./init");
3-
const { logger, logofied } = require("./helper");
3+
const { logger, logofied, argumentValidator } = require("./helper");
44
//import services
55

66
const Compute = require("./compute");
@@ -29,8 +29,12 @@ function Services(program, spinner) {
2929
}
3030
if (program.compute) {
3131
let compute = new Compute(program, ncProviders, options);
32+
3233
switch (program.compute) {
3334
case "create":
35+
argumentValidator.isString(program.image, "Program Image");
36+
argumentValidator.isString(program.instance, "Program Instance");
37+
argumentValidator.isString(program.name, "Program Name");
3438
compute.createInstance(
3539
{
3640
params: {
@@ -61,6 +65,7 @@ function Services(program, spinner) {
6165
});
6266
break;
6367
case "stop":
68+
argumentValidator.isString(program.id, "Program ID");
6469
compute.stopInstance(
6570
{
6671
InstanceIds: [program.id]
@@ -74,6 +79,7 @@ function Services(program, spinner) {
7479
);
7580
break;
7681
case "reboot":
82+
argumentValidator.isString(program.id, "Program ID");
7783
compute.rebootInstance(
7884
{
7985
InstanceIds: [program.id]
@@ -87,6 +93,7 @@ function Services(program, spinner) {
8793
);
8894
break;
8995
case "start":
96+
argumentValidator.isString(program.id, "Program ID");
9097
compute.startInstance(
9198
{
9299
InstanceIds: [program.id]
@@ -100,6 +107,7 @@ function Services(program, spinner) {
100107
);
101108
break;
102109
case "destroy":
110+
argumentValidator.isString(program.id, "Program ID");
103111
compute.destroyInstance(
104112
{
105113
InstanceIds: [program.id]
@@ -123,6 +131,7 @@ function Services(program, spinner) {
123131
let storage = new Storage(program, ncProviders, options);
124132
switch (program.storage) {
125133
case "create":
134+
argumentValidator.isString(program.name, "Program Name");
126135
storage.createStorage(
127136
{
128137
Bucket: program.name,
@@ -150,6 +159,7 @@ function Services(program, spinner) {
150159
});
151160
break;
152161
case "delete":
162+
argumentValidator.isString(program.name, "Program Name");
153163
storage.deleteStorage(
154164
{
155165
Bucket: program.name
@@ -215,6 +225,7 @@ function Services(program, spinner) {
215225
let iam = new Iam(program, ncProviders, options);
216226
switch (program.iam) {
217227
case "create":
228+
argumentValidator.isString(program.name, "Program Name");
218229
iam.createGroup(
219230
{
220231
GroupName: program.name
@@ -228,6 +239,7 @@ function Services(program, spinner) {
228239
);
229240
break;
230241
case "delete":
242+
argumentValidator.isString(program.name, "Program Name");
231243
iam.deleteGroup(
232244
{
233245
GroupName: program.name
@@ -241,6 +253,7 @@ function Services(program, spinner) {
241253
);
242254
break;
243255
case "attach":
256+
argumentValidator.isString(program.name, "Program Name");
244257
iam.attachResoure(
245258
{
246259
GroupName: program.name,
@@ -255,6 +268,7 @@ function Services(program, spinner) {
255268
);
256269
break;
257270
case "detach":
271+
argumentValidator.isString(program.name, "Program Name");
258272
iam.detachResource(
259273
{
260274
GroupName: program.name,
@@ -279,6 +293,8 @@ function Services(program, spinner) {
279293
let network = new Network(program, ncProviders, options);
280294
switch (program.network) {
281295
case "create":
296+
argumentValidator.isString(program.port, "Program Port");
297+
argumentValidator.isString(program.name, "Program Name");
282298
network.create(
283299
{
284300
AvailabilityZones: ["eu-central-1b"],
@@ -309,6 +325,7 @@ function Services(program, spinner) {
309325
});
310326
break;
311327
case "delete":
328+
argumentValidator.isString(program.name, "Program Name");
312329
network.delete(
313330
{
314331
LoadBalancerName: program.name
@@ -322,6 +339,9 @@ function Services(program, spinner) {
322339
);
323340
break;
324341
case "tag":
342+
argumentValidator.isString(program.name, "Program Name");
343+
argumentValidator.isString(program.key, "Program Key");
344+
argumentValidator.isString(program.value, "Program Value");
325345
network.addTags(
326346
{
327347
LoadBalancerNames: [program.name],
@@ -341,6 +361,8 @@ function Services(program, spinner) {
341361
);
342362
break;
343363
case "detag":
364+
argumentValidator.isString(program.name, "Program Name");
365+
argumentValidator.isString(program.key, "Program Key");
344366
network.removeTags(
345367
{
346368
LoadBalancerNames: [program.name],
@@ -359,6 +381,8 @@ function Services(program, spinner) {
359381
);
360382
break;
361383
case "createz":
384+
argumentValidator.isString(program.cr, "Program CR");
385+
argumentValidator.isString(program.name, "Program Name");
362386
network.createZone(
363387
{ CallerReference: program.cr, Name: program.name },
364388
(error, data) => {
@@ -378,6 +402,7 @@ function Services(program, spinner) {
378402
});
379403
break;
380404
case "deletez":
405+
argumentValidator.isString(program.id, "Program ID");
381406
network.deleteZone(
382407
{ Id: `/hostedzone/${program.id}` },
383408
(error, data) => {

0 commit comments

Comments
 (0)