Mercurial Hosting > lang
diff src/lib/Course.luan @ 24:87fe70201aa8
courses work
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 31 Jul 2025 22:30:26 -0600 |
parents | 0c17c233c45a |
children | 3a80ddafe5a4 |
line wrap: on
line diff
--- a/src/lib/Course.luan Wed Jul 30 23:29:33 2025 -0600 +++ b/src/lib/Course.luan Thu Jul 31 22:30:26 2025 -0600 @@ -3,6 +3,8 @@ local ipairs = Luan.ipairs or error() local Number = require "luan:Number.luan" local long = Number.long or error() +local Html = require "luan:Html.luan" +local html_encode = Html.encode or error() local Db = require "site:/lib/Db.luan" local languages = require "site:/lib/languages.luan" @@ -15,6 +17,7 @@ id = doc.id user_id = doc.course_user_id language = doc.course_language + updated = doc.course_updated name = doc.name ai_system_prompt = doc.ai_system_prompt } @@ -26,6 +29,7 @@ id = course.id course_user_id = long(course.user_id) course_language = course.language or error() + course_updated = long(course.updated) name = course.name or error() ai_system_prompt = course.ai_system_prompt or error() } @@ -34,9 +38,13 @@ function Course.new(course) function course.save() - local doc = to_doc(chat) + local doc = to_doc(course) Db.save(doc) - chat.id = doc.id + course.id = doc.id + end + + function course.name_html() + return html_encode(course.name) end function course.language_name() @@ -46,7 +54,7 @@ return course end -local function search(query,sort,rows) +function Course.search(query,sort,rows) rows = rows or 1000000 local courses = {} local docs = Db.search(query,1,rows,{sort=sort}) @@ -56,10 +64,6 @@ return courses end -function Course.get_for_language(language) - return search("course_language:"..language) -end - function Course.get_by_id(id) local doc = Db.get_document("id:"..id) return doc and doc.type=="course" and from_doc(doc) or nil