Change all the get_draft.json endpoints to be like sign_up one (simpler because the...
[ndcode_site.git] / api / contact / 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 contact_draft = await session.get_json('contact_draft')
16         if (contact_draft === undefined || env.now >= contact_draft.expires)
17           contact_draft = null
18         return contact_draft
19       }
20       finally {
21         transaction.rollback()
22       }
23     }
24   )
25 }