aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-server/src/settings.rs
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@elliehuxtable.com>2024-06-24 14:54:54 +0100
committerGitHub <noreply@github.com>2024-06-24 14:54:54 +0100
commit67d64ec4b368c48188c746f2dba2967ec4615fe5 (patch)
tree9da8443d4baa424e99a806cb022d53daa6a8c30e /crates/atuin-server/src/settings.rs
parentfix: Some --help comments didn't show properly (#2176) (diff)
downloadatuin-67d64ec4b368c48188c746f2dba2967ec4615fe5.zip
feat: add user account verification (#2190)
* add verified column to users table * add database functions to check if verified, or to verify * getting there * verification check * use base64 urlsafe no pad * add verification client * clippy * correct docs * fix integration tests
Diffstat (limited to 'crates/atuin-server/src/settings.rs')
-rw-r--r--crates/atuin-server/src/settings.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/crates/atuin-server/src/settings.rs b/crates/atuin-server/src/settings.rs
index 286b5688..1246982a 100644
--- a/crates/atuin-server/src/settings.rs
+++ b/crates/atuin-server/src/settings.rs
@@ -7,8 +7,34 @@ use serde::{de::DeserializeOwned, Deserialize, Serialize};
static EXAMPLE_CONFIG: &str = include_str!("../server.toml");
+#[derive(Default, Clone, Debug, Deserialize, Serialize)]
+pub struct Mail {
+ #[serde(alias = "enable")]
+ pub enabled: bool,
+
+ /// Configuration for the postmark api client
+ /// This is what we use for Atuin Cloud, the forum, etc.
+ pub postmark: Postmark,
+
+ pub verification: MailVerification,
+}
+
+#[derive(Default, Clone, Debug, Deserialize, Serialize)]
+pub struct Postmark {
+ #[serde(alias = "enable")]
+ pub token: Option<String>,
+}
+
+#[derive(Default, Clone, Debug, Deserialize, Serialize)]
+pub struct MailVerification {
+ #[serde(alias = "enable")]
+ pub from: String,
+ pub subject: String,
+}
+
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Metrics {
+ #[serde(alias = "enabled")]
pub enable: bool,
pub host: String,
pub port: u16,
@@ -37,6 +63,7 @@ pub struct Settings<DbSettings> {
pub register_webhook_username: String,
pub metrics: Metrics,
pub tls: Tls,
+ pub mail: Mail,
#[serde(flatten)]
pub db_settings: DbSettings,