From d9b9b0825c44f826f7e7dd2acb67738a1f7463a4 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:47:00 +0100 Subject: [PATCH] put synctoken into common module --- .../calendar/methods/report/sync_collection.rs | 2 +- .../methods/report/sync_collection.rs | 2 +- crates/store/src/addressbook/addressbook.rs | 16 +--------------- crates/store/src/calendar/calendar.rs | 15 +-------------- crates/store/src/lib.rs | 1 + crates/store/src/synctoken.rs | 13 +++++++++++++ 6 files changed, 18 insertions(+), 31 deletions(-) create mode 100644 crates/store/src/synctoken.rs diff --git a/crates/caldav/src/calendar/methods/report/sync_collection.rs b/crates/caldav/src/calendar/methods/report/sync_collection.rs index 265c5d5..778e2fb 100644 --- a/crates/caldav/src/calendar/methods/report/sync_collection.rs +++ b/crates/caldav/src/calendar/methods/report/sync_collection.rs @@ -8,7 +8,7 @@ use rustical_dav::{ }, }; use rustical_store::{ - calendar::{format_synctoken, parse_synctoken}, + synctoken::{format_synctoken, parse_synctoken}, CalendarStore, }; use serde::Deserialize; diff --git a/crates/carddav/src/addressbook/methods/report/sync_collection.rs b/crates/carddav/src/addressbook/methods/report/sync_collection.rs index c943580..bfae058 100644 --- a/crates/carddav/src/addressbook/methods/report/sync_collection.rs +++ b/crates/carddav/src/addressbook/methods/report/sync_collection.rs @@ -12,7 +12,7 @@ use rustical_dav::{ }, }; use rustical_store::{ - addressbook::{format_synctoken, parse_synctoken}, + synctoken::{format_synctoken, parse_synctoken}, AddressbookStore, }; use serde::Deserialize; diff --git a/crates/store/src/addressbook/addressbook.rs b/crates/store/src/addressbook/addressbook.rs index 5c3c899..f49c2fc 100644 --- a/crates/store/src/addressbook/addressbook.rs +++ b/crates/store/src/addressbook/addressbook.rs @@ -1,3 +1,4 @@ +use crate::synctoken::format_synctoken; use chrono::NaiveDateTime; #[derive(Debug, Clone)] @@ -15,18 +16,3 @@ impl Addressbook { format_synctoken(self.synctoken) } } - -// TODO: make nicer -const SYNC_NAMESPACE: &str = "github.com/lennart-k/rustical/ns/"; - -pub fn format_synctoken(synctoken: i64) -> String { - format!("{}{}", SYNC_NAMESPACE, synctoken) -} - -pub fn parse_synctoken(synctoken: &str) -> Option { - if !synctoken.starts_with(SYNC_NAMESPACE) { - return None; - } - let (_, synctoken) = synctoken.split_at(SYNC_NAMESPACE.len()); - synctoken.parse::().ok() -} diff --git a/crates/store/src/calendar/calendar.rs b/crates/store/src/calendar/calendar.rs index a20a033..3baaeaf 100644 --- a/crates/store/src/calendar/calendar.rs +++ b/crates/store/src/calendar/calendar.rs @@ -1,3 +1,4 @@ +use crate::synctoken::format_synctoken; use chrono::NaiveDateTime; use serde::{Deserialize, Serialize}; @@ -19,17 +20,3 @@ impl Calendar { format_synctoken(self.synctoken) } } - -const SYNC_NAMESPACE: &str = "github.com/lennart-k/rustical/ns/"; - -pub fn format_synctoken(synctoken: i64) -> String { - format!("{}{}", SYNC_NAMESPACE, synctoken) -} - -pub fn parse_synctoken(synctoken: &str) -> Option { - if !synctoken.starts_with(SYNC_NAMESPACE) { - return None; - } - let (_, synctoken) = synctoken.split_at(SYNC_NAMESPACE.len()); - synctoken.parse::().ok() -} diff --git a/crates/store/src/lib.rs b/crates/store/src/lib.rs index 5d6fc48..87fd225 100644 --- a/crates/store/src/lib.rs +++ b/crates/store/src/lib.rs @@ -6,6 +6,7 @@ pub mod timestamp; pub use error::Error; pub mod auth; pub mod calendar; +pub mod synctoken; pub use addressbook_store::AddressbookStore; pub use calendar_store::CalendarStore; diff --git a/crates/store/src/synctoken.rs b/crates/store/src/synctoken.rs new file mode 100644 index 0000000..5d1b46e --- /dev/null +++ b/crates/store/src/synctoken.rs @@ -0,0 +1,13 @@ +const SYNC_NAMESPACE: &str = "github.com/lennart-k/rustical/ns/"; + +pub fn format_synctoken(synctoken: i64) -> String { + format!("{}{}", SYNC_NAMESPACE, synctoken) +} + +pub fn parse_synctoken(synctoken: &str) -> Option { + if !synctoken.starts_with(SYNC_NAMESPACE) { + return None; + } + let (_, synctoken) = synctoken.split_at(SYNC_NAMESPACE.len()); + synctoken.parse::().ok() +}