|
44
|
1 local Luan = require "luan:Luan.luan"
|
|
|
2 local error = Luan.error
|
|
|
3 local Io = require "luan:Io.luan"
|
|
|
4 local Http = require "luan:http/Http.luan"
|
|
|
5 local User = require "site:/lib/User.luan"
|
|
|
6
|
|
|
7
|
|
|
8 return function()
|
|
|
9 local email = Http.request.parameters.email or error()
|
|
|
10 local password = Http.request.parameters.password or error()
|
|
|
11 Io.stdout = Http.response.text_writer()
|
|
|
12 local user = User.get_by_email(email)
|
|
|
13 if user==nil or user.password ~= password then
|
|
|
14 %>
|
|
|
15 document.querySelector('[failed]').textContent = 'Login failed';
|
|
|
16 <%
|
|
|
17 return
|
|
|
18 end
|
|
|
19 user.login()
|
|
|
20 %>
|
|
|
21 location = '/';
|
|
|
22 <%
|
|
|
23 end
|