Add setuser to cli
This commit is contained in:
parent
3713240618
commit
e683096a90
2 changed files with 21 additions and 5 deletions
20
cli.js
20
cli.js
|
@ -1,7 +1,7 @@
|
|||
let yargs = require("yargs");
|
||||
let user = require("./user");
|
||||
|
||||
yargs.scriptName("node cli.js")
|
||||
yargs.scriptName("node app.js")
|
||||
.command("adduser [username] [password]", "Add user", (yargs) => {
|
||||
yargs.positional("username", {
|
||||
describe: "Username for the new user",
|
||||
|
@ -22,6 +22,22 @@ yargs.scriptName("node cli.js")
|
|||
user.setUser(argv.username, argv.password);
|
||||
process.exit(0);
|
||||
})
|
||||
.command("setuser <username> [password]", "Change an user password", (yargs) => {
|
||||
yargs.positional("username", {
|
||||
describe: "The user to change password",
|
||||
type: "string"
|
||||
});
|
||||
}, async (argv) => {
|
||||
let file = user.getFile();
|
||||
if (!(argv.username in file)) {
|
||||
console.error("Invalid username !")
|
||||
process.exit(1);
|
||||
}
|
||||
if (!("password" in argv))
|
||||
argv.password = await user.getPassword();
|
||||
user.setUser(argv.username, argv.password);
|
||||
process.exit(0);
|
||||
})
|
||||
.command("deluser <username>", "Remove user", (yargs) => {
|
||||
yargs.positional("username", {
|
||||
type: "string",
|
||||
|
@ -30,7 +46,7 @@ yargs.scriptName("node cli.js")
|
|||
}, async (argv) => {
|
||||
process.exit(user.delUser(argv.username));
|
||||
})
|
||||
.command("listuser", "List all users", (argv) => {
|
||||
.command("listuser", "List all users", () => {
|
||||
let users = [];
|
||||
let file = user.getFile();
|
||||
for (let u in file)
|
||||
|
|
6
user.js
6
user.js
|
@ -36,14 +36,14 @@ async function getPassword() {
|
|||
let rl = getReadLine();
|
||||
let password = await new Promise(resolve => rl.question("Password: ", resolve));
|
||||
rl.close();
|
||||
return passwordHash.generate(password);
|
||||
return password;
|
||||
}
|
||||
|
||||
function setUser(username, password) {
|
||||
let file = getFile();
|
||||
file[username] = password;
|
||||
file[username] = passwordHash.generate(password);
|
||||
fs.writeFileSync("users.json", JSON.stringify(file));
|
||||
console.log("User " + username + " created");
|
||||
console.log("User " + username + " set");
|
||||
}
|
||||
|
||||
async function addUser() {
|
||||
|
|
Loading…
Reference in a new issue