mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 20:32:48 +00:00
run clippy fix
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use rustical_dav::extensions::CommonPropertiesProp;
|
||||
use rustical_xml::{EnumVariants, PropName, XmlDeserialize, XmlSerialize};
|
||||
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone, EnumVariants, PropName)]
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Eq, Clone, EnumVariants, PropName)]
|
||||
#[xml(unit_variants_ident = "AddressObjectPropName")]
|
||||
pub enum AddressObjectProp {
|
||||
// WebDAV (RFC 2518)
|
||||
|
||||
@@ -8,7 +8,7 @@ use rustical_store::{Addressbook, AddressbookStore, SubscriptionStore, auth::Pri
|
||||
use rustical_xml::{XmlDeserialize, XmlDocument, XmlRootTag};
|
||||
use tracing::instrument;
|
||||
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq)]
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq, Eq)]
|
||||
pub struct Resourcetype {
|
||||
#[xml(ns = "rustical_dav::namespace::NS_CARDDAV")]
|
||||
addressbook: Option<()>,
|
||||
@@ -16,7 +16,7 @@ pub struct Resourcetype {
|
||||
collection: Option<()>,
|
||||
}
|
||||
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq)]
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq, Eq)]
|
||||
pub struct MkcolAddressbookProp {
|
||||
#[xml(ns = "rustical_dav::namespace::NS_DAV")]
|
||||
resourcetype: Option<Resourcetype>,
|
||||
@@ -27,7 +27,7 @@ pub struct MkcolAddressbookProp {
|
||||
description: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq)]
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq, Eq)]
|
||||
pub struct PropElement<T: XmlDeserialize> {
|
||||
#[xml(ns = "rustical_dav::namespace::NS_DAV")]
|
||||
prop: T,
|
||||
@@ -53,13 +53,13 @@ pub async fn route_mkcol<AS: AddressbookStore, S: SubscriptionStore>(
|
||||
}
|
||||
|
||||
let mut request = MkcolRequest::parse_str(&body)?.set.prop;
|
||||
if let Some("") = request.displayname.as_deref() {
|
||||
request.displayname = None
|
||||
if request.displayname.as_deref() == Some("") {
|
||||
request.displayname = None;
|
||||
}
|
||||
|
||||
let addressbook = Addressbook {
|
||||
id: addressbook_id.to_owned(),
|
||||
principal: principal.to_owned(),
|
||||
id: addressbook_id.clone(),
|
||||
principal: principal.clone(),
|
||||
displayname: request.displayname,
|
||||
description: request.description,
|
||||
deleted_at: None,
|
||||
|
||||
@@ -45,12 +45,11 @@ pub async fn route_post<AS: AddressbookStore, S: SubscriptionStore>(
|
||||
};
|
||||
|
||||
let subscription = Subscription {
|
||||
id: sub_id.to_owned(),
|
||||
id: sub_id.clone(),
|
||||
push_resource: request
|
||||
.subscription
|
||||
.web_push_subscription
|
||||
.push_resource
|
||||
.to_owned(),
|
||||
.push_resource.clone(),
|
||||
topic: addressbook_resource.0.push_topic,
|
||||
expiration: expires.naive_local(),
|
||||
public_key: request
|
||||
|
||||
@@ -13,7 +13,7 @@ use rustical_ical::AddressObject;
|
||||
use rustical_store::{AddressbookStore, auth::Principal};
|
||||
use rustical_xml::XmlDeserialize;
|
||||
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq)]
|
||||
#[derive(XmlDeserialize, Clone, Debug, PartialEq, Eq)]
|
||||
#[allow(dead_code)]
|
||||
#[xml(ns = "rustical_dav::namespace::NS_DAV")]
|
||||
pub struct AddressbookMultigetRequest {
|
||||
@@ -35,7 +35,7 @@ pub async fn get_objects_addressbook_multiget<AS: AddressbookStore>(
|
||||
|
||||
for href in &addressbook_multiget.href {
|
||||
if let Some(filename) = href.strip_prefix(path) {
|
||||
let filename = filename.trim_start_matches("/");
|
||||
let filename = filename.trim_start_matches('/');
|
||||
if let Some(object_id) = filename.strip_suffix(".vcf") {
|
||||
match store
|
||||
.get_object(principal, addressbook_id, object_id, false)
|
||||
@@ -44,7 +44,7 @@ pub async fn get_objects_addressbook_multiget<AS: AddressbookStore>(
|
||||
Ok(object) => result.push(object),
|
||||
Err(rustical_store::Error::NotFound) => not_found.push(href.to_owned()),
|
||||
Err(err) => return Err(err.into()),
|
||||
};
|
||||
}
|
||||
} else {
|
||||
not_found.push(href.to_owned());
|
||||
continue;
|
||||
|
||||
@@ -26,10 +26,10 @@ pub(crate) enum ReportRequest {
|
||||
}
|
||||
|
||||
impl ReportRequest {
|
||||
fn props(&self) -> &PropfindType<AddressObjectPropWrapperName> {
|
||||
const fn props(&self) -> &PropfindType<AddressObjectPropWrapperName> {
|
||||
match self {
|
||||
ReportRequest::AddressbookMultiget(AddressbookMultigetRequest { prop, .. }) => prop,
|
||||
ReportRequest::SyncCollection(SyncCollectionRequest { prop, .. }) => prop,
|
||||
Self::AddressbookMultiget(AddressbookMultigetRequest { prop, .. }) => prop,
|
||||
Self::SyncCollection(SyncCollectionRequest { prop, .. }) => prop,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ pub enum AddressbookPropWrapper {
|
||||
Common(CommonPropertiesProp),
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, XmlSerialize, PartialEq)]
|
||||
#[derive(Debug, Clone, XmlSerialize, PartialEq, Eq)]
|
||||
pub struct AddressDataType {
|
||||
#[xml(ty = "attr")]
|
||||
pub content_type: &'static str,
|
||||
@@ -37,7 +37,7 @@ pub struct AddressDataType {
|
||||
pub version: &'static str,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, XmlSerialize, PartialEq)]
|
||||
#[derive(Debug, Clone, XmlSerialize, PartialEq, Eq)]
|
||||
pub struct SupportedAddressData {
|
||||
#[xml(ns = "rustical_dav::namespace::NS_CARDDAV", flatten)]
|
||||
address_data_type: &'static [AddressDataType],
|
||||
@@ -60,7 +60,7 @@ impl Default for SupportedAddressData {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, XmlSerialize, PartialEq, VariantArray)]
|
||||
#[derive(Debug, Clone, XmlSerialize, PartialEq, Eq, VariantArray)]
|
||||
pub enum ReportMethod {
|
||||
#[xml(ns = "rustical_dav::namespace::NS_CARDDAV")]
|
||||
AddressbookMultiget,
|
||||
|
||||
@@ -17,7 +17,7 @@ pub struct AddressbookResource(pub(crate) Addressbook);
|
||||
|
||||
impl ResourceName for AddressbookResource {
|
||||
fn get_name(&self) -> String {
|
||||
self.0.id.to_owned()
|
||||
self.0.id.clone()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ impl SyncTokenExtension for AddressbookResource {
|
||||
|
||||
impl DavPushExtension for AddressbookResource {
|
||||
fn get_topic(&self) -> String {
|
||||
self.0.push_topic.to_owned()
|
||||
self.0.push_topic.clone()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ impl Resource for AddressbookResource {
|
||||
AddressbookProp::SupportedReportSet(SupportedReportSet::all())
|
||||
}
|
||||
AddressbookPropName::AddressbookDescription => {
|
||||
AddressbookProp::AddressbookDescription(self.0.description.to_owned())
|
||||
AddressbookProp::AddressbookDescription(self.0.description.clone())
|
||||
}
|
||||
AddressbookPropName::SupportedAddressData => {
|
||||
AddressbookProp::SupportedAddressData(SupportedAddressData::default())
|
||||
|
||||
@@ -26,7 +26,7 @@ pub struct AddressbookResourceService<AS: AddressbookStore, S: SubscriptionStore
|
||||
}
|
||||
|
||||
impl<A: AddressbookStore, S: SubscriptionStore> AddressbookResourceService<A, S> {
|
||||
pub fn new(addr_store: Arc<A>, sub_store: Arc<S>) -> Self {
|
||||
pub const fn new(addr_store: Arc<A>, sub_store: Arc<S>) -> Self {
|
||||
Self {
|
||||
addr_store,
|
||||
sub_store,
|
||||
|
||||
@@ -30,20 +30,20 @@ pub enum Error {
|
||||
}
|
||||
|
||||
impl Error {
|
||||
pub fn status_code(&self) -> StatusCode {
|
||||
#[must_use] pub const fn status_code(&self) -> StatusCode {
|
||||
match self {
|
||||
Error::StoreError(err) => match err {
|
||||
Self::StoreError(err) => match err {
|
||||
rustical_store::Error::NotFound => StatusCode::NOT_FOUND,
|
||||
rustical_store::Error::AlreadyExists => StatusCode::CONFLICT,
|
||||
rustical_store::Error::ReadOnly => StatusCode::FORBIDDEN,
|
||||
_ => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
},
|
||||
Error::ChronoParseError(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Error::DavError(err) => err.status_code(),
|
||||
Error::Unauthorized => StatusCode::UNAUTHORIZED,
|
||||
Error::XmlDecodeError(_) => StatusCode::BAD_REQUEST,
|
||||
Error::NotImplemented => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Error::NotFound => StatusCode::NOT_FOUND,
|
||||
Self::ChronoParseError(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Self::DavError(err) => err.status_code(),
|
||||
Self::Unauthorized => StatusCode::UNAUTHORIZED,
|
||||
Self::XmlDecodeError(_) => StatusCode::BAD_REQUEST,
|
||||
Self::NotImplemented => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Self::NotFound => StatusCode::NOT_FOUND,
|
||||
Self::IcalError(err) => err.status_code(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,15 +38,15 @@ pub fn carddav_router<AP: AuthenticationProvider, A: AddressbookStore, S: Subscr
|
||||
subscription_store: Arc<S>,
|
||||
) -> Router {
|
||||
let principal_service = PrincipalResourceService::new(
|
||||
store.clone(),
|
||||
store,
|
||||
auth_provider.clone(),
|
||||
subscription_store.clone(),
|
||||
subscription_store,
|
||||
);
|
||||
Router::new()
|
||||
.nest(
|
||||
prefix,
|
||||
RootResourceService::<_, Principal, CardDavPrincipalUri>::new(
|
||||
principal_service.clone(),
|
||||
principal_service,
|
||||
)
|
||||
.axum_router()
|
||||
.layer(AuthenticationLayer::new(auth_provider))
|
||||
|
||||
@@ -20,7 +20,7 @@ pub struct PrincipalResource {
|
||||
|
||||
impl ResourceName for PrincipalResource {
|
||||
fn get_name(&self) -> String {
|
||||
self.principal.id.to_owned()
|
||||
self.principal.id.clone()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ use rustical_dav::{
|
||||
};
|
||||
use rustical_xml::{EnumVariants, PropName, XmlDeserialize, XmlSerialize};
|
||||
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone, EnumVariants, PropName)]
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Eq, Clone, EnumVariants, PropName)]
|
||||
#[xml(unit_variants_ident = "PrincipalPropName")]
|
||||
pub enum PrincipalProp {
|
||||
// WebDAV Access Control (RFC 3744)
|
||||
@@ -27,7 +27,7 @@ pub enum PrincipalProp {
|
||||
PrincipalAddress(Option<HrefElement>),
|
||||
}
|
||||
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone)]
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Eq, Clone)]
|
||||
pub struct AddressbookHomeSet(#[xml(ty = "untagged", flatten)] pub Vec<HrefElement>);
|
||||
|
||||
#[derive(XmlDeserialize, XmlSerialize, PartialEq, Clone, EnumVariants, PropName)]
|
||||
|
||||
@@ -34,7 +34,7 @@ impl<A: AddressbookStore, AP: AuthenticationProvider, S: SubscriptionStore> Clon
|
||||
impl<A: AddressbookStore, AP: AuthenticationProvider, S: SubscriptionStore>
|
||||
PrincipalResourceService<A, AP, S>
|
||||
{
|
||||
pub fn new(addr_store: Arc<A>, auth_provider: Arc<AP>, sub_store: Arc<S>) -> Self {
|
||||
pub const fn new(addr_store: Arc<A>, auth_provider: Arc<AP>, sub_store: Arc<S>) -> Self {
|
||||
Self {
|
||||
addr_store,
|
||||
auth_provider,
|
||||
|
||||
Reference in New Issue
Block a user