/** * npm run user create a short wizard: choose Admin or User * npm run user list show every account * */ import { createWizard, listLines } from '../src/cli/userWizard'; import { loadConfig } from '../src/config'; import { openDb } from '../src/db'; import { runMigrations } from '../src/db/migrate'; import { makeIo } from './cliIo'; async function main(): Promise { const command = process.argv[2]; if (command !== 'create' && command !== 'list') { console.log('usage:'); console.log(' npm run user create create an admin or a user (a short wizard)'); console.log(' npm run user list show every account'); return command ? 1 : 0; } const config = loadConfig(); const db = openDb(config.dbPath); runMigrations(db); try { if (command === 'list') { for (const line of listLines(db)) console.log(line); return 0; } const { io, close } = makeIo(); try { return await createWizard(db, io, config.defaultCountryCode); } finally { close(); } } finally { db.close(); } } main().then( (code) => process.exit(code), (err) => { console.error(String(err)); process.exit(1); }, );