aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib
Commit message (Collapse)AuthorAgeFilesLines
* fix(carddav): Make SystemAddressBook::__construct $groupManager argument ↵Christoph Wurst2023-06-121-1/+1
| | | | | | nullable Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* fix(caldav): Cast calendar objects id to int when building indexChristoph Wurst2023-06-061-1/+1
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* fix(caldav): Close DB cursor in reminder index background jobChristoph Wurst2023-06-051-2/+4
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* fix(caldav): Ignore invalid events for reminder generationChristoph Wurst2023-05-311-0/+4
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* fix(dav): Fix avatar size in system address bookJoas Schilling2023-05-261-1/+1
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Merge pull request #38448 from nextcloud/fix/carddav/no-sab-guest-usersArthur Schiwon2023-05-251-8/+6
|\ | | | | fix(carddav): Don't show system address book cards to guests
| * fix(carddav): Don't show system address book cards to guestsChristoph Wurst2023-05-251-8/+6
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | Merge pull request #38454 from nextcloud/fix/capitalization-other-telChristoph Wurst2023-05-251-1/+1
|\ \ | |/ |/| fix(carddav): Make system contact phone number RFC compliant
| * fix(carddav): Make system contact phone number RFC compliantgreta2023-05-251-1/+1
| | | | | | | | Signed-off-by: greta <gretadoci@gmail.com>
* | fix(carddav): Check enumeration settings for all SAB methodsChristoph Wurst2023-05-251-1/+69
|/ | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Merge pull request #38413 from nextcloud/fix/38412/save-avatar-SABJohannes2023-05-231-1/+1
|\ | | | | fix(SAB): Save avatar to SAB
| * fix(SAB): Save avatar to SABJohannes Merkel2023-05-231-1/+1
| | | | | | | | Signed-off-by: Johannes Merkel <mail@johannesgge.de>
* | fix(carddav): Check if SERVER variables are set before accessing themAnna Larch2023-05-231-5/+4
|/ | | | Signed-off-by: Anna Larch <anna@nextcloud.com>
* feat(CardDAV): Add Sabre\DAV\IMoveTarget support to OCA\DAV\CardDAV\AddressBookThomas Citharel2023-05-164-2/+273
| | | | | | | | | | 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 #37965 from ↵Simon L2023-05-161-26/+41
|\ | | | | | | | | nextcloud/fix/transactional-system-addressbook-sync fix(dav): Run system address book create-if-not-exists in transaction
| * fix(dav): Run system address book create-if-not-exists in transactionChristoph Wurst2023-05-121-26/+41
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | fix(carddav): Mark system address book as read-onlyChristoph Wurst2023-05-151-0/+10
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | feat(users): Store and load a user's managerChristoph Wurst2023-05-121-1/+19
| | | | | | | | | | Co-Authored-By: hamza221 <hamzamahjoubi221@gmail.com> Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | fix(carddav): expose system address bookAnna Larch2023-05-116-24/+149
| | | | | | | | Signed-off-by: Anna Larch <anna@nextcloud.com>
* | Merge pull request #37961 from nextcloud/poc/noid/systemtags-perfArthur Schiwon2023-05-114-0/+155
|\ \ | | | | | | SystemTags endpoint to return tags used by a user with meta data
| * | refactor: remove SystemTag logic from Folder into QuerySearchHelperArthur Schiwon2023-05-091-3/+7
| | | | | | | | | | | | | | | | | | | | | - adds OC\SystemTag\SystemTagsInFilesDetector where the search logic is moved to Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
| * | chore: polish SystemTagsInUseCollectionArthur Schiwon2023-05-092-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | - DI SystemTagManager - add some comments and doc - catch NoUserException - add return type hints Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
| * | fix: improve naming of new systemtags endpoint to systemtags-assignedArthur Schiwon2023-05-092-4/+4
| | | | | | | | | | | | Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
| * | feat: specify media type via url path: systemtags-current/$mediaTypeArthur Schiwon2023-05-091-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - only the media part of the mime type can be search, but not the full mime type. It can be added, should it become necessary. - thus fixes previously hardcoded selector for image/ types - also fixes a return type hint - adds a return type hint Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
| * | PoC: SystemTags endpoint to return tags used by a user with meta dataArthur Schiwon2023-05-094-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge pull request #38067 from nextcloud/fix/noid/sortTagsArthur Schiwon2023-05-111-1/+5
|\ \ \ | | | | | | | | fix: sort tags by name
| * | | fix: use interface instead of implementation as type hintArthur Schiwon2023-05-101-2/+1
| | | | | | | | | | | | | | | | Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com> Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
| * | | fix: sort tags by nameArthur Schiwon2023-05-041-1/+6
| | | | | | | | | | | | | | | | Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
* | | | Merge pull request #36118 from ↵Anna2023-05-101-6/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | nextcloud/fix/caldav/invitation-outlook-compatibilty Fix calendar emails to be outlook compatible
| * | | | Fix calendar emails to be outlook compatibleAnna Larch2023-02-211-6/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Anna Larch <anna@nextcloud.com>
* | | | | Merge pull request #38048 from nextcloud/enh/add-x-nc-scope-propertyChristoph Wurst2023-05-104-54/+289
|\ \ \ \ \ | |_|_|_|/ |/| | | | feat(dav): store scopes for properties and filter locally scoped properties for federated address book sync
| * | | | feat(dav): store scopes for properties and filter locally scoped properties ↵Anna Larch2023-05-094-54/+289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for federated address book sync Signed-off-by: Anna Larch <anna@nextcloud.com>
* | | | | Merge pull request #38100 from tanganellilore/fix_delete_ChunkingV2PluginJulius Härtl2023-05-101-9/+7
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | fix error on delete in ChunkingV2PluginLorenzo Tanganelli2023-05-051-9/+7
| | |_|/ | |/| | | | | | | | | | Signed-off-by: Lorenzo Tanganelli <lorenzo.tanganelli@hotmail.it>
* | | | Merge pull request #36893 from nextcloud/fix/avoid-file-events-on-null-pathCôme Chilliet2023-05-091-8/+10
|\ \ \ \ | | | | | | | | | | Make sure to never trigger files hooks on a null path
| * | | | Make sure to never trigger files hooks on a null pathCôme Chilliet2023-05-041-8/+10
| | |_|/ | |/| | | | | | | | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* | | | feat(UserMigration)!: 32-bit supportChristopher Ng2023-05-052-4/+4
| |/ / |/| | | | | | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* | | Merge pull request #31660 from ↵Simon L2023-05-052-2/+2
|\ \ \ | | | | | | | | | | | | | | | | dzatoah/pr/rename-sendEventRemindersToSharedGroupMembers-to-sendEventRemindersToSharedUsers Rename setting 'sendEventRemindersToSharedGroupMembers' -> 'sendEventRemindersToSharedUsers'.
| * | | Rename setting 'sendEventRemindersToSharedGroupMembers' to ↵Daniel Teichmann2023-05-042-2/+2
| |/ / | | | | | | | | | | | | | | | 'sendEventRemindersToSharedUsers'. Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
* / / feat(carddav): Map user's additional emails into the SAB cardChristoph Wurst2023-05-041-1/+10
|/ / | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | fix(dav): Abort requests with 429 instead of waitingJoas Schilling2023-05-032-0/+61
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* | enh(contacts): write profile prop and backend prop to system addressbookJohannes Merkel2023-05-021-0/+6
| | | | | | | | Signed-off-by: Johannes Merkel <mail@johannesgge.de>
* | fix(psalm): systemtagsJohn Molakvoæ2023-04-287-21/+104
| | | | | | | | Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
* | expose system tags as dav property for filesRobin Appelman2023-04-283-13/+159
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Feature: Provide access to app generated calendars through CalDAVFerdinand Thiessen2023-04-256-7/+448
| | | | | | | | | | | | | | | | | | | | | | 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>
* | fix event move issueMaximilian Martin2023-04-181-2/+2
| | | | | | | | Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
* | Merge pull request #36774 from nextcloud/bugfix/noid/sabre-nodesSimon L2023-04-181-4/+7
|\ \ | | | | | | fix: always use proper path on node api when calling the view
| * | fix: Use proper path when creating node instancesJulius Härtl2023-04-171-4/+7
| | | | | | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* | | Merge pull request #36528 from nextcloud/dav-backend-transationsSimon L2023-04-183-1197/+1269
|\ \ \ | | | | | | | | CalDAV/CardDAV: put every method from backends that does multiple DB calls in transactions
| * | | refactor(dav): Since we're in a transaction, use QB properly when ↵Thomas Citharel2023-04-172-20/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | incrementing synctoken Now that we're in a transaction, we can reuse the sync token's previous value without trouble, and rewrite the increment UPDATE query without dirty direct SQL. Signed-off-by: Thomas Citharel <tcit@tcit.fr>