use serde::{Deserialize, Serialize};
use super::EventDto;
#[derive(Debug, Deserialize)]
pub struct RegisterConsumerRequest {
pub consumer_id: String,
#[serde(default)]
pub event_type_filters: Vec<String>,
}
#[derive(Debug, Serialize)]
pub struct ConsumerResponse {
pub consumer_id: String,
pub event_type_filters: Vec<String>,
pub cursor_position: Option<u64>,
}
#[derive(Debug, Deserialize)]
pub struct AckRequest {
pub position: u64,
}
#[derive(Debug, Serialize)]
pub struct ConsumerEventsResponse {
pub events: Vec<ConsumerEventDto>,
pub count: usize,
}
#[derive(Debug, Serialize)]
pub struct ConsumerEventDto {
pub position: u64,
#[serde(flatten)]
pub event: EventDto,
}