Routes
interfaces.fetch_request.routes
Summary
Fetch request REST handlers — thin API entry points for the fetch request resource, wired to openapi.yaml operationIds by the OpenAPI-first router. Deletion cascades to related expenses, ambiguities, and the HTTP cache.
Classes
Functions
create_fetch_request
async
Create a new fetch request.
A stable fingerprint is derived from the source payload and stored on the document when the payload does not already provide one.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request |
Request
|
Incoming HTTP request; carries app.state.db_resources. |
required |
body |
dict
|
Fetch request payload forwarded to the service. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
FetchRequestDocument |
The created fetch request. |
delete_fetch_request
async
Delete a fetch request and its dependent data.
Cascades deletes to related expenses and ambiguities, removes the fetch request, and invalidates the expenses HTTP cache.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request |
Request
|
Incoming HTTP request; carries app.state.db_resources. |
required |
id |
str
|
Fetch request id. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Response |
Empty 204 response on successful delete. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
404 when no fetch request matches the id. |
get_fetch_request
async
Get a fetch request by id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request |
Request
|
Incoming HTTP request; carries app.state.db_resources. |
required |
id |
str
|
Fetch request id. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
FetchRequestDocument |
The matching fetch request. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
404 when no fetch request matches the id. |
list_fetch_requests
async
List fetch requests with pagination.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request |
Request
|
Incoming HTTP request; carries app.state.db_resources. |
required |
offset |
int
|
Number of fetch requests to skip (offset). Defaults to 0. |
0
|
limit |
int
|
Maximum number of fetch requests to return. Defaults to 100. |
100
|
Returns:
| Type | Description |
|---|---|
|
list[FetchRequestDocument]: Matching fetch requests from the service. |
update_fetch_request
async
Patch a fetch request's status and retry bookkeeping.
Delegates to FetchRequestCrudsService.update_status with the status, error_message, and retry_count fields from the payload, then returns the refreshed document.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request |
Request
|
Incoming HTTP request; carries app.state.db_resources. |
required |
id |
str
|
Fetch request id. |
required |
body |
dict
|
Payload with status, error_message, and retry_count fields. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
FetchRequestDocument |
The refreshed fetch request. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
404 when no fetch request matches the id. |
update_fetch_request_put
async
Replace a fetch request by id.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request |
Request
|
Incoming HTTP request; carries app.state.db_resources. |
required |
id |
str
|
Fetch request id. |
required |
body |
dict
|
Full fetch request payload forwarded to the service. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
FetchRequestDocument |
The updated fetch request. |
Raises:
| Type | Description |
|---|---|
HTTPException
|
404 when no fetch request matches the id. |