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§
- Bulk
Request - A batch of items to be processed in a single API call.
- Bulk
Response - The response to a
BulkRequest, containing per-item results.
Enums§
- Bulk
Item Result - The outcome of processing a single item in a
BulkRequest.