view src/login.js.luan @ 123:50f611bbfa19 default tip

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 10 Dec 2025 20:34:30 -0700
parents e2deb5236f26
children
line wrap: on
line source

local Luan = require "luan:Luan.luan"
local error = Luan.error
local Io = require "luan:Io.luan"
local Http = require "luan:http/Http.luan"
local User = require "site:/lib/User.luan"
local Shared = require "site:/lib/Shared.luan"
local add_with = Shared.add_with or error()


return function()
	local email = Http.request.parameters.email or error()
	local password = Http.request.parameters.password or error()
	Io.stdout = Http.response.text_writer()
	local user = User.get_by_email(email)
	if user==nil or user.password ~= password then
%>
		document.querySelector('[failed]').textContent = 'Login failed';
<%
		return
	end
	user.login()
	local spy = Http.request.parameters.spy ~= nil
	if spy then
		Http.response.set_cookie("spy","yes")
	else
		Http.response.remove_cookie("spy")
	end
	local with = Http.request.parameters.with
	local location
	if with == nil then
		location = "/"
	else
		location = add_with("/chat")
	end
%>
	location = '<%=location%>';
<%
end