Grcov report - email.rs
top_levelsrcemail.rs
Lines
0 %
Functions
0 %
Branches
100 %
1
#[cfg(feature = "server")]
2
use lettre::message::Mailbox;
3
use serde::{Deserialize, Serialize};
4
5
#[derive(Clone, Debug, Default, Deserialize, Hash, PartialEq, Eq, Serialize)]
6
pub struct Email {
7
#[serde(default)]
8
pub address: String,
9
#[serde(default)]
10
pub code: Option<u32>,
11
#[serde(default)]
12
pub username: String,
13
#[serde(default)]
14
pub verified: bool,
15
}
16
17
impl Email {
18
#[cfg(feature = "server")]
19
#[must_use]
20
pub fn to_mailbox(&self) -> Option<Mailbox> {
21
Some(Mailbox::new(
22
Some(self.username.clone()),
23
self.address.parse().ok()?,
24
))
25
}
26
27
#[must_use]
28
pub fn tx(&self) -> String {
29
// Note: We use a FIGURE SPACE to separate the username from the address so
30
// .split_ascii_whitespace() does not treat it as a space.
31
format!("{} <{}>", self.username, self.address)
32
}
33
}
Date: 2026-01-28 15:49