Mercurial Hosting > chat
comparison src/lib/User.luan @ 30:f4708943f29e
add heartbeat
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Sat, 09 Nov 2024 19:17:21 -0700 |
| parents | b8b12fd8be22 |
| children | e2b7f6393dab |
comparison
equal
deleted
inserted
replaced
| 29:5beadcd541aa | 30:f4708943f29e |
|---|---|
| 15 local lucene_quote = Lucene.quote or error() | 15 local lucene_quote = Lucene.quote or error() |
| 16 local Http = require "luan:http/Http.luan" | 16 local Http = require "luan:http/Http.luan" |
| 17 local Db = require "site:/lib/Db.luan" | 17 local Db = require "site:/lib/Db.luan" |
| 18 local run_in_transaction = Db.run_in_transaction or error() | 18 local run_in_transaction = Db.run_in_transaction or error() |
| 19 local Chat = require "site:/lib/Chat.luan" | 19 local Chat = require "site:/lib/Chat.luan" |
| 20 local chat_search = Chat.search or error() | |
| 20 local Logging = require "luan:logging/Logging.luan" | 21 local Logging = require "luan:logging/Logging.luan" |
| 21 local logger = Logging.logger "User" | 22 local logger = Logging.logger "User" |
| 22 | 23 |
| 23 | 24 |
| 24 local User = {} | 25 local User = {} |
| 50 end | 51 end |
| 51 | 52 |
| 52 function user.delete() | 53 function user.delete() |
| 53 run_in_transaction( function() | 54 run_in_transaction( function() |
| 54 local id = user.id | 55 local id = user.id |
| 55 local chats = Chat.search("chat_user_ids:"..id) | 56 local chats = chat_search("chat_user_ids:"..id) |
| 56 for _, chat in ipairs(chats) do | 57 for _, chat in ipairs(chats) do |
| 57 chat.delete() | 58 chat.delete() |
| 58 end | 59 end |
| 59 Db.delete("id:"..id) | 60 Db.delete("id:"..id) |
| 60 end ) | 61 end ) |
| 64 local id = to_string(user.id) | 65 local id = to_string(user.id) |
| 65 Http.response.set_persistent_cookie("user",id) | 66 Http.response.set_persistent_cookie("user",id) |
| 66 Http.response.set_persistent_cookie("password",user.password) | 67 Http.response.set_persistent_cookie("password",user.password) |
| 67 Http.request.cookies.user = id | 68 Http.request.cookies.user = id |
| 68 Http.request.cookies.password = user.password or error() | 69 Http.request.cookies.password = user.password or error() |
| 70 end | |
| 71 | |
| 72 function user.last_update() | |
| 73 local chats = chat_search( "chat_user_ids:"..user.id, "chat_updated desc", 1 ) | |
| 74 local n = #chats | |
| 75 if n == 0 then | |
| 76 return 0 | |
| 77 elseif n == 1 then | |
| 78 return chats[1].updated | |
| 79 else error() end | |
| 69 end | 80 end |
| 70 | 81 |
| 71 return user | 82 return user |
| 72 end | 83 end |
| 73 | 84 |
