1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-08-09 04:22:45 +03:00

storage: Add an email filter on the user email list

This commit is contained in:
Quentin Gliech
2024-06-21 17:39:19 +02:00
parent 319c43abc5
commit b2ee5de050
3 changed files with 60 additions and 2 deletions

View File

@@ -41,6 +41,7 @@ impl UserEmailState {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
pub struct UserEmailFilter<'a> {
user: Option<&'a User>,
email: Option<&'a str>,
state: Option<UserEmailState>,
}
@@ -58,6 +59,13 @@ impl<'a> UserEmailFilter<'a> {
self
}
/// Filter for emails matching a specific email address
#[must_use]
pub fn for_email(mut self, email: &'a str) -> Self {
self.email = Some(email);
self
}
/// Get the user filter
///
/// Returns [`None`] if no user filter is set
@@ -66,6 +74,14 @@ impl<'a> UserEmailFilter<'a> {
self.user
}
/// Get the email filter
///
/// Returns [`None`] if no email filter is set
#[must_use]
pub fn email(&self) -> Option<&str> {
self.email
}
/// Filter for emails that are verified
#[must_use]
pub fn verified_only(mut self) -> Self {