Skip to main content

Module bulk

Module bulk 

Source
Expand description

Bulk operation envelope types for batch API endpoints.

BulkRequest<T> wraps a collection of items for a batch operation. BulkResponse<T> holds per-item BulkItemResult<T> variants so callers can inspect which items succeeded and which failed without unwrapping a single top-level error.

use api_bones::bulk::{BulkRequest, BulkResponse, BulkItemResult};
use api_bones::ApiError;

let request: BulkRequest<i32> = BulkRequest { items: vec![1, 2, 3] };
assert_eq!(request.items.len(), 3);

let results: Vec<BulkItemResult<String>> = vec![
    BulkItemResult::Success { data: "ok".to_string() },
    BulkItemResult::Failure { index: 1, error: Box::new(ApiError::not_found("item 2 not found")) },
];
let response: BulkResponse<String> = BulkResponse { results };
assert_eq!(response.succeeded_count(), 1);
assert_eq!(response.failed_count(), 1);
assert!(response.has_failures());

Structs§

BulkRequest
A batch of items to be processed in a single API call.
BulkResponse
The response to a BulkRequest, containing per-item results.

Enums§

BulkItemResult
The outcome of processing a single item in a BulkRequest.