Repository
jwtlib.repository
Summary
UserRepository: Persistence layer for authentication.
This module defines the MongoDB-backed repository for managing user records, including creation, lookup, and credential verification.
Classes
UserRepository
Bases: BaseRepository[User]
MongoDB-backed repository for User documents.
Notes
Responsibilities:
1 2 | |
Functions
authenticate_user
async
Verify user credentials and prepare a login response.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_auth |
LoginRequest
|
Login credentials. |
required |
Returns:
| Type | Description |
|---|---|
Optional[dict]
|
dict | None: A dictionary containing the access token and public user if successful, otherwise None. |
create
async
Create a new user record.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_create |
RegisterRequest
|
Registration data including prospective password. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
PublicUser |
PublicUser
|
A PublicUser representation of the created user. |
get_active_users
async
List all active users with pagination.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
skip |
int
|
Number of records to skip. |
0
|
limit |
int
|
Maximum number of records to return. |
100
|
Returns:
| Type | Description |
|---|---|
List[User]
|
List[User]: A list of active User documents. |
get_by_email
async
Retrieve a user by their unique email address.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
email |
str
|
The email address to search for. |
required |
Returns:
| Type | Description |
|---|---|
Optional[User]
|
Optional[User]: The User document if found, otherwise None. |
get_by_username
async
Retrieve a user by their unique username.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
username |
str
|
The username to search for. |
required |
Returns:
| Type | Description |
|---|---|
Optional[User]
|
Optional[User]: The User document if found, otherwise None. |