diff --git a/crates/caldav/src/lib.rs b/crates/caldav/src/lib.rs index fc178ed..703e4ce 100644 --- a/crates/caldav/src/lib.rs +++ b/crates/caldav/src/lib.rs @@ -17,10 +17,8 @@ use tokio::sync::RwLock; pub mod depth_extractor; pub mod error; pub mod proptypes; -pub mod resource; pub mod resources; pub mod routes; -mod xml_snippets; pub struct CalDavContext { pub prefix: String, diff --git a/crates/caldav/src/resources/calendar.rs b/crates/caldav/src/resources/calendar.rs index 0a3c143..0e1399a 100644 --- a/crates/caldav/src/resources/calendar.rs +++ b/crates/caldav/src/resources/calendar.rs @@ -8,11 +8,8 @@ use rustical_auth::AuthInfo; use rustical_store::calendar::{Calendar, CalendarStore}; use tokio::sync::RwLock; -use crate::{ - proptypes::{write_href_prop, write_string_prop}, - resource::Resource, - xml_snippets::write_resourcetype, -}; +use crate::proptypes::{write_href_prop, write_string_prop}; +use rustical_dav::{resource::Resource, xml_snippets::write_resourcetype}; pub struct CalendarResource { pub cal_store: Arc>, diff --git a/crates/caldav/src/resources/event.rs b/crates/caldav/src/resources/event.rs index 2e6c3aa..bab336d 100644 --- a/crates/caldav/src/resources/event.rs +++ b/crates/caldav/src/resources/event.rs @@ -1,11 +1,11 @@ -use std::sync::Arc; - -use crate::{proptypes::write_string_prop, resource::Resource}; +use crate::proptypes::write_string_prop; use actix_web::{web::Data, HttpRequest}; use anyhow::{anyhow, Result}; use async_trait::async_trait; use rustical_auth::AuthInfo; +use rustical_dav::resource::Resource; use rustical_store::calendar::{CalendarStore, Event}; +use std::sync::Arc; use tokio::sync::RwLock; pub struct EventResource { diff --git a/crates/caldav/src/resources/principal.rs b/crates/caldav/src/resources/principal.rs index 5bca405..f7571df 100644 --- a/crates/caldav/src/resources/principal.rs +++ b/crates/caldav/src/resources/principal.rs @@ -1,11 +1,12 @@ use std::sync::Arc; -use crate::{proptypes::write_href_prop, resource::Resource, xml_snippets::write_resourcetype}; +use crate::proptypes::write_href_prop; use actix_web::{web::Data, HttpRequest}; use anyhow::{anyhow, Result}; use async_trait::async_trait; use quick_xml::events::BytesText; use rustical_auth::AuthInfo; +use rustical_dav::{resource::Resource, xml_snippets::write_resourcetype}; use rustical_store::calendar::CalendarStore; use tokio::sync::RwLock; diff --git a/crates/caldav/src/resources/root.rs b/crates/caldav/src/resources/root.rs index 294dead..64c2610 100644 --- a/crates/caldav/src/resources/root.rs +++ b/crates/caldav/src/resources/root.rs @@ -1,9 +1,9 @@ -use crate::{resource::Resource, xml_snippets::write_resourcetype}; use actix_web::HttpRequest; use anyhow::{anyhow, Result}; use async_trait::async_trait; use quick_xml::events::BytesText; use rustical_auth::AuthInfo; +use rustical_dav::{resource::Resource, xml_snippets::write_resourcetype}; pub struct RootResource { prefix: String, diff --git a/crates/caldav/src/routes/calendar.rs b/crates/caldav/src/routes/calendar.rs index c31d8fd..286a7e5 100644 --- a/crates/caldav/src/routes/calendar.rs +++ b/crates/caldav/src/routes/calendar.rs @@ -1,7 +1,4 @@ -use rustical_dav::namespace::Namespace; -use crate::resource::HandlePropfind; use crate::resources::event::EventResource; -use crate::xml_snippets::generate_multistatus; use crate::{CalDavContext, Error}; use actix_web::http::header::ContentType; use actix_web::web::{Data, Path}; @@ -10,6 +7,9 @@ use anyhow::Result; use quick_xml::events::BytesText; use roxmltree::{Node, NodeType}; use rustical_auth::{AuthInfoExtractor, CheckAuthentication}; +use rustical_dav::namespace::Namespace; +use rustical_dav::resource::HandlePropfind; +use rustical_dav::xml_snippets::generate_multistatus; use rustical_store::calendar::{Calendar, CalendarStore, Event}; use std::sync::Arc; use tokio::sync::RwLock; diff --git a/crates/caldav/src/routes/propfind.rs b/crates/caldav/src/routes/propfind.rs index 5c99ab3..026422d 100644 --- a/crates/caldav/src/routes/propfind.rs +++ b/crates/caldav/src/routes/propfind.rs @@ -1,6 +1,4 @@ use crate::depth_extractor::Depth; -use crate::resource::{HandlePropfind, Resource}; -use crate::xml_snippets::generate_multistatus; use crate::CalDavContext; use actix_web::http::header::ContentType; use actix_web::http::StatusCode; @@ -10,6 +8,8 @@ use anyhow::Result; use quick_xml::events::BytesText; use rustical_auth::{AuthInfoExtractor, CheckAuthentication}; use rustical_dav::namespace::Namespace; +use rustical_dav::resource::{HandlePropfind, Resource}; +use rustical_dav::xml_snippets::generate_multistatus; use rustical_store::calendar::CalendarStore; use thiserror::Error; diff --git a/crates/dav/Cargo.toml b/crates/dav/Cargo.toml index 9d08dd2..2390a06 100644 --- a/crates/dav/Cargo.toml +++ b/crates/dav/Cargo.toml @@ -4,4 +4,8 @@ version = "0.1.0" edition = "2021" [dependencies] +actix-web = "4.4.0" +anyhow = "1.0.75" +async-trait = "0.1.73" quick-xml = "0.30.0" +rustical_auth = { path = "../auth/" } diff --git a/crates/dav/src/lib.rs b/crates/dav/src/lib.rs index a0cb07f..7bc6409 100644 --- a/crates/dav/src/lib.rs +++ b/crates/dav/src/lib.rs @@ -1 +1,3 @@ pub mod namespace; +pub mod resource; +pub mod xml_snippets; diff --git a/crates/caldav/src/resource.rs b/crates/dav/src/resource.rs similarity index 100% rename from crates/caldav/src/resource.rs rename to crates/dav/src/resource.rs diff --git a/crates/caldav/src/xml_snippets.rs b/crates/dav/src/xml_snippets.rs similarity index 100% rename from crates/caldav/src/xml_snippets.rs rename to crates/dav/src/xml_snippets.rs