view src/new_chat.red.luan @ 53:6c78fd83518f

add delete course
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 17 Aug 2025 16:59:37 +0900
parents 27758f3b2d69
children f5e72f2d1025
line wrap: on
line source

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 Course = require "site:/lib/Course.luan"
local get_course_by_id = Course.get_by_id or error()
local Ai_chat = require "site:/lib/ai/claude/Ai_chat.luan"
local ai_init = Ai_chat.init or error()



return function()
	local user = current_user() or error()
	local course_id = Http.request.parameters.course or error()
	local course = get_course_by_id(course_id) or error()
	local chat = Chat.new{
		user_id = user.id
		course_id = course.id
		name = course.name
		language = course.language
		tts_instructions = course.tts_instructions
		has_ruby = course.has_ruby
		ai_thread = ai_init(course.ai_system_prompt)
	}
	chat.save()
	Http.response.send_redirect("chat.html?chat="..chat.id)
end