annotate src/manual_login.js.luan @ 44:1aa50739475a

add manual login
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 27 Feb 2025 22:50:46 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
44
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Io = require "luan:Io.luan"
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local Http = require "luan:http/Http.luan"
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local User = require "site:/lib/User.luan"
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 return function()
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 local email = Http.request.parameters.email or error()
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 local password = Http.request.parameters.password or error()
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 Io.stdout = Http.response.text_writer()
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 local user = User.get_by_email(email)
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 if user==nil or user.password ~= password then
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 %>
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 document.querySelector('[failed]').textContent = 'Login failed';
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 <%
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 return
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 end
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 user.login()
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 %>
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 location = '/';
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 <%
1aa50739475a add manual login
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 end