Mercurial Hosting > freedit
diff src/api/login_email.json.luan @ 6:9166f6a14021
add email api
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 23 Jun 2022 23:05:28 -0600 |
parents | |
children | 260abd8f8565 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/api/login_email.json.luan Thu Jun 23 23:05:28 2022 -0600 @@ -0,0 +1,33 @@ +local Luan = require "luan:Luan.luan" +local error = Luan.error +local Html = require "luan:Html.luan" +local url_encode = Html.url_encode or error() +local Io = require "luan:Io.luan" +local output_of = Io.output_of or error() +local Http = require "luan:http/Http.luan" +local Mail = require "site:/lib/Mail.luan" +local Api = require "site:/api/Api.luan" +local api = Api.api or error() +local user_error = Api.user_error or error() + + +return api(function() + local base_url = Http.request.parameters.base_url or user_error "missing base_url param" + local from = Http.request.parameters.from or user_error "missing from param" + local email = Http.request.parameters.email or user_error "missing email param" + local password = Http.request.parameters.password or user_error "missing password param" + local mailer = Mail.sender() or user_error "mail not configured" + mailer.send{ + From = from + To = email + Subject = "Login" + body = output_of(function() %> +Login or register by clicking this link: + +<%=base_url%>/login.html?email=<%=url_encode(email)%>&password=<%=password%> +<% end) + } + return { + okay = true + } +end)