schemas.provider_schemas¶
src.schemas.provider_schemas
¶
Provider request and response schemas.
Pydantic schemas for provider API endpoints. Includes: - Request schemas (client → API) - Response schemas (API → client) - DTO-to-schema conversion methods
Reference
- docs/architecture/api-design-patterns.md
Classes¶
ProviderConnectionResponse
¶
Bases: BaseModel
Single provider connection response.
Attributes:
| Name | Type | Description |
|---|---|---|
id |
UUID
|
Connection unique identifier. |
provider_slug |
str
|
Provider identifier (e.g., "schwab"). |
alias |
str | None
|
User-defined nickname (if set). |
status |
str
|
Current connection status. |
is_connected |
bool
|
Whether connection is usable for API calls. |
needs_reauthentication |
bool
|
Whether user needs to re-authenticate. |
connected_at |
datetime | None
|
When connection was established. |
last_sync_at |
datetime | None
|
Last successful data sync. |
created_at |
datetime
|
Record creation timestamp. |
updated_at |
datetime
|
Last modification timestamp. |
Source code in src/schemas/provider_schemas.py
Functions¶
from_dto
classmethod
¶
Convert application DTO to response schema.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dto
|
ProviderConnectionResult
|
ProviderConnectionResult from handler. |
required |
Returns:
| Type | Description |
|---|---|
ProviderConnectionResponse
|
ProviderConnectionResponse for API response. |
Source code in src/schemas/provider_schemas.py
ProviderConnectionListResponse
¶
Bases: BaseModel
Provider connection list response.
Attributes:
| Name | Type | Description |
|---|---|---|
connections |
list[ProviderConnectionResponse]
|
List of provider connections. |
total_count |
int
|
Total number of connections. |
active_count |
int
|
Number of active (usable) connections. |
Source code in src/schemas/provider_schemas.py
Functions¶
from_dto
classmethod
¶
Convert application DTO to response schema.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dto
|
ProviderConnectionListResult
|
ProviderConnectionListResult from handler. |
required |
Returns:
| Type | Description |
|---|---|
ProviderConnectionListResponse
|
ProviderConnectionListResponse for API response. |
Source code in src/schemas/provider_schemas.py
AuthorizationUrlResponse
¶
Bases: BaseModel
Response with OAuth authorization URL.
Attributes:
| Name | Type | Description |
|---|---|---|
authorization_url |
str
|
URL to redirect user for OAuth consent. |
state |
str
|
State parameter for CSRF protection (stored in cache). |
expires_in |
int
|
Seconds until state expires. |
Source code in src/schemas/provider_schemas.py
TokenRefreshResponse
¶
Bases: BaseModel
Response for token refresh operation.
Attributes:
| Name | Type | Description |
|---|---|---|
success |
bool
|
Whether refresh succeeded. |
message |
str
|
Human-readable result message. |
expires_at |
datetime | None
|
New token expiration time (if success). |
Source code in src/schemas/provider_schemas.py
ConnectProviderRequest
¶
Bases: BaseModel
Request to initiate provider connection.
Attributes:
| Name | Type | Description |
|---|---|---|
provider_slug |
str
|
Provider to connect (e.g., "schwab"). |
alias |
str | None
|
Optional user-defined nickname for the connection. |
redirect_uri |
str | None
|
Optional custom redirect URI (uses default if not provided). |
Source code in src/schemas/provider_schemas.py
RefreshProviderTokensRequest
¶
Bases: BaseModel
Request to refresh provider tokens.
Attributes:
| Name | Type | Description |
|---|---|---|
force |
bool
|
Force refresh even if token hasn't expired. |
Source code in src/schemas/provider_schemas.py
UpdateProviderConnectionRequest
¶
Bases: BaseModel
Request to update provider connection.
Attributes:
| Name | Type | Description |
|---|---|---|
alias |
str | None
|
New nickname for the connection. |