mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 08:12:24 +00:00
calendar_object: Remove unnecessary serde implementation
This commit is contained in:
@@ -2,7 +2,6 @@ use super::{CalDateTime, EventObject, JournalObject, TodoObject};
|
|||||||
use crate::Error;
|
use crate::Error;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use ical::parser::{ical::component::IcalTimeZone, Component};
|
use ical::parser::{ical::component::IcalTimeZone, Component};
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use sha2::{Digest, Sha256};
|
use sha2::{Digest, Sha256};
|
||||||
use std::{collections::HashMap, io::BufReader};
|
use std::{collections::HashMap, io::BufReader};
|
||||||
|
|
||||||
@@ -28,42 +27,6 @@ pub struct CalendarObject {
|
|||||||
data: CalendarObjectComponent,
|
data: CalendarObjectComponent,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Custom implementation for CalendarObject (de)serialization
|
|
||||||
impl<'de> Deserialize<'de> for CalendarObject {
|
|
||||||
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
|
|
||||||
where
|
|
||||||
D: serde::Deserializer<'de>,
|
|
||||||
{
|
|
||||||
#[derive(Deserialize)]
|
|
||||||
struct Inner {
|
|
||||||
id: String,
|
|
||||||
ics: String,
|
|
||||||
}
|
|
||||||
let Inner { id, ics } = Inner::deserialize(deserializer)?;
|
|
||||||
Self::from_ics(id, ics).map_err(serde::de::Error::custom)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Serialize for CalendarObject {
|
|
||||||
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
|
|
||||||
where
|
|
||||||
S: serde::Serializer,
|
|
||||||
{
|
|
||||||
#[derive(Serialize)]
|
|
||||||
struct Inner {
|
|
||||||
id: String,
|
|
||||||
ics: String,
|
|
||||||
}
|
|
||||||
Inner::serialize(
|
|
||||||
&Inner {
|
|
||||||
id: self.get_id().to_string(),
|
|
||||||
ics: self.get_ics().to_string(),
|
|
||||||
},
|
|
||||||
serializer,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl CalendarObject {
|
impl CalendarObject {
|
||||||
pub fn from_ics(object_id: String, ics: String) -> Result<Self, Error> {
|
pub fn from_ics(object_id: String, ics: String) -> Result<Self, Error> {
|
||||||
let mut parser = ical::IcalParser::new(BufReader::new(ics.as_bytes()));
|
let mut parser = ical::IcalParser::new(BufReader::new(ics.as_bytes()));
|
||||||
|
|||||||
Reference in New Issue
Block a user