annotate src/chat.json.luan @ 64:7fc224013c8b

add read_me
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 22 Aug 2025 03:00:53 -0600
parents 97b0d206cacd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Http = require "luan:http/Http.luan"
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local User = require "site:/lib/User.luan"
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local current_user = User.current or error()
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local Chat = require "site:/lib/Chat.luan"
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local get_chat_by_id = Chat.get_by_id or error()
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 return function()
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 local chat_id = Http.request.parameters.chat or error()
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 local chat = get_chat_by_id(chat_id) or error()
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 local user = current_user()
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 local is_owner = user ~= nil and user.id == chat.user_id
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 is_owner or not chat.is_private or error "private"
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 Http.response.text_writer().write(chat.ai_thread)
97b0d206cacd add chat.json
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 end