From bbe9113f5c7288c9a5d14641a123905572226ad0 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 8 Jun 2025 20:23:53 +0200 Subject: [PATCH] minor stuff --- crates/caldav/src/calendar/methods/post.rs | 18 +++++++++++++----- crates/caldav/src/calendar/resource.rs | 2 +- crates/store/src/auth/middleware.rs | 3 --- crates/xml/src/de.rs | 5 ++--- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/crates/caldav/src/calendar/methods/post.rs b/crates/caldav/src/calendar/methods/post.rs index ba75b0e..1edb953 100644 --- a/crates/caldav/src/calendar/methods/post.rs +++ b/crates/caldav/src/calendar/methods/post.rs @@ -1,7 +1,8 @@ use crate::Error; use crate::calendar::resource::{CalendarResource, CalendarResourceService}; use axum::extract::{Path, State}; -use axum::response::Response; +use axum::response::{IntoResponse, Response}; +use http::{HeaderMap, StatusCode, header}; use rustical_dav::privileges::UserPrivilege; use rustical_dav::resource::Resource; use rustical_dav_push::register::PushRegister; @@ -72,10 +73,17 @@ pub async fn route_post( .upsert_subscription(subscription) .await?; - let location = req - .resource_map() - .url_for(&req, "subscription", &[sub_id]) - .unwrap(); + // let location = req + // .resource_map() + // .url_for(&req, "subscription", &[sub_id]) + // .unwrap(); + // + let location = "asd"; + Ok(( + StatusCode::CREATED, + HeaderMap::from_iter([(header::LOCATION, location)]), + ) + .into_response()); Ok(HttpResponse::Created() .append_header((header::LOCATION, location.to_string())) diff --git a/crates/caldav/src/calendar/resource.rs b/crates/caldav/src/calendar/resource.rs index a5fd9c5..035b05a 100644 --- a/crates/caldav/src/calendar/resource.rs +++ b/crates/caldav/src/calendar/resource.rs @@ -343,7 +343,7 @@ impl ResourceService for CalendarResourc type Principal = User; type PrincipalUri = CalDavPrincipalUri; - const DAV_HEADER: &str = "1, 3, access-control, calendar-access"; + const DAV_HEADER: &str = "1, 3, access-control, calendar-access, webdav-push"; async fn get_resource( &self, diff --git a/crates/store/src/auth/middleware.rs b/crates/store/src/auth/middleware.rs index f8bc7d6..3766cad 100644 --- a/crates/store/src/auth/middleware.rs +++ b/crates/store/src/auth/middleware.rs @@ -1,11 +1,8 @@ -use crate::auth::User; - use super::AuthenticationProvider; use axum::{extract::Request, response::Response}; use futures_core::future::BoxFuture; use headers::{Authorization, HeaderMapExt, authorization::Basic}; use std::{ - pin::Pin, sync::Arc, task::{Context, Poll}, }; diff --git a/crates/xml/src/de.rs b/crates/xml/src/de.rs index dd259fb..edcf220 100644 --- a/crates/xml/src/de.rs +++ b/crates/xml/src/de.rs @@ -1,12 +1,11 @@ +use crate::XmlError; +use crate::XmlRootTag; use quick_xml::events::{BytesStart, Event}; use quick_xml::name::ResolveResult; use std::io::BufRead; pub use xml_derive::XmlDeserialize; pub use xml_derive::XmlDocument; -use crate::XmlRootTag; -use crate::{XmlError, XmlSerialize}; - pub trait XmlDeserialize: Sized { fn deserialize( reader: &mut quick_xml::NsReader,