Commit graph

173 commits

Author SHA1 Message Date
Richard Steinmetz
b7dc720848
feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +02:00
Richard Steinmetz
caf664ea43
fix(carddav): IAddressBook::getKey() should return a string
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-26 13:31:04 +02:00
Christoph Wurst
0c4bb5e8c5
fix(dav): calculate permissions based on addressbook principal
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-08-06 18:15:43 +02:00
Daniel Kesselberg
13f25c9316 fix(carddav): return correct sync token for non-truncated requests
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-06 14:32:25 +02:00
Hamza Mahjoubi
36d9fcbb4d feat(cardav): support result truncation for addressbook federation
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2025-08-06 14:04:55 +02:00
SebastianKrupinski
49d8e29a18 fix: do not ignore move command object target uri
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-01 09:36:07 -04:00
Robin Appelman
aa15f9d16d
chore: run rector
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +02:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Joas Schilling
6cccdf98f4
test: Migrate CardDAV tests to PHPUnit10
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-25 22:22:57 +02:00
Hamza Mahjoubi
c9d9abd46e fix(cardav): only show useres from enabled addressBooks in contacts menu
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2025-03-17 11:56:34 +01:00
Côme Chilliet
64863c9d46
chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +01:00
Côme Chilliet
ed5b7ae161
chore: re-apply current rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:33 +01:00
Côme Chilliet
355fef6ff9
fix(tests): Order card properties by name to avoid issues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-10 16:08:21 +01:00
SebastianKrupinski
0628eb62f3 fix: return 204 instead of 404
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-12-13 11:47:18 -05:00
Pablo Zmdl
280adb3e94 feat: configurable request timeout for carddav sync
Big federated setups may need a longer timeout, which they now can
configure.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
Co-authored-by: Josh <josh.t.richards@gmail.com>
2024-10-17 22:27:10 +02:00
Daniel Kesselberg
870816466f
fix: make federation address book sync work with allow_local_remote_servers = false
Client.preventLocalAddress expects an absolute URL, which means the base_uri option cannot be used.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-10-01 18:00:46 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Robin Appelman
192d1769e0 test: don't reuse the query builder for multiple tables in CardDavBackendTest
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-02 17:21:47 +02:00
SebastianKrupinski
cb6c091e08 fix(carddav): limit vcard size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-04 16:42:09 -04:00
Daniel Kesselberg
1fa37ed2dc refactor(dav): migrate to new http client
The request method is available since 29 and thus we can finally use the modern http client to send the report request for the addressbook sync.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-25 12:24:47 +02:00
Jake Nabasny
f863290572
feat(ldap): sync additional properties to profile and SAB
Synced from LDAP to profile:
- Date of birth

Synced from LDAP to SAB (via the profile):
- Biography
- Date of birth

Original code by Jake Nabasny (GitHub: @slapcat)

Co-authored-by: Jake Nabasny <jake@nabasny.com>
Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-05-30 12:01:13 +02:00
Andy Scherzinger
5b7dcc1427
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-29 08:58:16 +02:00
Andy Scherzinger
ddb840c36b
Merge pull request #45549 from nextcloud/chore/noid/spdx-batch7
Add SPDX header - batch 7
2024-05-28 17:11:57 +02:00
Andy Scherzinger
56d4f3aa2d
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-28 14:41:28 +02:00
Hamza Mahjoubi
fe780945e2 fix(dav): Rate limit address book creation
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-05-27 14:55:07 +02:00
Côme Chilliet
ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Christoph Wurst
3dea99f42b
fix(dav): Add retention time to sync token cleanup
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-21 18:37:21 +01:00
Christoph Wurst
b6e1685683
fix(dav): ACLs for shared addressbooks
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-21 11:50:35 +01:00
Anna Larch
dce69154ba enh(sharing): enable unsharing for sharees for DAV shares (addressbooks and calendars)
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-15 18:01:12 +01:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Git'Fellow
066f6ef16c Stop sending deprecated Pragma header
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-08-28 15:11:22 +02:00
Anna Larch
6bd78917d3 fix(CardDAV): set owner-principal, displayname properties for SAB
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-16 09:11:01 +02:00
Johannes Merkel
bb802956a2 enh(contacts): show/hide addressbooks for all
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-07-10 13:39:15 +02:00
Johannes Merkel
eda3824d91 enh(sab): Add profileUrl to SAB
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-07-03 17:55:18 +02:00
Christof Arnosti
5ad24991d7 Issue #36644: Test cases
Signed-off-by: Christof Arnosti <charno@charno.ch>
2023-06-05 20:40:34 +02:00
Christoph Wurst
e524631ce3
fix(carddav): Don't show system address book cards to guests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 12:26:26 +02:00
Christoph Wurst
5cfbd4c535
fix(carddav): Check enumeration settings for all SAB methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 09:11:26 +02:00
Thomas Citharel
13a3ebd4cc
feat(CardDAV): Add Sabre\DAV\IMoveTarget support to OCA\DAV\CardDAV\AddressBook
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>
2023-05-16 11:38:57 +02:00
Simon L
25dd264965
Merge pull request #37965 from nextcloud/fix/transactional-system-addressbook-sync
fix(dav): Run system address book create-if-not-exists in transaction
2023-05-16 11:33:09 +02:00
Christoph Wurst
2cc672d26b
fix(dav): Run system address book create-if-not-exists in transaction
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-12 14:15:02 +02:00
Christoph Wurst
1381c4c157
feat(users): Store and load a user's manager
Co-Authored-By: hamza221 <hamzamahjoubi221@gmail.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-12 13:56:48 +02:00
Anna Larch
5c2eb732f1 fix(carddav): expose system address book
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-11 18:59:30 +02:00
Anna Larch
bd80a1b2dd
feat(dav): store scopes for properties and filter locally scoped properties for federated address book sync
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-09 19:17:39 +02:00
Mattia Narducci
b55c62c6c2 dav: fix birthday calendar event generation for leap days
Fix generation of birthday calendar events for the 29th of February.

A recurring event for the 29th of February in the (default) Gregorian
calendar system would only generate instances in leap years. Fix this
behaviour by generating recurring events for the last day of February,
the 29th on leap years and the 28th otherwise.

Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
2023-02-06 19:11:46 +01:00
Christoph Wurst
898d2923cc
chore(dav): Add void return type to test methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-20 08:38:43 +01:00
Côme Chilliet
574c6770d1
Get rid of deprecated at matcher in dav application tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-05 18:28:07 +01:00
Côme Chilliet
c79a6b3f62
Fix errors from PHP 8.2 testing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-14 17:08:21 +01:00
Thomas Citharel
6f15873321 Add a background job to prune outdated sync tokens
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>
2022-10-27 20:12:13 +00:00
Sylvain
bfc8f64237 feat: add tests cases
Signed-off-by: Sylvain <git@sylvain.dev>
2022-10-02 18:34:43 +02:00