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

print("Content-Type: application/json")
print("")
method = os.environ["REQUEST_METHOD"]
if method != "POST":
	print("Expected POST")
	os._exit()
	

content_len = int(os.environ["CONTENT_LENGTH"])
post = sys.stdin.read(content_len)
jsonData = json.loads(post)
result = {"status":SUCCESS}
	
def TryAdd():
	HarvestableTemplateId = jsonData['harvestableTemplateId']
	ContainerName = jsonData['containerName']
	AreaId = jsonData['areaId']
	authToken = jsonData['authToken']
	
	c = db.cursor()
	cur = c.execute('SELECT COUNT(1) from users WHERE LastSession=?',(authToken,))
	rows = cur.fetchone()
	count = rows[0]
	if count == 0:
		result['status'] = USER_DOES_NOT_EXIST
		return 0
	
	#Find Username
	cur = c.execute('SELECT Name from users WHERE LastSession=?',(authToken,))
	rows = cur.fetchone()
	username = rows[0]
		
	cur = c.execute('SELECT COUNT(1) from containerList where Name=? and AreaId=? and containerName=?',(username,AreaId,ContainerName))
	rows = cur.fetchone()
	count = rows[0]
	if count == 0:
		c.execute('INSERT INTO containerList VAlUES (?,?,NULL,?,?)',(username,HarvestableTemplateId,ContainerName,AreaId))
	else: 
		c.execute('UPDATE containerList SET HarvestableTemplateId=? where Name=? and AreaId=? and ContainerName=?',(HarvestableTemplateId,username,AreaId,ContainerName))


try: 
	db = sqlite3.connect(SQLLITE_DB_PATH)
	TryAdd()
	db.commit()
	db.close()
except Exception as e:
	print(e)
	os._exit()

print(json.dumps(result))