DAV file management delete

This commit is contained in:
mdecimus
2025-03-07 19:06:06 +01:00
parent eadd36f4cb
commit 110ec14fe6
40 changed files with 1162 additions and 416 deletions

View File

@@ -65,7 +65,7 @@ pub trait MailboxSet: Sync + Send {
changes_: Object<SetValue>,
update: Option<(u32, HashedValue<Mailbox>)>,
ctx: &SetContext,
) -> impl Future<Output = trc::Result<Result<ObjectIndexBuilder<Mailbox>, SetError>>> + Send;
) -> impl Future<Output = trc::Result<Result<ObjectIndexBuilder<Mailbox, Mailbox>, SetError>>> + Send;
}
impl MailboxSet for Server {
@@ -289,7 +289,7 @@ impl MailboxSet for Server {
changes_: Object<SetValue>,
update: Option<(u32, HashedValue<Mailbox>)>,
ctx: &SetContext<'_>,
) -> trc::Result<Result<ObjectIndexBuilder<Mailbox>, SetError>> {
) -> trc::Result<Result<ObjectIndexBuilder<Mailbox, Mailbox>, SetError>> {
// Parse properties
let mut changes = update
.as_ref()

View File

@@ -60,7 +60,15 @@ pub trait SieveScriptSet: Sync + Send {
ctx: &SetContext,
session_id: u64,
) -> impl Future<
Output = trc::Result<Result<(ObjectIndexBuilder<SieveScript>, Option<Vec<u8>>), SetError>>,
Output = trc::Result<
Result<
(
ObjectIndexBuilder<SieveScript, SieveScript>,
Option<Vec<u8>>,
),
SetError,
>,
>,
> + Send;
}
@@ -332,7 +340,15 @@ impl SieveScriptSet for Server {
update: Option<(u32, HashedValue<SieveScript>)>,
ctx: &SetContext<'_>,
session_id: u64,
) -> trc::Result<Result<(ObjectIndexBuilder<SieveScript>, Option<Vec<u8>>), SetError>> {
) -> trc::Result<
Result<
(
ObjectIndexBuilder<SieveScript, SieveScript>,
Option<Vec<u8>>,
),
SetError,
>,
> {
// Vacation script cannot be modified
if update
.as_ref()

View File

@@ -94,7 +94,7 @@ impl EmailSubmissionSet for Server {
.with_account_id(account_id)
.with_collection(Collection::EmailSubmission)
.create_document()
.custom(ObjectIndexBuilder::new().with_changes(submission))
.custom(ObjectIndexBuilder::<(), _>::new().with_changes(submission))
.caused_by(trc::location!())?;
let document_id = self
.store()
@@ -240,9 +240,9 @@ impl EmailSubmissionSet for Server {
.with_collection(Collection::EmailSubmission)
.delete_document(document_id)
.custom(
ObjectIndexBuilder::new().with_current(
ObjectIndexBuilder::<_, ()>::new().with_current(
submission
.into_deserialized::<EmailSubmission>()
.to_unarchived::<EmailSubmission>()
.caused_by(trc::location!())?,
),
)