Major refactoring of get_session(), get_account(), get_nodemailer(), introduces ...
[ndcode_site.git] / api / account / password_reset.json.jst
index 54eff78..fbefab4 100644 (file)
@@ -2,9 +2,7 @@ let crypto = require('crypto')
 let XDate = require('xdate')
 
 return async env => {
-  let get_globals = await _require('/_lib/get_globals.jst')
   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')
   let Problem = await _require('/_lib/Problem.jst')
 
@@ -25,17 +23,13 @@ return async env => {
 
       let transaction = await env.site.database.Transaction()
       let link_code
-      let nodemailer, noreply_from, noreply_signature
+      let nodemailer
+      let noreply_from, noreply_signature
       let given_names, family_name
       try {
-        // initialize env.session_key, set cookie in env.response
-        await get_session(env, transaction)
-
-        let account = await (
-          await (
-            await transaction.get({})
-          ).get('accounts', {})
-        ).get(email)
+        let root = await transaction.get({})
+        let accounts = await root.get('accounts', {})
+        let account = await accounts.get(email)
         if (account === undefined)
           throw new Problem(
             'Account does not exist',
@@ -51,8 +45,9 @@ return async env => {
           {password, link_code, expires: expires.getTime()}
         )
 
-        nodemailer = await get_nodemailer(env, transaction, 'noreply')
-        let globals = await get_globals(env, transaction)
+        nodemailer = await get_nodemailer(root, 'noreply')
+
+        let globals = await root.get('globals', {})
         site_url = await globals.get_json('site_url')
         noreply_from = await globals.get_json('noreply_from')
         noreply_signature = await globals.get_json('noreply_signature')