Skip to content

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_fetch_request(request: Request, body: dict)

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_fetch_request(request: Request, id: str)

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_fetch_request(request: Request, id: str)

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

1
2
3
list_fetch_requests(
    request: Request, offset: int = 0, limit: int = 100
)

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

update_fetch_request(request: Request, id: str, body: dict)

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

1
2
3
update_fetch_request_put(
    request: Request, id: str, body: dict
)

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.