mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 07:02:24 +00:00
resourcetype: Proper namespace handling
This commit is contained in:
@@ -5,6 +5,7 @@ use derive_more::derive::{From, Into};
|
||||
use rustical_dav::{
|
||||
privileges::UserPrivilegeSet,
|
||||
resource::{Resource, ResourceService},
|
||||
xml::Resourcetype,
|
||||
};
|
||||
use rustical_store::{auth::User, AddressObject, AddressbookStore};
|
||||
use rustical_xml::{XmlDeserialize, XmlSerialize};
|
||||
@@ -54,8 +55,8 @@ impl Resource for AddressObjectResource {
|
||||
type Error = Error;
|
||||
type PrincipalResource = PrincipalResource;
|
||||
|
||||
fn get_resourcetype(&self) -> &'static [&'static str] {
|
||||
&[]
|
||||
fn get_resourcetype(&self) -> Resourcetype {
|
||||
Resourcetype { inner: &[] }
|
||||
}
|
||||
|
||||
fn get_prop(
|
||||
|
||||
@@ -11,6 +11,7 @@ use async_trait::async_trait;
|
||||
use derive_more::derive::{From, Into};
|
||||
use rustical_dav::privileges::UserPrivilegeSet;
|
||||
use rustical_dav::resource::{Resource, ResourceService};
|
||||
use rustical_dav::xml::{Resourcetype, ResourcetypeInner};
|
||||
use rustical_store::auth::User;
|
||||
use rustical_store::{Addressbook, AddressbookStore};
|
||||
use rustical_xml::{XmlDeserialize, XmlSerialize};
|
||||
@@ -68,9 +69,19 @@ impl Resource for AddressbookResource {
|
||||
type Error = Error;
|
||||
type PrincipalResource = PrincipalResource;
|
||||
|
||||
fn get_resourcetype(&self) -> &'static [&'static str] {
|
||||
// TODO: namespace
|
||||
&["collection", "CARD:addressbook"]
|
||||
fn get_resourcetype(&self) -> Resourcetype {
|
||||
Resourcetype {
|
||||
inner: &[
|
||||
ResourcetypeInner {
|
||||
ns: rustical_dav::namespace::NS_DAV,
|
||||
name: "collection",
|
||||
},
|
||||
ResourcetypeInner {
|
||||
ns: rustical_dav::namespace::NS_CARDDAV,
|
||||
name: "addressbook",
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
fn get_prop(
|
||||
|
||||
@@ -4,7 +4,7 @@ use actix_web::dev::ResourceMap;
|
||||
use async_trait::async_trait;
|
||||
use rustical_dav::privileges::UserPrivilegeSet;
|
||||
use rustical_dav::resource::{Resource, ResourceService};
|
||||
use rustical_dav::xml::HrefElement;
|
||||
use rustical_dav::xml::{HrefElement, Resourcetype, ResourcetypeInner};
|
||||
use rustical_store::auth::User;
|
||||
use rustical_store::AddressbookStore;
|
||||
use rustical_xml::{XmlDeserialize, XmlSerialize};
|
||||
@@ -58,8 +58,19 @@ impl Resource for PrincipalResource {
|
||||
type Error = Error;
|
||||
type PrincipalResource = PrincipalResource;
|
||||
|
||||
fn get_resourcetype(&self) -> &'static [&'static str] {
|
||||
&["collection", "principal"]
|
||||
fn get_resourcetype(&self) -> Resourcetype {
|
||||
Resourcetype {
|
||||
inner: &[
|
||||
ResourcetypeInner {
|
||||
ns: rustical_dav::namespace::NS_DAV,
|
||||
name: "collection",
|
||||
},
|
||||
ResourcetypeInner {
|
||||
ns: rustical_dav::namespace::NS_DAV,
|
||||
name: "principal",
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
fn get_prop(
|
||||
|
||||
Reference in New Issue
Block a user