annotate src/delete_chat.js.luan @ 11:563a5358f2ee

add delete_chat
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 31 Oct 2024 19:17:53 -0600
parents
children 9f45d32670ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Io = require "luan:Io.luan"
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local Http = require "luan:http/Http.luan"
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local User = require "site:/lib/User.luan"
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local current_user = User.current or error()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local Chat = require "site:/lib/Chat.luan"
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 local get_chat_by_id = Chat.get_by_id or error()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 return function()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 local chat = Http.request.parameters.chat or error()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 chat = get_chat_by_id(chat) or error()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 local user = current_user() or error()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 chat.delete()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 Io.stdout = Http.response.text_writer()
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 %>
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 location = '/chat.html';
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <%
563a5358f2ee add delete_chat
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 end