comparison src/lib/Course.luan @ 46:cc20eebaa74a

use openai tts
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 14 Aug 2025 11:27:34 +0900
parents 3a80ddafe5a4
children 27758f3b2d69
comparison
equal deleted inserted replaced
45:fef7a5c65cfb 46:cc20eebaa74a
4 local Number = require "luan:Number.luan" 4 local Number = require "luan:Number.luan"
5 local long = Number.long or error() 5 local long = Number.long or error()
6 local Html = require "luan:Html.luan" 6 local Html = require "luan:Html.luan"
7 local html_encode = Html.encode or error() 7 local html_encode = Html.encode or error()
8 local Db = require "site:/lib/Db.luan" 8 local Db = require "site:/lib/Db.luan"
9 local languages = require "site:/lib/languages.luan" 9 local Shared = require "site:/lib/Shared.luan"
10 local languages = Shared.languages or error()
10 11
11 12
12 local Course = {} 13 local Course = {}
13 14
14 local function from_doc(doc) 15 local function from_doc(doc)
19 language = doc.course_language 20 language = doc.course_language
20 updated = doc.course_updated 21 updated = doc.course_updated
21 name = doc.name 22 name = doc.name
22 ai_system_prompt = doc.ai_system_prompt 23 ai_system_prompt = doc.ai_system_prompt
23 ai_first_message = doc.ai_first_message 24 ai_first_message = doc.ai_first_message
25 tts_instructions = doc.tts_instructions
24 } 26 }
25 end 27 end
26 28
27 local function to_doc(course) 29 local function to_doc(course)
28 return { 30 return {
32 course_language = course.language or error() 34 course_language = course.language or error()
33 course_updated = long(course.updated) 35 course_updated = long(course.updated)
34 name = course.name or error() 36 name = course.name or error()
35 ai_system_prompt = course.ai_system_prompt or error() 37 ai_system_prompt = course.ai_system_prompt or error()
36 ai_first_message = course.ai_first_message 38 ai_first_message = course.ai_first_message
39 tts_instructions = course.tts_instructions
37 } 40 }
38 end 41 end
39 42
40 function Course.new(course) 43 function Course.new(course)
41 44
48 function course.name_html() 51 function course.name_html()
49 return html_encode(course.name) 52 return html_encode(course.name)
50 end 53 end
51 54
52 function course.language_name() 55 function course.language_name()
53 return languages[course.language].name 56 return languages[course.language]
54 end 57 end
55 58
56 return course 59 return course
57 end 60 end
58 61