annotate src/private/tools/save_config.txt.luan @ 72:bce0480721c1

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Sat, 08 Mar 2025 17:29:57 -0700
parents e229f4aacde0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local parse = Luan.parse or error()
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local stringify = Luan.stringify or error()
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local Io = require "luan:Io.luan"
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local Http = require "luan:http/Http.luan"
69
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
7 local Db = require "site:/lib/Db.luan"
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
8 local run_in_transaction = Db.run_in_transaction or error()
1
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 return function()
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 local config = Http.request.parameters.config or error()
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 config = parse(config)
69
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
14 run_in_transaction( function()
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
15 local doc = Db.get_document("type:config") or {
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
16 type = "config"
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
17 }
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
18 doc.config = stringify(config)
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
19 Db.save(doc)
e229f4aacde0 config in lucene
Franklin Schmidt <fschmidt@gmail.com>
parents: 1
diff changeset
20 end )
1
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 Http.reset_luan()
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 Io.stdout = Http.response.text_writer()
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 %>saved<%
b116b6ef07bf add config
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 end