From c3f092aaefa1d0a097a101d23011e747c7d0b9d0 Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Mon, 3 Jan 2022 15:26:29 +0000 Subject: [PATCH] feat(invite): allow direct invitation by id for discoverable servers --- src/database/guards/reference.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/database/guards/reference.rs b/src/database/guards/reference.rs index 2982833d..687dac30 100644 --- a/src/database/guards/reference.rs +++ b/src/database/guards/reference.rs @@ -58,7 +58,25 @@ impl Ref { } pub async fn fetch_invite(&self) -> Result { - self.fetch("channel_invites").await + match self.fetch("channel_invites").await { + Ok(invite) => Ok(invite), + Err(err) => { + if let Ok(server) = self.fetch::("servers").await { + if server.discoverable { + return Ok( + Invite::Server { + code: server.id.clone(), + server: server.id, + creator: server.owner, + channel: server.channels[0].clone(), + } + ) + } + } + + Err(err) + } + } } pub async fn fetch_bot(&self) -> Result {