#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
#
require 'sqlite3'
require 'json'
require './userdb.rb'
MAILFROM = "admin@e.koeki-u.ac.jp"
# https://stackoverflow.com/questions/52353560/how-can-i-access-the-raw-request-body-in-ruby-cgi-scripts
begin
c = JSON.parse($stdin.read)
rescue
c = {}
end
user = c["user"] || ""
skey = c["skey"] || ""
tkey = c["tmpkey"] || ""
code = c["passcode"] || ""
STDERR.printf("USER=[[%s]]\n", user)
userdb = UserDB.new
data = {}
if !user || user == ""
# STDERR.puts "000000000000000"
elsif skey > "" && userdb.authSkey(user, skey)
# STDERR.puts "11111111111111111111111111"
if c["note"]
data["reply"] = userdb.notAI(c, user)
else
data["skey"] = skey
end
elsif tkey > "" && skey=userdb.authTmpKey(user, tkey, code)
# STDERR.puts "222222222222222222222"
data["skey"] = skey
else
# STDERR.puts "333333333333333"
data["tmpkey"] = userdb.genTmpkey(user)
end
resp = JSON.pretty_generate(data)
# STDERR.puts "Sent: #{resp}"
print(<<EOF)
Content-type: text/json; charset=UTF-8
#{resp}
EOF
exit