36 lines
873 B
JavaScript
36 lines
873 B
JavaScript
|
import db from '../src/inc/sql.mjs';
|
||
|
import lib from '../src/inc/lib.mjs';
|
||
|
|
||
|
import readline from 'node:readline/promises';
|
||
|
import stream from 'stream';
|
||
|
|
||
|
const _args = process.argv[2];
|
||
|
|
||
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
||
|
|
||
|
const newuser = _args?.length ? _args : await rl.question('username: ');
|
||
|
const password = await rl.question('password: ');
|
||
|
const level = +(await rl.question('level (0-100): '));
|
||
|
|
||
|
rl.close();
|
||
|
|
||
|
if(!newuser.length || !password.length) {
|
||
|
console.log('nope lol');
|
||
|
process.exit();
|
||
|
}
|
||
|
|
||
|
const id = (await db`
|
||
|
insert into "user" ${
|
||
|
db({
|
||
|
login: newuser.toLowerCase(),
|
||
|
user: newuser,
|
||
|
password: await lib.hash(password),
|
||
|
level: level >= 0 && level <= 100 ? level : 0
|
||
|
})
|
||
|
}
|
||
|
returning id
|
||
|
`)[0]?.id;
|
||
|
|
||
|
console.log(`created new user ${newuser} with ID ${id}`);
|
||
|
process.exit();
|