return async env => {
let breadcrumbs = await _require('/_lib/breadcrumbs.jst')
+ let get_session = await _require('/_lib/get_session.jst')
let icon_cross = await env.site.get_min_svg('/_svg/icon_cross.svg')
let icon_tick = await env.site.get_min_svg('/_svg/icon_tick.svg')
let navbar = await _require('/_lib/navbar.jst')
- let get_session = await _require('/_lib/get_session.jst')
// preload draft details if any
- let transaction = await env.site.database.Transaction(), draft_details
+ let transaction = await env.site.database.Transaction()
+ let draft_details
try {
- // initialize env.session_key, set cookie in env.response
- let session = await get_session(env, transaction)
+ let root = await transaction.get({})
+ let session = await get_session(env, root)
let contact_draft = await session.get('contact_draft')
draft_details =
message: await contact_draft.get_json('message')
} :
null
-
- await transaction.commit()
}
- catch (error) {
+ finally {
transaction.rollback()
- throw error
}
console.log('draft_details', JSON.stringify(draft_details))