Mercurial Hosting > chat
comparison src/invite.js.luan @ 60:3521166513b3
finish invite
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Tue, 04 Mar 2025 20:31:00 -0700 |
| parents | 8270106644db |
| children | a47036fd0158 |
comparison
equal
deleted
inserted
replaced
| 59:8270106644db | 60:3521166513b3 |
|---|---|
| 4 local json_string = Parsers.json_string or error() | 4 local json_string = Parsers.json_string or error() |
| 5 local Http = require "luan:http/Http.luan" | 5 local Http = require "luan:http/Http.luan" |
| 6 local Io = require "luan:Io.luan" | 6 local Io = require "luan:Io.luan" |
| 7 local User = require "site:/lib/User.luan" | 7 local User = require "site:/lib/User.luan" |
| 8 local get_user_by_email = User.get_by_email or error() | 8 local get_user_by_email = User.get_by_email or error() |
| 9 local get_or_create_user_by_email = User.get_or_create_by_email or error() | |
| 10 local current_user = User.current or error() | |
| 11 local Shared = require "site:/lib/Shared.luan" | |
| 12 local send_mail = Shared.send_mail or error() | |
| 13 local Utils = require "site:/lib/Utils.luan" | |
| 14 local base_url = Utils.base_url or error() | |
| 9 | 15 |
| 10 | 16 |
| 11 return function() | 17 return function() |
| 18 local user = current_user() or error() | |
| 12 local email = Http.request.parameters.email or error() | 19 local email = Http.request.parameters.email or error() |
| 13 Io.stdout = Http.response.text_writer() | 20 Io.stdout = Http.response.text_writer() |
| 14 if get_user_by_email(email) ~= nil then | 21 if get_user_by_email(email) ~= nil then |
| 15 %> | 22 %> |
| 16 location = 'chat?with=<%=email%>'; | 23 location = 'chat?with=<%=email%>'; |
| 17 <% | 24 <% |
| 18 return | 25 return |
| 19 end | 26 end |
| 27 local invitee = get_or_create_user_by_email(email) | |
| 28 local password = invitee.password | |
| 29 local url = base_url().."/do_login.html?user="..invitee.id.."&password="..password.."&with="..user.email | |
| 30 local who = user.name or user.email | |
| 31 send_mail { | |
| 32 To = email | |
| 33 Subject = "Chat with "..who | |
| 34 body = `%> | |
| 35 <%=who%> has invited you to chat on Luan Chat. | |
| 36 | |
| 37 Here is the link to login: | |
| 38 | |
| 39 <%= url %> | |
| 40 | |
| 41 Or login with your email and the password: <%=password%> | |
| 42 <% ` | |
| 43 } | |
| 20 %> | 44 %> |
| 21 openInvite(<%=json_string(email)%>); | 45 openInvite(<%=json_string(email)%>); |
| 22 <% | 46 <% |
| 23 end | 47 end |
