Users¶
users
¶
User adapter interface.
Defines the abstract interface for user account database operations. Handles user creation, retrieval, authentication, and account management.
Classes¶
UserAdapter
¶
Bases: ABC
Abstract base class for user database operations.
Implementations must provide database-specific logic for user management. The core business logic remains database-agnostic.
Functions¶
get_by_email
abstractmethod
¶
Retrieve a user by email address.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
email |
str
|
User's email address |
required |
Returns:
| Type | Description |
|---|---|
Any
|
User object if found, None otherwise |
get_by_id
abstractmethod
¶
Retrieve a user by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
Returns:
| Type | Description |
|---|---|
Any
|
User object if found, None otherwise |
create_user
abstractmethod
¶
Create a new user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
email |
str
|
User's email address |
required |
hashed_password |
str | None
|
Already hashed password (None for OAuth-only users) |
None
|
Returns:
| Type | Description |
|---|---|
Any
|
Created user object |
Source code in fastauth/adapters/base/users.py
mark_verified
abstractmethod
¶
Mark a user's email as verified.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
set_password
abstractmethod
¶
Update user's password.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
hashed_password |
str
|
Already hashed password |
required |
update_last_login
abstractmethod
¶
Update user's last login timestamp.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
update_email
abstractmethod
¶
Update user's email address.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
new_email |
str
|
New email address |
required |
soft_delete_user
abstractmethod
¶
Soft delete a user by setting deleted_at timestamp.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |
hard_delete_user
abstractmethod
¶
Permanently delete a user from the database.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id |
UUID
|
User's unique identifier |
required |