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