feat: 完善生产级 Rust Web 模板
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
use serde::Deserialize;
|
||||
|
||||
#[derive(Debug, Deserialize, Clone)]
|
||||
pub struct EmailConfig {
|
||||
#[serde(default)]
|
||||
pub enabled: bool,
|
||||
#[serde(default)]
|
||||
pub smtp_host: String,
|
||||
#[serde(default = "default_smtp_port")]
|
||||
pub smtp_port: u16,
|
||||
#[serde(default)]
|
||||
pub smtp_username: String,
|
||||
#[serde(default)]
|
||||
pub smtp_password: String,
|
||||
#[serde(default)]
|
||||
pub from_email: String,
|
||||
#[serde(default = "default_from_name")]
|
||||
pub from_name: String,
|
||||
#[serde(default = "default_code_ttl")]
|
||||
pub verification_code_ttl_seconds: u64,
|
||||
#[serde(default)]
|
||||
pub queue_enabled: bool,
|
||||
#[serde(default = "default_worker_pool_size")]
|
||||
pub worker_pool_size: usize,
|
||||
}
|
||||
|
||||
fn default_smtp_port() -> u16 {
|
||||
587
|
||||
}
|
||||
fn default_from_name() -> String {
|
||||
"Web Rust Template".into()
|
||||
}
|
||||
fn default_code_ttl() -> u64 {
|
||||
600
|
||||
}
|
||||
fn default_worker_pool_size() -> usize {
|
||||
2
|
||||
}
|
||||
|
||||
impl Default for EmailConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
enabled: false,
|
||||
smtp_host: String::new(),
|
||||
smtp_port: default_smtp_port(),
|
||||
smtp_username: String::new(),
|
||||
smtp_password: String::new(),
|
||||
from_email: String::new(),
|
||||
from_name: default_from_name(),
|
||||
verification_code_ttl_seconds: default_code_ttl(),
|
||||
queue_enabled: false,
|
||||
worker_pool_size: default_worker_pool_size(),
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user