Commit graph

141 commits

Author SHA1 Message Date
Joas Schilling
6fb0da7e4f
fix(Repair): Fix repair step compatibility with Oracle DB
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-02-23 16:57:54 +01: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
Côme Chilliet
e2531f8503
Migrate dav application from ILogger to LoggerInterface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-05-02 10:52:43 +02:00
Christoph Wurst
478953d002
Cast orphan subscription id to int
DB columns are of type int by default, so they need to be casted.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-01 10:48:14 +01: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
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +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
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
Roeland Jago Douma
3d66d68327 Add cards_abiduri index on install
Else we directly tell the admin to add this on install.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-16 20:43:16 +01:00
Christoph Wurst
c1d4f8161b
Migrate internal classes to the OCP db col types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 14:09:13 +01:00
Christoph Wurst
8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
Christoph Wurst
9ce3ea3368
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +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
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Vincent Petry
0d42d996d1
Adjust further columns
- calendarsubscriptions.lastmodified -> not null
- external_config.value -> allow null

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-09 12:13:33 +01:00
Vincent Petry
b9836398cc
Adjust calendars.components to 64 chars
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-09 12:13:33 +01:00
Julius Härtl
e69655e9a6
Manually iterate over calendardata when oracle is used
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 15:08:43 +01:00
Joas Schilling
264d54b388
Fix CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:43:34 +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
Joas Schilling
8027dcbc6f
Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +01:00
Christoph Wurst
2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Joas Schilling
553cda2a6d
Don't load all calendar objects into memory
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-08-20 07:56:25 +02:00
Daniel Kesselberg
87dd760a89
Replace TYPE with TYPES
As TYPE::* is deprecated.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-06-30 23:46:22 +02:00
Christoph Wurst
cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Christoph Wurst
caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
41b5e5923a
Use exactly one empty line after the namespace declaration
For PSR2

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:48:10 +02:00
Roeland Jago Douma
9a4193f557
Merge pull request #19761 from nextcloud/bugfix/19658/add_missing_index_to_original_migration
Add missing index to original migration
2020-04-06 09:44:34 +02:00
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst
463b388589
Merge pull request #20170 from nextcloud/techdebt/remove-unused-imports
Remove unused imports
2020-03-27 17:14:08 +01:00
Christoph Wurst
b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Christoph Wurst
74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +01:00
Georg Ehrke
79dcd34a07
Create Mount IDs as BigInt by default
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-03-03 14:17:22 +01:00
Georg Ehrke
7961a0b446
Add indices to original DAV migration
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-03-03 13:10:41 +01:00
Christoph Wurst
5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma
68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Daniel Kesselberg
fd836616a2
Return $schema on change and null otherwise
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-10-29 19:25:34 +01:00
Thomas Citharel
e2b539bebf
Check the calendar type of calendarobjects & calendarchanges
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-26 10:41:55 +02:00
Thomas Citharel
456fb7e294
Remove orphaned calendar data from deleted subscriptions
Closes #16833. Ref #13511

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-08-22 12:06:49 +02:00
Georg Ehrke
4d28a4544e
Final fixes
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 20:05:01 +02: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
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
5f3d0a61ea
Add table to handle calendar delegations
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-14 09:42:19 +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
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
Arthur Schiwon
1d1c8b4e69
avoids users searches on backend, faster processing
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-04-17 15:55:23 +02:00
Joas Schilling
592093079f
Deduplicate index names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-27 13:32:59 +01:00
Joas Schilling
274658629d
Make sure all tables have named indexes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-27 13:32:59 +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
cec72536de
Merge pull request #13511 from nextcloud/bugfix/noid/remove-orphan-event-and-contact-data
Remove orphan event and contacts data
2019-01-16 22:54:40 +01:00
Joas Schilling
4149d428d3
Principals can be principal/user/<name> or principal/<name> from legacy installs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-14 11:21:41 +01:00
Joas Schilling
f88e7648d5
Remove orphan event and contacts data
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-11 13:03:53 +01:00
Roeland Jago Douma
12e24ed6e7
Check for no longer existing calendars
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-11 09:46:55 +01:00
Roeland Jago Douma
8593edd66d
Merge pull request #13430 from nextcloud/bugfix/13331/respect-classification-of-calendar-events-in-activity-stream
Respect classification of calendar events in activity stream
2019-01-09 10:03:23 +01:00
Joas Schilling
9f2d14447f
Add a repair step to remove sensitive event activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-08 18:39:40 +01:00
Roeland Jago Douma
adb2b9a2f8
Add live repair step to cleanup old chunks
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-04 09:21:21 +01:00
Joas Schilling
aa88254f64
Shorten index name of calendar changes table
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-14 10:14:23 +01:00
Georg Ehrke
071301bfb9
Fix Calendarsubscriptions source column change on Oracle
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-13 16:32:47 +01:00
Georg Ehrke
30d13bb760
cache webcal calendars on server
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-07 13:25:14 +01:00
John Molakvoæ (skjnldsv)
a6c8fe099d
bump dav version for migration
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-05 08:11:31 +01:00
John Molakvoæ (skjnldsv)
161608b1f1
move migration
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-30 13:05:10 +01:00
Morris Jobke
851f525889
Merge pull request #11668 from nextcloud/bugfix/7726/convert_caldav_subscription_source_to_long_text
convert source column in calendarsubscription table to (long) text
2018-10-19 15:49:17 +02:00
Morris Jobke
b458ed9c82
Properly escape column name in "createFunction" call
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-16 15:24:02 +02:00
Georg Ehrke
b83918ed6d
convert source column in calendarsubscription table to (long) text
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-15 13:16:31 +02:00
Joas Schilling
daed1bed57
Also shorten the name of the invitation tokens
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-12 12:11:11 +02:00
Joas Schilling
b7de6d7a24
Shorten resource table names to allow install on oracle again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-12 11:55:19 +02:00
Georg Ehrke
4aa4e4080c
Include accept / decline links in CalDAV invitation emails
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-29 10:44:44 +02:00
Georg Ehrke
2da510af0b
add resource / room principals
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-06-25 04:58:07 +02:00
Roeland Jago Douma
b0c801c764
Add directdownload table
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Joas Schilling
4a5282ba21
Fix the type hints of migrations and correctly inject the wrapped schema into migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-17 11:37:36 +01:00
Morris Jobke
31c5c2a592
Change @georgehrke's email
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 20:38:59 +01:00
Morris Jobke
0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Joas Schilling
155d451cf8
Fix copy paste errors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-29 11:10:57 +02:00
Joas Schilling
c65e591e88
Restore the sequencial order
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-29 11:10:57 +02:00
Joas Schilling
740d820194
Migrate ids to bigint in the dav app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-29 11:10:57 +02:00
Roeland Jago Douma
4ac32223da
Add indexes to cards and cards_properties tables
Fixes #6170

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-25 10:27:46 +02:00
Joas Schilling
d5b5fc7fca
Fix unsigned state
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-19 12:49:42 +02:00
Joas Schilling
8768faacaa
Fix migration naming
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-19 12:44:46 +02:00
Roeland Jago Douma
32234a23da
Move DAV app to migrations
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-18 14:35:27 +02:00
Georg Ehrke
8d00458b56
unit test custom calendar search
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-04-28 20:21:36 +02:00
Georg Ehrke
40eec1e63c
add repairstep with backgroundjob to index calendar data
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-04-25 11:55:31 +02:00
Joas Schilling
3bd501aad2
Directly fix the values
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 13:09:53 +02:00
Roeland Jago Douma
6f5316e443
Add DAV repair step to fix calendar data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-24 20:31:01 +01:00
Thomas Müller
181af830fd
Remove 9.1 migration steps in app dav (#25654) 2016-11-22 20:17:05 +01:00
Thomas Müller
1f825f0fe8
Adding repair step to fix component of birthday calendars 2016-09-20 11:28:00 +02:00
Joas Schilling
813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00
Thomas Müller
0b7685d326 Move birthday calendar generation to a live migration job (#25135) 2016-06-16 16:14:28 +02:00
Thomas Müller
082f456b8b
Added unit testing for the migration step 2016-06-09 11:09:14 +02:00
Thomas Müller
369c3b5d7e
Implement classification migration as repair step 2016-06-09 11:09:14 +02:00