3 import readline from 'readline'
4 import util from 'util'
5 import Problem from './Problem.mjs'
6 import Session from './Session.mjs'
8 let session = new Session('session.json')
13 if (error.code !== 'ENOENT')
16 console.log('warning: session.json not found, using defaults')
19 let rl = readline.createInterface(
22 output: process.stdout,
26 let rl_question = util.promisify(rl.question).bind(rl)
28 let url = await rl_question(`url: [${session.persistent.url || ''}] `)
30 session.persistent.url = url
31 else if (session.persistent.url === undefined) {
32 console.log('url is required')
36 let username = await rl_question(`username: [${session.persistent.username || ''}] `)
38 session.persistent.username = username
39 else if (session.persistent.username === undefined) {
40 console.log('username is required')
44 let password = await rl_question('password: ')
45 if (password.length < 8) {
46 console.log('password is minimum 8 characters')
53 await session.api_call(
54 '/api/account/sign_in.json',
55 session.persistent.username,
60 let problem = Problem.from(error)
61 console.error('problem:')
62 console.error(' title:', problem.title)
63 console.error(' detail:', problem.detail)
64 console.error(' status:', problem.status)