diff --git a/src/core/set.rs b/src/core/set.rs index d22e50b..b8f3025 100644 --- a/src/core/set.rs +++ b/src/core/set.rs @@ -53,7 +53,7 @@ pub struct SetResponse { old_state: Option, #[serde(rename = "newState")] - new_state: Option, + new_state: String, #[serde(rename = "created")] created: Option>, @@ -230,12 +230,12 @@ impl SetResponse { self.old_state.as_deref() } - pub fn new_state(&self) -> Option<&str> { - self.new_state.as_deref() + pub fn new_state(&self) -> &str { + self.new_state.as_ref() } - pub fn take_new_state(&mut self) -> Option { - self.new_state.take() + pub fn take_new_state(&mut self) -> String { + std::mem::take(&mut self.new_state) } pub fn created(&mut self, id: &str) -> crate::Result { diff --git a/src/email/import.rs b/src/email/import.rs index d2726ee..e03fbbe 100644 --- a/src/email/import.rs +++ b/src/email/import.rs @@ -159,6 +159,10 @@ impl EmailImportResponse { &self.new_state } + pub fn take_new_state(&mut self) -> String { + std::mem::take(&mut self.new_state) + } + pub fn created(&mut self, id: &str) -> crate::Result { if let Some(result) = self.created.as_mut().and_then(|r| r.remove(id)) { Ok(result)