1 let jst_server = (await import('@ndcode/jst_server')).default
2 let XDate = require('xdate')
5 let post_request = await _require('/_lib/post_request.jst')
6 let get_account = await _require('/_lib/get_account.jst')
7 let get_session = await _require('/_lib/get_session.jst')
14 // coerce and/or validate
16 site_url: globals.site_url.slice(0, 1024),
17 site_title: globals.site_title.slice(0, 1024),
18 contact_from: globals.contact_from.slice(0, 1024),
19 contact_to: globals.contact_to.slice(0, 1024),
20 feedback_from: globals.feedback_from.slice(0, 1024),
21 feedback_to: globals.feedback_to.slice(0, 1024),
22 noreply_from: globals.noreply_from.slice(0, 1024),
23 noreply_signature: globals.noreply_signature.slice(0, 1024),
24 copyright: globals.copyright.slice(0, 1024)
27 let transaction = await env.site.database.Transaction()
29 let root = await transaction.get({})
30 let session = await get_session(env, root)
32 let account = await get_account(root, session)
33 if (account === undefined)
34 throw new jst_server.Problem(
36 'Please sign in first.',
39 if (!await account.get_json('administrator'))
40 throw new jst_server.Problem(
46 root.set_json('globals', globals)
47 await transaction.commit()
50 transaction.rollback()