Add missing ACLs for deleted calendar objects to fix deletion
Due to a bug in Sabre it's necessary for calendar objects to implement
ACLs. Otherwise the scheduling plugin will throw an error when it tries
to fetch the owner of a calendar object that is being deleted.
Ref https://github.com/sabre-io/dav/issues/1345
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Expose calendar-uri as property of deleted caldav events
The trashbin is one report across all calendars of a user. In order to
refresh the data of a single calendar when one of its events is
restored, we need to know what calendar the event belongs to. There
doesn't seem to be a standard property for a URI, so this adds a custom
Nextcloud prop for the calendar-uri.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Internally it is valid to provide multiple values for a property as
plain string. An exampe is given in the PhpDoc of
AddressBookImpl::search().
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Exclusively use the typed calendar deletion events for DAV
We had both in places, but the old one isn't used anywhere outside this
app, so it's time to migrate the code.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Only set copy etag if the destination source can be found
The etag is only set for files, but it's also possible that in edge
cases the copy destination node can't be found. In that case we don't
need to set any etag.
Required for #26083
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Delete old birthday calendar object when moving contact to another address book
When an contact is moved to another address book, the contact is copied to
the second address book.
During copying, the birthday event is created - but it gets the same UID
as the contact's birthday event in the first address book.
To prevent the "Calendar object with uid already exists" error that followed,
we need to delete the old entry before the new one is created.
Resolves: https://github.com/nextcloud/server/issues/20492
Signed-off-by: Christian Weiske <cweiske@cweiske.de>
Another attempt to fix all the typing and handling in the sharesplugin.
In short we should probably have a lot more type hinting in several
places.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Those indexes are already covered by others. So those can just be used.
THose extra indexes just take up space.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>