From f49769858958990d377c145805957c6b4ceee7d4 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 28 Jul 2024 21:03:02 +0200 Subject: [PATCH] minor refactoring --- .../calendar/methods/report/calendar_multiget.rs | 6 +----- .../src/calendar/methods/report/calendar_query.rs | 6 +----- .../src/calendar/methods/report/sync_collection.rs | 6 +----- crates/dav/src/methods/propfind.rs | 11 ++++------- crates/dav/src/methods/proppatch.rs | 10 ++-------- crates/dav/src/xml/multistatus.rs | 14 +++++++++++++- 6 files changed, 22 insertions(+), 31 deletions(-) diff --git a/crates/caldav/src/calendar/methods/report/calendar_multiget.rs b/crates/caldav/src/calendar/methods/report/calendar_multiget.rs index df5f9f5..7e40a5e 100644 --- a/crates/caldav/src/calendar/methods/report/calendar_multiget.rs +++ b/crates/caldav/src/calendar/methods/report/calendar_multiget.rs @@ -5,7 +5,6 @@ use crate::{ use actix_web::HttpRequest; use rustical_dav::{ methods::propfind::{PropElement, PropfindType}, - namespace::Namespace, resource::HandlePropfind, xml::{multistatus::PropstatWrapper, MultistatusElement}, }; @@ -67,9 +66,6 @@ pub async fn handle_calendar_multiget( Ok(MultistatusElement { responses, - member_responses: vec![], - ns_dav: Namespace::Dav.as_str(), - ns_caldav: Namespace::CalDAV.as_str(), - ns_ical: Namespace::ICal.as_str(), + ..Default::default() }) } diff --git a/crates/caldav/src/calendar/methods/report/calendar_query.rs b/crates/caldav/src/calendar/methods/report/calendar_query.rs index a9f498e..61cfae9 100644 --- a/crates/caldav/src/calendar/methods/report/calendar_query.rs +++ b/crates/caldav/src/calendar/methods/report/calendar_query.rs @@ -1,7 +1,6 @@ use actix_web::HttpRequest; use rustical_dav::{ methods::propfind::{PropElement, PropfindType}, - namespace::Namespace, resource::HandlePropfind, xml::{multistatus::PropstatWrapper, MultistatusElement}, }; @@ -135,9 +134,6 @@ pub async fn handle_calendar_query( Ok(MultistatusElement { responses, - member_responses: vec![], - ns_dav: Namespace::Dav.as_str(), - ns_caldav: Namespace::CalDAV.as_str(), - ns_ical: Namespace::ICal.as_str(), + ..Default::default() }) } diff --git a/crates/caldav/src/calendar/methods/report/sync_collection.rs b/crates/caldav/src/calendar/methods/report/sync_collection.rs index 1f14719..e4f36a5 100644 --- a/crates/caldav/src/calendar/methods/report/sync_collection.rs +++ b/crates/caldav/src/calendar/methods/report/sync_collection.rs @@ -1,7 +1,6 @@ use actix_web::HttpRequest; use rustical_dav::{ methods::propfind::{PropElement, PropfindType}, - namespace::Namespace, resource::HandlePropfind, xml::{multistatus::PropstatWrapper, MultistatusElement}, }; @@ -81,9 +80,6 @@ pub async fn handle_sync_collection( Ok(MultistatusElement { responses, - member_responses: vec![], - ns_dav: Namespace::Dav.as_str(), - ns_caldav: Namespace::CalDAV.as_str(), - ns_ical: Namespace::ICal.as_str(), + ..Default::default() }) } diff --git a/crates/dav/src/methods/propfind.rs b/crates/dav/src/methods/propfind.rs index 496ecea..3c2ab35 100644 --- a/crates/dav/src/methods/propfind.rs +++ b/crates/dav/src/methods/propfind.rs @@ -1,13 +1,13 @@ use crate::depth_extractor::Depth; -use crate::namespace::Namespace; use crate::resource::HandlePropfind; +use crate::resource::Resource; use crate::resource::ResourceService; +use crate::xml::multistatus::PropstatWrapper; use crate::xml::MultistatusElement; use crate::xml::TagList; use crate::Error; use actix_web::web::{Data, Path}; use actix_web::HttpRequest; -use actix_web::Responder; use log::debug; use rustical_auth::{AuthInfoExtractor, CheckAuthentication}; use serde::Deserialize; @@ -44,7 +44,7 @@ pub async fn route_propfind prefix: Data, auth: AuthInfoExtractor, depth: Depth, -) -> Result { +) -> Result::Prop>, String>, R::Error> { debug!("{body}"); let auth_info = auth.inner; let prefix = prefix.0.to_owned(); @@ -86,9 +86,6 @@ pub async fn route_propfind Ok(MultistatusElement { responses: vec![response], - member_responses, - ns_dav: Namespace::Dav.as_str(), - ns_caldav: Namespace::CalDAV.as_str(), - ns_ical: Namespace::ICal.as_str(), + ..Default::default() }) } diff --git a/crates/dav/src/methods/proppatch.rs b/crates/dav/src/methods/proppatch.rs index 8d763fc..962dfb2 100644 --- a/crates/dav/src/methods/proppatch.rs +++ b/crates/dav/src/methods/proppatch.rs @@ -1,6 +1,3 @@ -use std::str::FromStr; - -use crate::namespace::Namespace; use crate::resource::InvalidProperty; use crate::resource::Resource; use crate::resource::ResourceService; @@ -14,6 +11,7 @@ use actix_web::{web::Path, HttpRequest}; use log::debug; use rustical_auth::{AuthInfoExtractor, CheckAuthentication}; use serde::{Deserialize, Serialize}; +use std::str::FromStr; // https://docs.rs/quick-xml/latest/quick_xml/de/index.html#normal-enum-variant #[derive(Deserialize, Serialize, Clone, Debug)] @@ -154,10 +152,6 @@ pub async fn route_proppatch { pub ns_ical: &'static str, } +impl Default for MultistatusElement { + fn default() -> Self { + Self { + responses: vec![], + member_responses: vec![], + ns_dav: Namespace::Dav.as_str(), + ns_caldav: Namespace::CalDAV.as_str(), + ns_ical: Namespace::ICal.as_str(), + } + } +} + impl Responder for MultistatusElement { type Body = BoxBody;