Make get_session() readonly and throw an exception if session cannot be found rather...
[ndcode_site.git] / api / account / change_details / 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 change_details_draft = await session.get_json('change_details_draft')
16         if (change_details_draft === undefined || env.now >= change_details_draft.expires)
17           change_details_draft = null
18         return change_details_draft
19       }
20       finally {
21         transaction.rollback()
22       }
23     }
24   )
25 }