Commit graph

189 commits

Author SHA1 Message Date
Julius Härtl
e23aa8883e
feat(s3): Use multipart upload for chunked uploading
This allows to stream file chunks directly to S3 during upload.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-08 14:00:04 +01:00
Claus-Justus Heine
64e9dcc9c3
apps/dav: add some OSX specific quirks.
Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
2023-03-07 16:23:30 +01:00
Anna Larch
38e9cb6a05 Use recurrence instance to build iMip email
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>
2023-02-02 16:25:59 +01:00
Christoph Wurst
aee9941fed
chore(autoloaders): Update autoloader files for Composer 2.5.1
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-25 10:42:34 +01:00
Julien Veyssier
73f2876d64
rename SabrePublicPluginEvent to BeforeSabrePubliclyLoadedEvent, run build/autoloaderchecker.sh
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2022-12-15 17:37:34 +01:00
Carl Schwan
f244406ebd Update composer autoloader
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-22 13:35:17 +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
Joas Schilling
c443ecfbff
Rebuild autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-20 10:33:26 +02:00
Carl Schwan
9b8ca9ad1f
Move findBinaryFinder and isFunctionEnabled away from OC_Helper
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>
2022-08-23 19:44:04 +02:00
Vincent Petry
a95c19e14b
Add share attributes + prevent download permission
Makes it possible to store download permission

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:22 +02:00
Carl Schwan
16b5e6bc7f
Merge pull request #32973 from nextcloud/cleanup/avatar-code
Cleanup avatar related code
2022-07-11 11:56:39 +02:00
Carl Schwan
ec5cbdeb7f Make Color class public
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-07-05 14:44:44 +02:00
Joas Schilling
fdcf3eafd6
Fix determination of cron job run
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-07-01 12:33:05 +02:00
Carl Schwan
a9cfa72d1c Summer cleanup of the federation app
- 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>
2022-06-24 15:39:52 +02:00
Thomas Citharel
39ef0500d1
Handle the move operation properly between shared calendars
- 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>
2022-06-14 14:40:24 +02:00
Vincent Petry
2ee948e8d1
Merge pull request #30368 from nextcloud/dav-allow-object-properties
Allow DAV Object properties
2022-06-10 17:07:38 +02:00
Vincent Petry
8e61671b82
Merge pull request #32364 from nextcloud/dav-listeners
🧹 Remove all legacy event dispatchers from CalDAV & CardDAV backends
2022-06-10 15:57:35 +02:00
Joas Schilling
8e3b30f388
Don't spam the log with fatals when maintenance mode is enabled or an upgrade has to be done
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-06-10 00:36:52 +02:00
Thomas Citharel
4bb31c021e
Remove all legacy event dispatchers from CalDAV & CardDAV backends
Move them to proper EventListeners and test them

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:09:46 +02:00
Thomas Citharel
bd8b2137e2
Allow DAV Object properties
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: 4921806dfb/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-16 15:02:00 +02:00
Carl Schwan
829490ab7a Cleanup dav
- Remove unused class AppEnabledPlugin
- Add more type hinting when possible

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-05 22:03:59 +02:00
Carl Schwan
7817845538 Add a metadata service to store file metadata
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-13 14:06:29 +02:00
Vincent Petry
4bb8e9472e
Merge pull request #31673 from nextcloud/feat/contacts-migration
Contacts migration
2022-04-07 17:36:53 +02:00
John Molakvoæ
47cc5a9405
Merge pull request #29510 from nextcloud/backport/27378/master 2022-04-04 22:15:01 +02:00
Carl Schwan
135bdb3d58
Merge pull request #30823 from nextcloud/work/profiler
Built-in profiler

This adds the required API for collecting information about requests. This information
can then be displayed with the new 'profiler' app.
2022-04-04 12:56:37 +02:00
Carl Schwan
7d272c54d0 Add a built-in profiler inside Nextcloud
The webui is provided by a seperate application named profiler

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-04 10:28:26 +02:00
Robin Appelman
ff666e648a Add dav plugin to trigger recalculating of checksums
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-31 07:44:13 +00:00
Christopher Ng
38d4c5290b Contacts export and import
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-30 18:28:49 +00:00
Côme Chilliet
d84e87eab9
Build autoloader with new composer version
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-30 15:40:23 +02:00
Christopher Ng
302a67f685 Integrate migrator
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-02 01:59:15 +00:00
Christopher Ng
4eff359441 Calendar export and import
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-03-02 01:59:15 +00:00
Louis Chemineau
bc2c02f451 Wrap S3 multipart upload exception
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-02-16 14:56:14 +01:00
Robin Appelman
c712987878
send request id in response header
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-01 14:24:01 +01:00
Louis Chemineau
69b8044b8f Set the file's mtime from the headers in bulk upload
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-11 17:10:14 +01:00
Carl Schwan
dacf2e47a3
Update to composer 2.1.11
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-04 12:30:11 +01:00
John Molakvoæ
d6a26b2536
Revert "add dav plugin to trigger recalculating of checksums" 2021-11-01 11:26:17 +01:00
John Molakvoæ
e1bf5c1cd3
Merge pull request #27378 from nextcloud/dav-recalc-checksum 2021-11-01 11:25:21 +01:00
Christoph Wurst
f432dd2e2e
Add scheduling availability settings
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-18 20:21:51 +02:00
Louis Chemineau
def983dc7e Clean BulkUpload plugin
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-10-16 09:42:07 +02:00
Louis Chemineau
fc6e07705a Add BulkUpload DAV plugin
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-10-15 11:54:01 +02:00
Daniel
5645b2a18a
Merge pull request #29188 from nextcloud/enhancement/public-write-api
Add calendar object creation API to OCP
2021-10-15 11:33:37 +02:00
Anna Larch
0401d6dc0f
Add create method to extended calendar implementation
Signed-off-by: Anna Larch <anna@nextcloud.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-15 09:35:29 +02:00
Joas Schilling
3adc997833
Bump autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-14 09:58:49 +02:00
Anna Larch
a58d1e6b06
Add Public Calendar Provider
Signed-off-by: Anna Larch <anna@nextcloud.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-14 08:22:24 +02:00
Christoph Wurst
a2bc7e2eec Update generated composer files to latest format
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-09-22 11:37:04 +02:00
Thomas Citharel
45d5a797e7
Add repair job to delete calendar subscriptions that were orphaned when
deleteding an user

Follow-up to https://github.com/nextcloud/server/pull/28419

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-09-04 20:55:12 +02:00
Robin Appelman
fd5e11a81a
Add dav plugin to trigger recalculating of checksums
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-23 15:38:58 +02:00
Christoph Wurst
6a50c4a344
Add missing files for Composer v2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-13 15:01:02 +02:00
Louis Chemineau
f0876a9e9d Update Autoloader
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-06-21 15:54:51 +02:00
Mattia Narducci
4850dae1df occ: new command dav:delete-calendar
Add occ command 'dav:delete-calendar' to delete a user's calendar.

Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
2021-06-13 23:08:15 +02:00
Christoph Wurst
d6d8e9215c
Add a trashbin for calendars and calendar objects
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-31 07:49:19 +02:00
Joas Schilling
6fff0b81fe
Add activities for creating, updating and deleting contacts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:35 +02:00
Joas Schilling
2496f83463
Add activities for addressbook management
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:35 +02:00
Joas Schilling
82629f0f55
Add a setting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:35 +02:00
Joas Schilling
5fb9256acc
Add a contacts filter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-21 15:08:21 +02:00
Christoph Wurst
d512a5629e
Remove the \OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-05-07 10:53:45 +02:00
Christoph Wurst
63eb3694e4
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>
2021-04-29 15:31:19 +02:00
Roeland Jago Douma
19e2136963 Update autoloader files
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-02 16:36:21 +01:00
Roeland Jago Douma
2ea3cb7c93 Drop redundant indes
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>
2021-02-16 11:38:43 +01:00
Robin Appelman
f824f273b6
add event for when a direct download is triggered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-02-12 17:33:12 +01:00
Christoph Wurst
0da1999a3b
Emit an interaction event for calendar share recipients
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-03 12:16:57 +01:00
Christoph Wurst
299f37c5d9
Update all composer autoloader files
The format changed between 2.0.8 and 2.0.9.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-28 14:24:34 +01:00
call-me-matt
22cf5447cf
re-index contacts with social profiles
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
2020-12-22 09:48:40 +01:00
Robin Appelman
7956cef622
rebuild autoloader scripts with 2.0.7
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-26 15:49:03 +01:00
Joas Schilling
ecbb066dec
Make sure columns with an empty default are nullable for Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:35:16 +01:00
Roeland Jago Douma
fe30bfd232
Update autloader
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-24 14:59:41 +02:00
Robin Appelman
aadf0f6f87
move calendar settings into their own group
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-08-25 19:11:28 +02:00
Georg Ehrke
67f1ef4658
Add Typed Events for CalDAV- and CardDAV-related Events
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-08-18 21:40:57 +02:00
John Molakvoæ (skjnldsv)
71b62c4203
Show mime icon, bump bundles, make the SearchResultEntry class non-abstract, Fix header search icon, various fixes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-08-04 21:36:22 +02:00
Georg Ehrke
900617e7d7
Add Event and Task Backends for Unified Search
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-08-04 16:01:59 +02:00
Georg Ehrke
5fb2562332
Implement Contacts Backend for Unified Search
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-08-03 16:29:01 +02:00
Morris Jobke
0763a17332
Move federated_share_added into a typed event
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-23 08:33:17 +02:00
Roeland Jago Douma
7b6b946470
Allow for compression of the PROPFIND responses
For now it just gzip and only for propfind (the 99% case). Already saves
a bunch since the propfinds compress so nicely.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-06-06 15:55:04 +02:00
Roeland Jago Douma
bc66bdc072
Add a wrapper to fall back to the share owner on public shares
Else it might happen that we setup a storage that has no real owner and
activities do boom etc (looking at you groupfolders and external
storages!).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-30 08:57:01 +02:00
Roeland Jago Douma
8730cc6764
Use a proper upload file so propfinds return 404
Fixes #20235

By using an UploadFile we make sure that we don't need to have another
check everywhere for the path. But we just have ot check (which we have
to anyway) if it is a proper Connector/File (or directory).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-21 10:33:28 +02:00
Christoph Wurst
150f39ed50
Update autoloaders for composer v1.10.1
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-19 09:48:49 +01:00
Robin Appelman
e44c276aab
rebuild autoloader
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +01:00
Christoph Wurst
ec245d5fec
Add address book plugins
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-09 13:12:18 +01:00
Roeland Jago Douma
713d3d49ad
Merge pull request #19196 from nextcloud/feature/17126/allow_apps_to_register_their_own_calendars
Allow apps to provide Calendars in user's calendarHome
2020-02-23 17:00:03 +01:00
Georg Ehrke
b46e5cb270
Allow apps to provide Calendars in user's calendarHome
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-02-18 14:35:14 +01:00
Thomas Citharel
8b22b9f046
Move RefreshWebcalJob logic to a proper service so that it may be called
independently

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-10 16:04:38 +01:00
Georg Ehrke
fb89bc3931
Add refresh-interval to exported calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-11-27 14:51:17 +01:00
Georg Ehrke
2d6473e79b
Add repair step to register reminder index for existing events
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:03:54 +02:00
Georg Ehrke
bcce568c6d
Support recurring events + repeating alarms
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:03:51 +02:00
Georg Ehrke
7c4a8a3bdf
Provide a fake AudioProvider that is basically the same as PushProvider, better then not showing reminders at all for now
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:02:56 +02:00
Georg Ehrke
d74315ac3d
add occ dav:send-event-reminders, so you don't have to rely on the background-job
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:02:56 +02:00
Thomas Citharel
7bddcc091d
Support event reminders (email and notifications)
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-15 20:02:56 +02:00
Georg Ehrke
63d584afb5
use principaluri instead of userid, allowing to add delegates for rooms and things
Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup add owner_id and proxy_id as db index, since we use it for querying

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup don't add ACL for each individual proxy, just use calendar-proxy groups

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup allow delegation of resources / rooms

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup fix addIndex call in migration

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup fix remaining constructor calls of Principal

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup minor fixes and unit tests

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 15:41:28 +02:00
Roeland Jago Douma
01a4644cad
Use the proxymapper to obtain valid proxy data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-15 15:41:27 +02:00
Roeland Jago Douma
22f29d8e54
Add DB mapper and Entity
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-14 09:42:24 +02:00
Roeland Jago Douma
34868f0964
Merge pull request #14429 from tobiasKaminsky/shareesOnDav
Show sharees via propfind
2019-08-13 20:22:47 +02:00
Georg Ehrke
9f345bd786
add oc_calendar_resources_md and oc_calendar_rooms_md tables
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-01 10:08:55 +02:00
Roeland Jago Douma
2a45763440
Use proper ShareeList
This makes the XML parsing more sane ;)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:51:08 +02:00
Georg Ehrke
9f6dd51912
LIMIT is no column but a SQL feature, allow limit on initial sync
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-07-18 12:42:11 +02:00
Georg Ehrke
7ec8e6d35b
Don't run repair step for every individual user, outsource that to background job
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-05-23 11:24:32 +02:00
John Molakvoæ (skjnldsv)
cea53d0a07
Add HasPhoto DAV plugin
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-02-27 09:04:01 +01:00
Morris Jobke
2b76e27aad
Merge pull request #11832 from nextcloud/bugfix/9849/birthday_without_year
set birthday year to 1970 if no year, take X-APPLE-OMIT-YEAR into account
2019-02-20 10:16:47 +01:00
Georg Ehrke
3acde071f3
Add Repair step to regenerate birthday calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-02-16 16:19:22 +01:00
Morris Jobke
87c8a71647
Merge pull request #10068 from nextcloud/feature/1434/provisioning_profiles_for_dav
Add Apple Provisioning profile
2019-01-31 11:25:39 +01:00
Georg Ehrke
16fec60e8f
Add Apple Provisioning profile
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-01-30 19:50:02 +01:00