Mercurial Hosting > chat
changeset 101:0fc454beff08 default tip
use Config.luan
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 30 Jun 2025 23:49:10 -0600 |
parents | 0e3b22ece2fc |
children | |
files | .hgignore push-prod.sh push-test.sh read_me.txt src/lib/Shared.luan src/private/Config_sample.luan src/private/tools/config.html.luan src/private/tools/index.html.luan src/private/tools/save_config.txt.luan |
diffstat | 9 files changed, 28 insertions(+), 91 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Mon Jun 30 22:32:26 2025 -0600 +++ b/.hgignore Mon Jun 30 23:49:10 2025 -0600 @@ -3,7 +3,6 @@ err local/ mine/ -push-test.sh -push-prod.sh .DS_Store dev.sh +private/Config.luan
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/push-prod.sh Mon Jun 30 23:49:10 2025 -0600 @@ -0,0 +1,6 @@ +#!/bin/bash +set -e + +PASSWORD=$(luan 'string:require("luan:Io.luan").stdout.write(require("file:src/private/Config.luan").push_password)') + +luan luan:host/push.luan chat.luan.software $PASSWORD src 2>&1 | tee err
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/push-test.sh Mon Jun 30 23:49:10 2025 -0600 @@ -0,0 +1,6 @@ +#!/bin/bash +set -e + +PASSWORD=$(luan 'string:require("luan:Io.luan").stdout.write(require("file:src/private/Config.luan").push_password)') + +luan luan:host/push.luan test.chat.luan.software $PASSWORD src 2>&1 | tee err
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/read_me.txt Mon Jun 30 23:49:10 2025 -0600 @@ -0,0 +1,4 @@ +To configure, go to src/private and copy Config_sample.luan to Config.luan . Then update Config.luan as needed. + +If you have access, you can get Config.luan here: +https://hg.reactionary.software/repo/config/
--- a/src/lib/Shared.luan Mon Jun 30 22:32:26 2025 -0600 +++ b/src/lib/Shared.luan Mon Jun 30 23:49:10 2025 -0600 @@ -21,6 +21,7 @@ local Db = require "site:/lib/Db.luan" local Post = require "site:/lib/Post.luan" local get_post_by_id = Post.get_by_id or error() +local Config = require "site:/private/Config.luan" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "Shared" @@ -91,24 +92,8 @@ } end -do - local doc = Db.get_document("type:config") - if doc ~= nil then - Shared.config = parse( doc.config ) - else - Shared.config = { - mail_server = { - host = "mail.smtp2go.com" - port = 465 - username = "xxx" - password = "xxx" - } - } - end -end - local default_from = title.." <chat@luan.software>" -local send_mail0 = Mail.sender(Shared.config.mail_server).send +local send_mail0 = Mail.sender(Config.mail_server).send function Shared.send_mail(mail) mail.From = mail.From or default_from send_mail0(mail)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/private/Config_sample.luan Mon Jun 30 23:49:10 2025 -0600 @@ -0,0 +1,9 @@ +return { + mail_server = { + host = "mail.smtp2go.com" + port = 465 + username = "xxx" + password = "xxx" + } + push_password = "xxx" +}
--- a/src/private/tools/config.html.luan Mon Jun 30 22:32:26 2025 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -local Luan = require "luan:Luan.luan" -local error = Luan.error -local stringify = Luan.stringify or error() -local Io = require "luan:Io.luan" -local Http = require "luan:http/Http.luan" -local Shared = require "site:/lib/Shared.luan" -local head = Shared.head or error() -local header = Shared.private_header or error() -local config = Shared.config or error() - - -return function() - Io.stdout = Http.response.text_writer() -%> -<!doctype html> -<html lang="en"> - <head> -<% head() %> - <style> - [content] { - max-width: 90%; - width: 700px; - padding: 0; - } - textarea { - width: 100%; - height: 20em; - } - </style> - </head> - <body> -<% header() %> - <div content> - <h1>Configure</h1> - <form method=post action="save_config.txt"> - <p> - <textarea name=config autofocus><%= stringify(config).."\n" %></textarea> - </p> - <p> - <input type=submit value="Update"> - </p> - </form> - </div> - </body> -</html> -<% -end
--- a/src/private/tools/index.html.luan Mon Jun 30 22:32:26 2025 -0600 +++ b/src/private/tools/index.html.luan Mon Jun 30 23:49:10 2025 -0600 @@ -20,7 +20,6 @@ <div content> <h1>Private Tools</h1> <p><a href="users.html">users</a></p> - <p><a href="config.html">configure</a></p> <p> public tools: <a href="/tools/dimensions.html">dimensions</a>
--- a/src/private/tools/save_config.txt.luan Mon Jun 30 22:32:26 2025 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -local Luan = require "luan:Luan.luan" -local error = Luan.error -local parse = Luan.parse or error() -local stringify = Luan.stringify or error() -local Io = require "luan:Io.luan" -local Http = require "luan:http/Http.luan" -local Db = require "site:/lib/Db.luan" -local run_in_transaction = Db.run_in_transaction or error() - - -return function() - local config = Http.request.parameters.config or error() - config = parse(config) - run_in_transaction( function() - local doc = Db.get_document("type:config") or { - type = "config" - } - doc.config = stringify(config) - Db.save(doc) - end ) - Http.reset_luan() - Io.stdout = Http.response.text_writer() - %>saved<% -end