Skip to content

Email Change

email_change

Email change adapter interface.

Defines the abstract interface for email change token storage and retrieval. Inherits from BaseTokenAdapter for common token operations.

Classes

EmailChangeAdapter

Bases: BaseTokenAdapter[Any]

Abstract base class for email change token database operations.

Inherits from BaseTokenAdapter and provides backward compatibility with the mark_used() method.

Functions
create abstractmethod
create(
    *, user_id: UUID, new_email: str, token_hash: str, expires_at: datetime
) -> Any

Create an email change request with a token.

Parameters:

Name Type Description Default
user_id UUID

User's unique identifier

required
new_email str

The new email address to change to

required
token_hash str

Hashed verification token

required
expires_at datetime

Token expiration datetime

required
Source code in fastauth/adapters/base/email_change.py
@abstractmethod
def create(
    self,
    *,
    user_id: uuid.UUID,
    new_email: str,
    token_hash: str,
    expires_at: datetime,
) -> Any:
    """
    Create an email change request with a token.

    Args:
        user_id: User's unique identifier
        new_email: The new email address to change to
        token_hash: Hashed verification token
        expires_at: Token expiration datetime
    """
    ...
mark_used
mark_used(*, token_hash: str) -> None

Mark an email change token as used.

This is a convenience method that calls invalidate().

Parameters:

Name Type Description Default
token_hash str

Hashed token to mark as used

required
Source code in fastauth/adapters/base/email_change.py
def mark_used(self, *, token_hash: str) -> None:
    """
    Mark an email change token as used.

    This is a convenience method that calls invalidate().

    Args:
        token_hash: Hashed token to mark as used
    """
    self.invalidate(token_hash=token_hash)