allsource_core/application/dto/
consumer_dto.rs1use serde::{Deserialize, Serialize};
2
3use super::EventDto;
4
5#[derive(Debug, Deserialize)]
7pub struct RegisterConsumerRequest {
8 pub consumer_id: String,
9 #[serde(default)]
10 pub event_type_filters: Vec<String>,
11}
12
13#[derive(Debug, Serialize)]
15pub struct ConsumerResponse {
16 pub consumer_id: String,
17 pub event_type_filters: Vec<String>,
18 pub cursor_position: Option<u64>,
19}
20
21#[derive(Debug, Deserialize)]
23pub struct AckRequest {
24 pub position: u64,
25}
26
27#[derive(Debug, Serialize)]
29pub struct ConsumerEventsResponse {
30 pub events: Vec<ConsumerEventDto>,
31 pub count: usize,
32}
33
34#[derive(Debug, Serialize)]
36pub struct ConsumerEventDto {
37 pub position: u64,
39 #[serde(flatten)]
40 pub event: EventDto,
41}