Mercurial Hosting > disearch
comparison src/lib/Server.luan @ 14:80105b716a62
start bot
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Tue, 31 Oct 2023 23:56:48 -0600 | 
| parents | af2b95854072 | 
| children | 552d6f944acb | 
   comparison
  equal
  deleted
  inserted
  replaced
| 13:af2b95854072 | 14:80105b716a62 | 
|---|---|
| 10 | 10 | 
| 11 local function from_doc(doc) | 11 local function from_doc(doc) | 
| 12 doc.type == "server" or error "wrong type" | 12 doc.type == "server" or error "wrong type" | 
| 13 return Server.new { | 13 return Server.new { | 
| 14 id = doc.id | 14 id = doc.id | 
| 15 discord_id = doc.server_discord_id | |
| 15 owner_discord_id = doc.server_owner_discord_id | 16 owner_discord_id = doc.server_owner_discord_id | 
| 16 discord_id = doc.discord_id | |
| 17 name = doc.name | 17 name = doc.name | 
| 18 icon = doc.icon | 18 icon = doc.icon | 
| 19 invite = doc.invite | 19 invite = doc.invite | 
| 20 } | 20 } | 
| 21 end | 21 end | 
| 22 | 22 | 
| 23 local function to_doc(server) | 23 local function to_doc(server) | 
| 24 return { | 24 return { | 
| 25 type = "server" | 25 type = "server" | 
| 26 id = server.id | 26 id = server.id | 
| 27 server_discord_id = server.discord_id or error() | |
| 27 server_owner_discord_id = server.owner_discord_id or error() | 28 server_owner_discord_id = server.owner_discord_id or error() | 
| 28 discord_id = server.discord_id or error() | |
| 29 name = server.name or error() | 29 name = server.name or error() | 
| 30 icon = server.icon or error() | 30 icon = server.icon or error() | 
| 31 invite = server.invite or error() | 31 invite = server.invite or error() | 
| 32 } | 32 } | 
| 33 end | 33 end | 
| 64 function Server.get_by_id(id) | 64 function Server.get_by_id(id) | 
| 65 local doc = Db.get_document("id:"..id) | 65 local doc = Db.get_document("id:"..id) | 
| 66 return doc and from_doc(doc) | 66 return doc and from_doc(doc) | 
| 67 end | 67 end | 
| 68 | 68 | 
| 69 function Server.get_by_discord_id(discord_id) | |
| 70 local doc = Db.get_document("server_discord_id:"..discord_id) | |
| 71 return doc and from_doc(doc) | |
| 72 end | |
| 73 | |
| 69 local function search(query,sort,rows) | 74 local function search(query,sort,rows) | 
| 70 rows = rows or 1000000 | 75 rows = rows or 1000000 | 
| 71 local docs = Db.search(query,1,rows,{sort=sort}) | 76 local docs = Db.search(query,1,rows,{sort=sort}) | 
| 72 local servers = {} | 77 local servers = {} | 
| 73 for _, doc in ipairs(docs) do | 78 for _, doc in ipairs(docs) do | 
