xenon_lib/wire/copy.rs
1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Serialize, Deserialize)]
4#[serde(untagged)]
5pub enum CopyMessagesRequestMode {
6 Before {
7 before: Option<String>,
8 message_count: Option<u32>,
9 },
10 After {
11 after: Option<String>,
12 message_count: Option<u32>,
13 },
14}
15
16#[derive(Clone, Debug, Serialize, Deserialize)]
17pub struct CopyMessagesRequest {
18 pub source_id: String,
19 pub target_id: String,
20 #[serde(flatten)]
21 pub mode: CopyMessagesRequestMode,
22}