use super::types::{OperationStats, QueueInfo, QueueType};
use crate::bulk_operations::{BulkOperationResult, MessageIdentifier};
use crate::model::MessageModel;
#[derive(Debug)]
pub enum ServiceBusResponse {
QueueSwitched {
queue_info: QueueInfo,
},
CurrentQueue {
queue_info: Option<QueueInfo>,
},
QueueStatistics {
queue_name: String,
queue_type: QueueType,
active_message_count: Option<u64>,
dead_letter_message_count: Option<u64>,
retrieved_at: chrono::DateTime<chrono::Utc>,
},
MessagesReceived {
messages: Vec<MessageModel>,
},
ReceivedMessages {
messages: Vec<azservicebus::ServiceBusReceivedMessage>,
},
MessageCompleted {
message_id: String,
},
MessageAbandoned {
message_id: String,
},
MessageDeadLettered {
message_id: String,
},
BulkOperationCompleted {
result: BulkOperationResult,
},
BulkMessagesCompleted {
successful_ids: Vec<MessageIdentifier>,
failed_ids: Vec<MessageIdentifier>,
stats: OperationStats,
},
BulkMessagesAbandoned {
successful_ids: Vec<MessageIdentifier>,
failed_ids: Vec<MessageIdentifier>,
stats: OperationStats,
},
BulkMessagesDeadLettered {
successful_ids: Vec<MessageIdentifier>,
failed_ids: Vec<MessageIdentifier>,
stats: OperationStats,
},
MessageSent {
queue_name: String,
},
MessagesSent {
queue_name: String,
count: usize,
stats: OperationStats,
},
ConnectionStatus {
connected: bool,
current_queue: Option<QueueInfo>,
last_error: Option<String>,
},
QueueStats {
queue_name: String,
message_count: Option<u64>,
active_consumer: bool,
},
ConsumerDisposed,
AllResourcesDisposed,
ResourcesDisposed,
ConnectionReset,
Success,
Error {
error: super::errors::ServiceBusError,
},
}