mirror of https://github.com/IoTcat/todo-ddl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.1 KiB
88 lines
2.1 KiB
4 years ago
|
module.exports = (yargs) => {
|
||
|
|
||
|
var o = {
|
||
|
email: {
|
||
|
set: s => {
|
||
|
if(!o.email.check(s)){
|
||
|
return 'Illegal Email!!';
|
||
|
}
|
||
|
data.config.email(s);
|
||
|
return;
|
||
|
},
|
||
|
get: () => data.config.email(),
|
||
|
check: s => {
|
||
|
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
|
||
|
return reg.test(s);
|
||
|
}
|
||
|
},
|
||
|
remote: {
|
||
|
set: s => {
|
||
|
if(!o.remote.check(s)){
|
||
|
return 'Illegal URL!!';
|
||
|
}
|
||
|
data.config.remote(s);
|
||
|
return;
|
||
|
},
|
||
|
get: () => data.config.remote(),
|
||
|
check: s => {
|
||
|
var reg = /./;///^((https|http|ftp|rtsp|mms):\/\/)(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-z_!~*'()-]+.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].[a-z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+\/?)$/;
|
||
|
return reg.test(s);
|
||
|
}
|
||
|
},
|
||
|
show: () => {
|
||
|
let configInfo = new table();
|
||
|
configInfo.push({email: o.email.get()},{remote: o.remote.get()});
|
||
|
console.log(configInfo.toString());
|
||
|
}
|
||
|
};
|
||
|
|
||
|
var data = require(__dirname + '/../utilities/data.js')();
|
||
|
const colors = require('colors');
|
||
|
const boxen = require('boxen');
|
||
|
const table = require('cli-table');
|
||
|
|
||
|
yargs = yargs
|
||
|
.command("config", "td config [-e email] [-r remote]".green + " Config Email or/and remote url..", yargs => {
|
||
|
return yargs
|
||
|
.option("e", {
|
||
|
alias: "email",
|
||
|
default: "",
|
||
|
describe: "Your Email to login.",
|
||
|
demand: false,
|
||
|
type: 'string'
|
||
|
})
|
||
|
.option("r", {
|
||
|
alias: "remote",
|
||
|
default: "",
|
||
|
describe: "Remote todo-ddl server URL.",
|
||
|
demand: false,
|
||
|
type: 'string'
|
||
|
})
|
||
|
.help()
|
||
|
.version(false)
|
||
|
.argv;
|
||
|
}, argv => {
|
||
|
if(argv.e == "" && argv.r == ""){
|
||
|
o.show();
|
||
|
console.error(boxen('Please use '+'td config -h '.red+'to get Help!!', {padding: 1, margin: 1, borderStyle: 'double'}));
|
||
|
return;
|
||
|
}
|
||
|
if(argv.e != ""){
|
||
|
var m = o.email.set(argv.e);
|
||
|
if(m){
|
||
|
console.error(boxen(m, {padding: 1, margin: 1, borderStyle: 'double'}));
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
if(argv.r != ""){
|
||
|
var m = o.remote.set(argv.r);
|
||
|
if(m){
|
||
|
console.error(boxen(m, {padding: 1, margin: 1, borderStyle: 'double'}));
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
o.show();
|
||
|
})
|
||
|
|
||
|
return yargs;
|
||
|
}
|