You've already forked authentication-service
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:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user