#! /usr/bin/env coffee

# Required modules

FS = require('fs')
Util = require('util')
QIWI = require('..')

# Check provided CLI args

unless process.argv.length is 6
	programName = process.argv[1].match(/[^/]+$/)[0]

	console.log('Submits verification code')
	console.log('Usage: ' + programName + ' PHONE_NUMBER PASSWORD CODE VCODE')

	process.exit()

# Process CLI args

[phone, password, code, vcode] = process.argv.slice(2, 6)

# Read default public key from file

publicKey = FS.readFileSync('../qiwi.pub')

# Create client

client = new QIWI.Client()
client.setHeader('User-Agent', 'android')

# Set extra fields to be sent to the server

client.setExtra('udid', 'C4F126614DB586E')
client.setExtra('client-software', 'Android v2.8.2 MKT')

# Open new session

client.createSession(publicKey, (error, session) ->
	unless error?
		client.setSession(session)

		console.log('New session opened')

		input = phone: phone, password: password, code: code, vcode: vcode

		client.receiveToken(input, (error, data) ->
			unless error?
				console.log(Util.inspect(data, colors: true))
			else
				console.log(error)

			return
		)
	else
		console.log(error)

	return
)
