use std::sync::Arc;
use crate::diagnostics::DiagnosticsContext;
use crate::models::CosmosStatus;
use crate::models::TransactionalBatchResponse;
use crate::models::{CosmosResponse, ResponseBody, ResponseHeaders};
use azure_core::fmt::SafeDebug;
#[derive(SafeDebug)]
#[safe(true)]
#[non_exhaustive]
pub struct BatchResponse {
response: CosmosResponse,
}
impl BatchResponse {
pub(crate) fn new(response: CosmosResponse) -> Self {
Self { response }
}
pub fn status(&self) -> CosmosStatus {
self.response.status()
}
pub fn headers(&self) -> &ResponseHeaders {
self.response.cosmos_headers()
}
pub fn into_body(self) -> ResponseBody {
self.response.into_body()
}
pub fn diagnostics(&self) -> Arc<DiagnosticsContext> {
self.response.diagnostics()
}
pub fn into_model(self) -> crate::Result<TransactionalBatchResponse> {
self.response.into_model()
}
}