From 6716a2d32b0c6adced846267cb4e8ff16dcf3d8f Mon Sep 17 00:00:00 2001 From: Paul <paulmakles@gmail.com> Date: Fri, 14 May 2021 22:39:16 +0100 Subject: [PATCH] Join with newlines for embed generation. Server January URL endpoint on server configuration. --- src/database/entities/january.rs | 5 ++--- src/database/entities/message.rs | 6 +++++- src/routes/root.rs | 8 ++++++-- src/util/variables.rs | 1 + 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/database/entities/january.rs b/src/database/entities/january.rs index cb6f9ff..7c3c618 100644 --- a/src/database/entities/january.rs +++ b/src/database/entities/january.rs @@ -107,9 +107,8 @@ impl Embed { v }) - // This will also remove newlines, but - // that isn't important here. - .collect::<String>(); + .collect::<Vec<&str>>() + .join("\n"); // ! FIXME: allow multiple links // ! FIXME: prevent generation if link is surrounded with < > diff --git a/src/database/entities/message.rs b/src/database/entities/message.rs index cca5b28..04238ed 100644 --- a/src/database/entities/message.rs +++ b/src/database/entities/message.rs @@ -1,4 +1,4 @@ -use crate::util::variables::VAPID_PRIVATE_KEY; +use crate::util::variables::{VAPID_PRIVATE_KEY, USE_JANUARY}; use crate::{ database::*, notifications::{events::ClientboundNotification, websocket::is_online}, @@ -231,6 +231,10 @@ impl Message { } pub fn process_embed(&self) { + if !*USE_JANUARY { + return; + } + if let Content::Text(text) = &self.content { let id = self.id.clone(); let content = text.clone(); diff --git a/src/routes/root.rs b/src/routes/root.rs index 9ca42d6..d14ff38 100644 --- a/src/routes/root.rs +++ b/src/routes/root.rs @@ -1,6 +1,6 @@ use crate::util::variables::{ - APP_URL, AUTUMN_URL, DISABLE_REGISTRATION, EXTERNAL_WS_URL, HCAPTCHA_SITEKEY, INVITE_ONLY, - USE_AUTUMN, USE_EMAIL, USE_HCAPTCHA, USE_VOSO, VAPID_PUBLIC_KEY, VOSO_URL, VOSO_WS_HOST, + APP_URL, JANUARY_URL, AUTUMN_URL, DISABLE_REGISTRATION, EXTERNAL_WS_URL, HCAPTCHA_SITEKEY, INVITE_ONLY, + USE_AUTUMN, USE_JANUARY, USE_EMAIL, USE_HCAPTCHA, USE_VOSO, VAPID_PUBLIC_KEY, VOSO_URL, VOSO_WS_HOST, }; use mongodb::bson::doc; @@ -22,6 +22,10 @@ pub async fn root() -> JsonValue { "enabled": *USE_AUTUMN, "url": *AUTUMN_URL }, + "january": { + "enabled": *USE_JANUARY, + "url": *JANUARY_URL + }, "voso": { "enabled": *USE_VOSO, "url": *VOSO_URL, diff --git a/src/util/variables.rs b/src/util/variables.rs index 1bd71e9..788bb94 100644 --- a/src/util/variables.rs +++ b/src/util/variables.rs @@ -49,6 +49,7 @@ lazy_static! { pub static ref USE_HCAPTCHA: bool = env::var("REVOLT_HCAPTCHA_KEY").is_ok(); pub static ref USE_PROMETHEUS: bool = env::var("REVOLT_ENABLE_PROMETHEUS").map_or(false, |v| v == "1"); pub static ref USE_AUTUMN: bool = env::var("AUTUMN_PUBLIC_URL").is_ok(); + pub static ref USE_JANUARY: bool = env::var("JANUARY_PUBLIC_URL").is_ok(); pub static ref USE_VOSO: bool = env::var("VOSO_PUBLIC_URL").is_ok() && env::var("VOSO_MANAGE_TOKEN").is_ok(); // SMTP Settings -- GitLab