Mercurial Hosting > lang
changeset 49:97b0d206cacd
add chat.json
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 15 Aug 2025 08:43:24 +0900 |
parents | a119fc092f42 |
children | 85c5f62070d8 |
files | src/chat.html.luan src/chat.js src/chat.json.luan |
diffstat | 3 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
diff -r a119fc092f42 -r 97b0d206cacd src/chat.html.luan --- a/src/chat.html.luan Fri Aug 15 08:28:13 2025 +0900 +++ b/src/chat.html.luan Fri Aug 15 08:43:24 2025 +0900 @@ -51,6 +51,7 @@ <span onclick="deleteChat()">Delete Chat</span> <% end %> <span onclick="systemPrompt()">System Prompt</span> + <span onclick="chatJson()">Chat JSON</span> </div> </span> </div>
diff -r a119fc092f42 -r 97b0d206cacd src/chat.js --- a/src/chat.js Fri Aug 15 08:28:13 2025 +0900 +++ b/src/chat.js Fri Aug 15 08:43:24 2025 +0900 @@ -148,3 +148,7 @@ recorder.stop(); } } + +function chatJson() { + location = `chat.json?chat=${chat.id}`; +}
diff -r a119fc092f42 -r 97b0d206cacd src/chat.json.luan --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/chat.json.luan Fri Aug 15 08:43:24 2025 +0900 @@ -0,0 +1,17 @@ +local Luan = require "luan:Luan.luan" +local error = Luan.error +local Http = require "luan:http/Http.luan" +local User = require "site:/lib/User.luan" +local current_user = User.current or error() +local Chat = require "site:/lib/Chat.luan" +local get_chat_by_id = Chat.get_by_id or error() + + +return function() + local chat_id = Http.request.parameters.chat or error() + local chat = get_chat_by_id(chat_id) or error() + local user = current_user() + local is_owner = user ~= nil and user.id == chat.user_id + is_owner or not chat.is_private or error "private" + Http.response.text_writer().write(chat.ai_thread) +end