Make get_session() readonly and throw an exception if session cannot be found rather...
[ndcode_site.git] / api / account / sign_up / get_draft.json.jst
1 return async env => {
2   let post_request = await _require('/_lib/post_request.jst')
3   let get_session = await _require('/_lib/get_session.jst')
4
5   await post_request(
6     // env
7     env,
8     // handler
9     async () => {
10       let transaction = await env.site.database.Transaction()
11       try {
12         let root = await transaction.get()
13         let session = await get_session(env, root)
14
15         let sign_up_draft = await session.get_json('sign_up_draft')
16         if (sign_up_draft === undefined || env.now >= sign_up_draft.expires)
17           sign_up_draft = null
18         return sign_up_draft
19       }
20       finally {
21         transaction.rollback()
22       }
23     }
24   )
25 }