Mercurial Hosting > freedit
comparison src/api/change_email.json.luan @ 57:169ac5fdb320
add change email
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Mon, 28 Nov 2022 23:47:19 -0700 |
| parents | src/api/login_email.json.luan@260abd8f8565 |
| children |
comparison
equal
deleted
inserted
replaced
| 56:7ce54f6d93f2 | 57:169ac5fdb320 |
|---|---|
| 1 local Luan = require "luan:Luan.luan" | |
| 2 local error = Luan.error | |
| 3 local Html = require "luan:Html.luan" | |
| 4 local url_encode = Html.url_encode or error() | |
| 5 local Io = require "luan:Io.luan" | |
| 6 local output_of = Io.output_of or error() | |
| 7 local Http = require "luan:http/Http.luan" | |
| 8 local Mail = require "site:/lib/Mail.luan" | |
| 9 local Api = require "site:/api/Api.luan" | |
| 10 local api = Api.api or error() | |
| 11 local user_error = Api.user_error or error() | |
| 12 | |
| 13 | |
| 14 return api(function() | |
| 15 local base_url = Http.request.parameters.base_url or user_error "missing base_url param" | |
| 16 local from = Http.request.parameters.from or user_error "missing from param" | |
| 17 local email = Http.request.parameters.email or user_error "missing email param" | |
| 18 local password = Http.request.parameters.password or user_error "missing password param" | |
| 19 local mailer = Mail.sender() or user_error "mail not configured" | |
| 20 mailer.send{ | |
| 21 From = from | |
| 22 To = email | |
| 23 Subject = "Change Email" | |
| 24 body = output_of(function() %> | |
| 25 Change your email address to this email by clicking this link: | |
| 26 | |
| 27 <%=base_url%>/change_email.html?email=<%=url_encode(email)%>&password=<%=password%> | |
| 28 <% end) | |
| 29 } | |
| 30 return { | |
| 31 okay = true | |
| 32 } | |
| 33 end) |
