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}