comparison src/lib/Chat.luan @ 53:9298b04607ae

add unread
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 03 Mar 2025 19:39:30 -0700
parents 42b741a1d5c6
children d21ae4920aac
comparison
equal deleted inserted replaced
52:c3fabb21b6c4 53:9298b04607ae
59 end 59 end
60 end 60 end
61 error() 61 error()
62 end 62 end
63 63
64 local function get_chatuser_id(user)
65 return chat.id.."~"..user.id
66 end
67
68 function chat.unread(user)
69 local doc = Db.get_document("chatuser_id:"..get_chatuser_id(user))
70 local read_date = doc and doc.read_date or 0
71 return Db.count("+post_chat_id:"..chat.id.." +post_date:["..read_date.." TO *]")
72 end
73
74 function chat.read(user)
75 run_in_transaction( function()
76 local chatuser_id = get_chatuser_id(user)
77 local doc = Db.get_document("chatuser_id:"..chatuser_id) or {
78 type = "chatuser"
79 chatuser_id = chatuser_id
80 }
81 doc.read_date = time_now()
82 Db.save(doc)
83 end )
84 end
85
64 return chat 86 return chat
65 end 87 end
66 88
67 function Chat.search(query,sort,rows) 89 function Chat.search(query,sort,rows)
68 rows = rows or 1000000 90 rows = rows or 1000000