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();
