Service
domain.fetch_request.ports.service
Summary
Service port for fetch requests.
Exposes a Hexa-built CRUD service with stage-saving helpers used by the fetch pipeline orchestrator.
Classes
FetchRequestCrudsService
Bases: CrudsServiceAdaptor[FetchRequest, FetchRequestDocument]
CRUD service for fetch requests with pipeline stage helpers.
Attributes:
| Name | Type | Description |
|---|---|---|
model |
FetchRequest
|
Domain model class. |
schema |
FetchRequestDocument
|
Persistence document class. |
Functions
save_enrichment
async
Persist the enriched expense dicts on the request source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
PyObjectId
|
Fetch request id. |
required |
enrichment_dicts |
list
|
Enriched expense dicts. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
None |
None
|
Nothing. |
save_raw_lines
async
Persist the extracted raw lines on the request source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
PyObjectId
|
Fetch request id. |
required |
raw_lines |
list
|
Raw OCR/text lines. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
None |
None
|
Nothing. |
save_txn_blocks
async
Persist the extracted transaction blocks on the request source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
PyObjectId
|
Fetch request id. |
required |
txn_blocks |
dict
|
Transaction blocks keyed by order id. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
None |
None
|
Nothing. |
save_txn_dicts
async
Persist the parsed transaction dicts and count on the request source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
PyObjectId
|
Fetch request id. |
required |
txn_dicts |
list
|
Raw expense dicts. |
required |
txn_dicts_count |
int
|
Number of parsed transaction dicts. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
None |
None
|
Nothing. |
update_status
async
Update the request status, optionally carrying failure detail.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id |
PyObjectId
|
Fetch request id. |
required |
status |
str
|
New status value. |
required |
error_message |
Optional[str]
|
Message recorded when failing. |
None
|
retry_count |
Optional[int]
|
Retry counter recorded when failing. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
Functions
get_fetch_request_service
Build the fetch request CRUD service bound to a repo.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
repo |
Repository instance used for persistence. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
FetchRequestCrudsService |
FetchRequestCrudsService
|
The wired service. |