#!/usr/bin/python3
from dreamtown_config import *
import sys
import binascii
import os
import json
import sqlite3
import hashlib

PrintHeaders()
EnsurePost()


content_len = int(os.environ["CONTENT_LENGTH"])
post = sys.stdin.read(content_len)
jsonData = json.loads(post)
result = {"status":SUCCESS}


def TryLogin():
	username = jsonData['name'].lower()
	password = jsonData['password']
	authToken = jsonData['authToken']
	
	#Check User Exists
	c = db.cursor()
	c.execute('SELECT COUNT(1) from users WHERE Name=?',(username,))
	rows = c.fetchone()
	count = rows[0]
	
	if count == 0:
		result['status'] = USER_DOES_NOT_EXIST
		return 0
	#Check Password
	c.execute('SELECT PassHash,Salt from users WHERE Name= ?',(username,))
	
	rows = c.fetchone()

	PassHash = rows[0]
	Salt = rows[1]
	
	SaltedHash = pass_salt_algo(password,Salt)
	
	if SaltedHash != PassHash:
		result['status'] = INVALID_PASSWORD
		return 0
	c.execute('UPDATE users SET LastSession=NULL WHERE LastSession=?',(authToken,))
	c.execute('UPDATE users SET LastSession=? WHERE Name=?',(authToken,username))
	
		
db = DbConnect()
TryLogin()
db.commit()
db.close()
print(json.dumps(result))
		

	