comparison src/private/tools/save_config.txt.luan @ 69:e229f4aacde0

config in lucene
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 06 Mar 2025 20:08:19 -0700
parents b116b6ef07bf
children
comparison
equal deleted inserted replaced
68:329c3f70fd78 69:e229f4aacde0
1 local Luan = require "luan:Luan.luan" 1 local Luan = require "luan:Luan.luan"
2 local error = Luan.error 2 local error = Luan.error
3 local parse = Luan.parse or error() 3 local parse = Luan.parse or error()
4 local stringify = Luan.stringify or error() 4 local stringify = Luan.stringify or error()
5 local Io = require "luan:Io.luan" 5 local Io = require "luan:Io.luan"
6 local uri = Io.uri or error()
7 local Http = require "luan:http/Http.luan" 6 local Http = require "luan:http/Http.luan"
8 local Shared = require "site:/lib/Shared.luan" 7 local Db = require "site:/lib/Db.luan"
9 local config_file = Shared.config_file or error() 8 local run_in_transaction = Db.run_in_transaction or error()
10 9
11 10
12 return function() 11 return function()
13 local config = Http.request.parameters.config or error() 12 local config = Http.request.parameters.config or error()
14 config = parse(config) 13 config = parse(config)
15 uri("site:/private/local/").mkdir() 14 run_in_transaction( function()
16 config_file.write_text(stringify(config).."\n") 15 local doc = Db.get_document("type:config") or {
16 type = "config"
17 }
18 doc.config = stringify(config)
19 Db.save(doc)
20 end )
17 Http.reset_luan() 21 Http.reset_luan()
18 Io.stdout = Http.response.text_writer() 22 Io.stdout = Http.response.text_writer()
19 %>saved<% 23 %>saved<%
20 end 24 end