summaryrefslogtreecommitdiffstats
path: root/apps/dav/composer
Commit message (Collapse)AuthorAgeFilesLines
* feat(CardDAV): Add Sabre\DAV\IMoveTarget support to OCA\DAV\CardDAV\AddressBookThomas Citharel2023-05-162-0/+4
| | | | | | | | | | This allows to just UPDATE the card row instead of deleting it and reinsert it. It's very similar to https://github.com/nextcloud/server/pull/30120 for calendars. As we need the addressbookid exposed, this introduces OCA\DAV\CardDAV\Card that extends Sabre's. I chose specifically NOT to auto-inject LoggerInterface in Addressbook like in #30120 because the chain of DI is huge just for ONE simple call and it would break an existing dirty call (OCA\Contacts calling OCA\DAV) of ContactsManager in Contacts: https://github.com/nextcloud/contacts/pull/1722 (in SocialApiService), but this is debatable. Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* Merge pull request #37961 from nextcloud/poc/noid/systemtags-perfArthur Schiwon2023-05-112-0/+2
|\ | | | | SystemTags endpoint to return tags used by a user with meta data
| * PoC: SystemTags endpoint to return tags used by a user with meta dataArthur Schiwon2023-05-092-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Target case is photos app: when visiting the tags category, all systemtags of the whole cloud are retrieved. In subequent steps the next tag is requested until the browser view is filled with tag tiles (i.e. previews are requested just as well). With this approach, we incorpoate the dav search and look for user related tags that are used by them, and already returns the statistics (number of files tagged with the respective tag) as well as a file id for the purpose to load the preview. This defaults to the file with the highest id. Call: curl -s -u 'user:password' \ 'https://my.nc.srv/remote.php/dav/systemtags-current' \ -X PROPFIND -H 'Accept: text/plain' \ -H 'Accept-Language: en-US,en;q=0.5' -H 'Depth: 1' \ -H 'Content-Type: text/plain;charset=UTF-8' \ --data @/home/doe/request-systemtag-props.xml With request-systemtag-props.xml: <?xml version="1.0" encoding="UTF-8"?> <d:propfind xmlns:d="DAV:"> <d:prop xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"> <oc:id/> <oc:display-name/> <oc:user-visible/> <oc:user-assignable/> <oc:can-assign/> <nc:files-assigned/> <nc:reference-fileid/> </d:prop> </d:propfind> Example output: … <d:response> <d:href>/master/remote.php/dav/systemtags/84</d:href> <d:propstat> <d:prop> <oc:id>84</oc:id> <oc:display-name>Computer</oc:display-name> <oc:user-visible>true</oc:user-visible> <oc:user-assignable>true</oc:user-assignable> <oc:can-assign>true</oc:can-assign> <nc:files-assigned>42</nc:files-assigned> <nc:reference-fileid>924022</nc:reference-fileid> </d:prop> <d:status>HTTP/1.1 200 OK</d:status> </d:propstat> </d:response> <d:response> <d:href>/remote.php/dav/systemtags/97</d:href> <d:propstat> <d:prop> <oc:id>97</oc:id> <oc:display-name>Bear</oc:display-name> <oc:user-visible>true</oc:user-visible> <oc:user-assignable>true</oc:user-assignable> <oc:can-assign>true</oc:can-assign> <nc:files-assigned>1</nc:files-assigned> <nc:reference-fileid>923422</nc:reference-fileid> </d:prop> <d:status>HTTP/1.1 200 OK</d:status> </d:propstat> </d:response> … Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
* | feat(dav): store scopes for properties and filter locally scoped properties ↵Anna Larch2023-05-092-0/+2
|/ | | | | | for federated address book sync Signed-off-by: Anna Larch <anna@nextcloud.com>
* fix(dav): Abort requests with 429 instead of waitingJoas Schilling2023-05-032-0/+2
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* expose system tags as dav property for filesRobin Appelman2023-04-282-0/+2
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Feature: Provide access to app generated calendars through CalDAVFerdinand Thiessen2023-04-252-0/+6
| | | | | | | | | | | This adds CalDAV support for app generated calendars, which are registered to the nextcloud core. This is done by adding a dav plugin which wraps all ICalendarProviders into a Sabre plugin (inspired by the deck app). Add unit test for AppCalendar wrapper plugin and calendar object implementation. Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
* chore(autoloader): Update autoloaders with composer 2.5.5Joas Schilling2023-04-213-11/+22
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Merge pull request #36800 from rotdrop/feature/dav-macos-quirksAnna2023-03-132-0/+2
|\ | | | | apps/dav: add some OSX specific quirks.
| * apps/dav: add some OSX specific quirks.Claus-Justus Heine2023-03-072-0/+2
| | | | | | | | Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
* | feat(s3): Use multipart upload for chunked uploadingJulius Härtl2023-03-082-0/+4
|/ | | | | | This allows to stream file chunks directly to S3 during upload. Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Use recurrence instance to build iMip emailAnna Larch2023-02-022-0/+4
| | | | | | | | instead of the main VEVENT of a repeating event Fixes part of https://github.com/nextcloud/calendar/issues/3919 Signed-off-by: Anna Larch <anna@nextcloud.com>
* chore(autoloaders): Update autoloader files for Composer 2.5.1Christoph Wurst2023-01-252-16/+25
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* rename SabrePublicPluginEvent to BeforeSabrePubliclyLoadedEvent, run ↵Julien Veyssier2022-12-151-2/+2
| | | | | | build/autoloaderchecker.sh Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
* Update composer autoloaderCarl Schwan2022-11-222-4/+17
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Add a background job to prune outdated sync tokensThomas Citharel2022-10-272-0/+2
| | | | | | | | We remove all outdated sync tokens, based on their auto-incremented ID. By default we only keep the last 10 000, but this can be configurable. Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* Rebuild autoloaderJoas Schilling2022-09-201-2/+2
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Move findBinaryFinder and isFunctionEnabled away from OC_HelperCarl Schwan2022-08-231-3/+3
| | | | | | | | | | | | findBinaryFinder is now a service that is still private but with some minor optimization (remove the hasKey check). isFunctionEnabled is now in OCP\Util Both function are still keep but all internal usage in nextcloud/server were migrated to the new usage, so that we can remove it in 26 Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Add share attributes + prevent download permissionVincent Petry2022-07-282-0/+2
| | | | | | Makes it possible to store download permission Signed-off-by: Vincent Petry <vincent@nextcloud.com>
* Merge pull request #32973 from nextcloud/cleanup/avatar-codeCarl Schwan2022-07-111-7/+7
|\ | | | | Cleanup avatar related code
| * Make Color class publicCarl Schwan2022-07-051-7/+7
| | | | | | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* | Fix determination of cron job runJoas Schilling2022-07-012-0/+4
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* | Summer cleanup of the federation appCarl Schwan2022-06-242-0/+2
|/ | | | | | | | | | - Use IEventDispatcher instead of deprecated symfony dispatcher - Use LoggerInterface where possible - Use php 7.4 properties - Add type hinting where possible - Move federation hooks to a seperate listener Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Handle the move operation properly between shared calendarsThomas Citharel2022-06-142-0/+2
| | | | | | | | - Introduce a new CalendarObjectMovedEvent typed event dedicated for this operation - Handle the event in the activity backend and add new appropriate activity subjects Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* Merge pull request #30368 from nextcloud/dav-allow-object-propertiesVincent Petry2022-06-102-0/+4
|\ | | | | Allow DAV Object properties
| * Allow DAV Object propertiesThomas Citharel2022-05-162-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation only saves them as string. It seems they can be more complex than that, and that objects were saved directly. You may find such objects saved in some production databases by executing: ```sql SELECT * from oc_properties where propertyvalue = 'Object'; ``` This commit adds a repair job to clean all of these "broken" properties values, adds a new database column to save the type of the property, and handles converting from and to correct values. Implementation is very similar to SabreDAV's own PDO backend: https://github.com/nextcloud/3rdparty/blob/4921806dfb1c5c309eac60195ed34e2749baf3c1/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* | Merge pull request #32364 from nextcloud/dav-listenersVincent Petry2022-06-102-0/+10
|\ \ | | | | | | 🧹 Remove all legacy event dispatchers from CalDAV & CardDAV backends
| * | Remove all legacy event dispatchers from CalDAV & CardDAV backendsThomas Citharel2022-05-172-0/+10
| | | | | | | | | | | | | | | | | | Move them to proper EventListeners and test them Signed-off-by: Thomas Citharel <tcit@tcit.fr>
* | | Don't spam the log with fatals when maintenance mode is enabled or an ↵Joas Schilling2022-06-102-0/+2
|/ / | | | | | | | | | | upgrade has to be done Signed-off-by: Joas Schilling <coding@schilljs.com>
* / Cleanup davCarl Schwan2022-05-052-2/+0
|/ | | | | | | - Remove unused class AppEnabledPlugin - Add more type hinting when possible Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Add a metadata service to store file metadataCarl Schwan2022-04-133-3/+8
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Merge pull request #31673 from nextcloud/feat/contacts-migrationVincent Petry2022-04-072-0/+6
|\ | | | | Contacts migration
| * Contacts export and importChristopher Ng2022-03-302-0/+6
| | | | | | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* | Merge pull request #29510 from nextcloud/backport/27378/masterJohn Molakvoæ2022-04-042-0/+2
|\ \
| * | Add dav plugin to trigger recalculating of checksumsRobin Appelman2022-03-312-0/+2
| |/ | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Merge pull request #30823 from nextcloud/work/profilerCarl Schwan2022-04-042-0/+2
|\ \ | |/ |/| | | | | | | Built-in profiler This adds the required API for collecting information about requests. This information can then be displayed with the new 'profiler' app.
| * Add a built-in profiler inside NextcloudCarl Schwan2022-04-042-0/+2
| | | | | | | | | | | | The webui is provided by a seperate application named profiler Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* | Build autoloader with new composer versionCôme Chilliet2022-03-305-15/+8
|/ | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Integrate migratorChristopher Ng2022-03-022-4/+0
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* Calendar export and importChristopher Ng2022-03-022-0/+10
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* Wrap S3 multipart upload exceptionLouis Chemineau2022-02-162-0/+2
| | | | Signed-off-by: Louis Chemineau <louis@chmn.me>
* send request id in response headerRobin Appelman2022-02-012-0/+2
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Set the file's mtime from the headers in bulk uploadLouis Chemineau2022-01-114-3/+5
| | | | Signed-off-by: Louis Chemineau <louis@chmn.me>
* Update to composer 2.1.11Carl Schwan2021-11-042-2/+15
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Revert "add dav plugin to trigger recalculating of checksums"John Molakvoæ2021-11-012-2/+0
|
* Merge pull request #27378 from nextcloud/dav-recalc-checksumJohn Molakvoæ2021-11-012-0/+2
|\
| * Add dav plugin to trigger recalculating of checksumsRobin Appelman2021-08-232-0/+2
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Add scheduling availability settingsChristoph Wurst2021-10-182-0/+2
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | Clean BulkUpload pluginLouis Chemineau2021-10-162-6/+4
| | | | | | | | Signed-off-by: Louis Chemineau <louis@chmn.me>
* | Add BulkUpload DAV pluginLouis Chemineau2021-10-152-0/+6
| | | | | | | | Signed-off-by: Louis Chemineau <louis@chmn.me>