Major refactoring of get_session(), get_account(), get_nodemailer(), introduces ...
[ndcode_site.git] / api / feedback.json.jst
index 2be476d..4d3ea47 100644 (file)
@@ -2,7 +2,6 @@ let XDate = require('xdate')
 
 return async env => {
   let get_nodemailer = await _require('/_lib/get_nodemailer.jst')
-  let get_session = await _require('/_lib/get_session.jst')
   let post_request = await _require('/_lib/post_request.jst')
 
   await post_request(
@@ -21,21 +20,19 @@ return async env => {
         )
 
       let transaction = await env.site.database.Transaction()
-      let nodemailer, feedback_from, feedback_to
+      let nodemailer
+      let feedback_from, feedback_to
       try {
-        // initialize env.session_key, set cookie in env.response
-        await get_session(env, transaction)
+        let root = await transaction.get({})
 
-        nodemailer = await get_nodemailer(env, transaction, 'feedback')
-        let globals = await get_globals(env, transaction)
+        nodemailer = await get_nodemailer(root, 'feedback')
+
+        let globals = await root.get('globals', {})
         feedback_from = await globals.get_json('feedback_from')
         feedback_to = await globals.get_json('feedback_to')
-
-        await transaction.commit()
       }
-      catch (error) {
+      finally {
         transaction.rollback()
-        throw error
       }
 
       await nodemailer.sendMail(