1 let XDate = require('xdate')
4 let nodemailer_feedback = await env.site.get_nodemailer(
5 '/_config/nodemailer_feedback.json'
7 let post_request = await _require('/_lib/post_request.jst')
8 let session_cookie = await _require('/_lib/session_cookie.jst')
14 async (page, message) => {
15 // coerce and/or validate
16 page = page.slice(0, 256)
17 mesage = message.slice(0, 65536)
18 if (page.length === 0 || message.length === 0)
21 'Minimum length check failed',
25 let transaction = await env.site.database.Transaction()
26 let feedback_from, feedback_to
28 // initialize env.session_key, set cookie in env.response
29 await session_cookie(env, transaction)
31 let globals = await (await transaction.get({})).get('globals')
32 feedback_from = await globals.get_json('feedback_from')
33 feedback_to = await globals.get_json('feedback_to')
35 await transaction.commit()
38 transaction.rollback()
42 await nodemailer_feedback.sendMail(
46 subject: 'Page: ' + page,