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