1use serde::{Deserialize, Serialize};
4use chrono::{DateTime, Utc};
5use url::Url;
6
7use crate::item::SyncStatus;
8
9#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
12pub struct Event {
13 uid: String,
14 name: String,
15 sync_status: SyncStatus,
16}
17
18impl Event {
19 pub fn new() -> Self {
20 unimplemented!();
21 }
22
23 pub fn url(&self) -> &Url {
24 unimplemented!();
25 }
26
27 pub fn uid(&self) -> &str {
28 &self.uid
29 }
30
31 pub fn name(&self) -> &str {
32 &self.name
33 }
34
35 pub fn ical_prod_id(&self) -> &str {
36 unimplemented!()
37 }
38
39 pub fn creation_date(&self) -> Option<&DateTime<Utc>> {
40 unimplemented!()
41 }
42
43 pub fn last_modified(&self) -> &DateTime<Utc> {
44 unimplemented!()
45 }
46
47 pub fn sync_status(&self) -> &SyncStatus {
48 &self.sync_status
49 }
50 pub fn set_sync_status(&mut self, new_status: SyncStatus) {
51 self.sync_status = new_status;
52 }
53
54 #[cfg(any(test, feature = "integration_tests"))]
55 pub fn has_same_observable_content_as(&self, _other: &Event) -> bool {
56 unimplemented!();
57 }
58}