JMAP for Calendars passing tests

This commit is contained in:
mdecimus
2025-10-16 16:55:56 +02:00
parent 96d2947cdd
commit 81b266797d
31 changed files with 2331 additions and 132 deletions

View File

@@ -50,6 +50,7 @@ pub struct GroupwareConfig {
// Sharing settings
pub max_shares_per_item: usize,
pub allow_directory_query: bool,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Hash)]
@@ -182,6 +183,9 @@ impl GroupwareConfig {
None
},
max_shares_per_item: config.property("sharing.max-shares-per-item").unwrap_or(10),
allow_directory_query: config
.property("sharing.allow-directory-query")
.unwrap_or(false),
itip_http_rsvp_expiration: config
.property_or_default::<Duration>("calendar.scheduling.http-rsvp.expiration", "90d")
.map(|d| d.as_secs())

View File

@@ -83,7 +83,8 @@ impl JmapConfig {
max_calendars_per_event: None,
min_date_time: UTCDate::from_timestamp(DateTime::<Utc>::MIN_UTC.timestamp()),
max_date_time: UTCDate::from_timestamp(DateTime::<Utc>::MAX_UTC.timestamp()),
max_expanded_query_duration: ICalendarDuration::from_seconds(86400 * 365),
max_expanded_query_duration: ICalendarDuration::from_seconds(86400 * 365)
.to_string(),
max_participants_per_event: groupware_config.max_ical_attendees_per_instance.into(),
may_create_calendar: true,
}),
@@ -152,7 +153,7 @@ impl JmapConfig {
self.capabilities.account.insert(
Capability::PrincipalsAvailability,
Capabilities::PrincipalsAvailability(PrincipalAvailabilityCapabilities {
max_availability_duration: ICalendarDuration::from_seconds(86400 * 365),
max_availability_duration: ICalendarDuration::from_seconds(86400 * 365).to_string(),
}),
);