nextcloud/lib/private
Christoph Wurst 2c9cdc1cdb
Add our own DB exception abstraction
Right now our API exports the Doctrine/dbal exception. As we've seen
with the dbal 3 upgrade, the leakage of 3rdparty types is problematic as
a dependency update means lots of work in apps, due to the direct
dependency of what Nextcloud ships. This breaks this dependency so that
apps only need to depend on our public API. That API can then be vendor
(db lib) agnostic and we can work around future deprecations/removals in
dbal more easily.

Right now the type of exception thrown is transported as "reason". For
the more popular types of errors we can extend the new exception class
and allow apps to catch specific errors only. Right now they have to
catch-check-rethrow. This is not ideal, but better than the dependnecy
on dbal.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 16:38:23 +01:00
..
Accounts Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Activity Update the license headers for Nextcloud 20 2020-08-24 14:54:25 +02:00
App Merge pull request #25039 from nextcloud/fix/libxml-use-internal-errors-deprecated 2021-01-11 16:14:38 +01:00
AppFramework Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
Archive Fix return types for Archive::getStream 2021-01-07 12:38:41 +01:00
Authentication Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Avatar Update license headers for 19 2020-04-29 11:57:22 +02:00
BackgroundJob Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Broadcast/Events Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
Cache Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Calendar Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
Collaboration Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
Command Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Comments Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Console Update license headers for 19 2020-04-29 11:57:22 +02:00
Contacts/ContactsMenu use a consistent default value for sharing.maxAutocompleteResults 2020-12-15 11:53:39 +01:00
Dashboard Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
DB Add our own DB exception abstraction 2021-01-12 16:38:23 +01:00
Diagnostics Update license headers for 19 2020-04-29 11:57:22 +02:00
DirectEditing Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
Encryption Catch throwable instead of exception 2021-01-07 14:32:26 +01:00
EventDispatcher Use the Symfony dispatcher correctly 2021-01-05 16:00:42 +01:00
Federation Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Files Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
FullTextSearch Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
GlobalScale Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
Group Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
Hooks Merge pull request #23766 from nextcloud/techdebt/noid/remove-unused-private-emitters 2020-10-29 10:03:36 +01:00
Http Update license headers 2020-12-30 14:07:05 +01:00
IntegrityCheck Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
L10N Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
legacy Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
Lock Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
Lockdown Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
Log Fix warning in PHP 8 about optional parameter before mandatory one 2021-01-07 12:43:56 +01:00
Mail Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Memcache Actually set the TTL on redis set 2020-12-21 13:33:16 +01:00
Migration Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Notification Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
OCS Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
Preview Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
Remote Update license headers for 19 2020-04-29 11:57:22 +02:00
Repair Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
RichObjectStrings Use exactly one empty line after the namespace declaration 2020-04-09 11:48:10 +02:00
Route Also unset the other possible unused paramters 2020-12-16 20:31:30 +01:00
Search Update comment search to initFS 2020-11-09 09:52:23 +01:00
Security Remove unneeded casts that were found by Psalm 2021-01-11 13:14:41 +01:00
Session Generate a new session id if the decrypting the session data fails 2020-12-04 11:42:40 +01:00
Settings Remove ISection in favor of IIconSection 2020-10-28 23:05:00 +01:00
Setup Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
Share Update license headers 2020-12-30 14:07:05 +01:00
Share20 Move to single share event. Just emit more if needed 2020-12-23 11:05:29 +01:00
Support Add notification for user limit 2020-12-02 15:20:03 +01:00
SystemTag Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Tagging Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
Template Merge pull request #25073 from nextcloud/psalm/24521/remove-unneeded-casts 2021-01-11 14:15:16 +01:00
Updater Update license headers for 19 2020-04-29 11:57:22 +02:00
User Merge pull request #24948 from nextcloud/dependabot/composer/doctrine/dbal-3.0.0 2021-01-08 14:58:43 +01:00
UserStatus Update the license headers for Nextcloud 20 2020-08-24 14:54:25 +02:00
AllConfig.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
AppConfig.php Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
CapabilitiesManager.php Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
Color.php Update license headers for 19 2020-04-29 11:57:22 +02:00
Config.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
ContactsManager.php Update the license headers for Nextcloud 20 2020-08-24 14:54:25 +02:00
DatabaseException.php Update license headers 2019-12-05 15:38:45 +01:00
DatabaseSetupException.php Update license headers 2019-12-05 15:38:45 +01:00
DateTimeFormatter.php Use elseif instead of else if 2020-04-10 10:35:09 +02:00
DateTimeZone.php Update license headers for 19 2020-04-29 11:57:22 +02:00
ForbiddenException.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
HintException.php Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
InitialStateService.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Installer.php Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
LargeFileHelper.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
Log.php Avoid huge exception argument logging 2020-12-29 10:50:53 +01:00
MemoryInfo.php Update license headers for 19 2020-04-29 11:57:22 +02:00
NaturalSort.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
NaturalSort_DefaultCollator.php Update license headers 2019-12-05 15:38:45 +01:00
NavigationManager.php Update the license headers for Nextcloud 20 2020-08-24 14:54:25 +02:00
NeedsUpdateException.php Update license headers 2019-12-05 15:38:45 +01:00
NotSquareException.php Update license headers 2019-12-05 15:38:45 +01:00
PreviewManager.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
PreviewNotAvailableException.php Update license headers 2019-12-05 15:38:45 +01:00
RedisFactory.php Update license headers for 19 2020-04-29 11:57:22 +02:00
Repair.php Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
RepairException.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Search.php Fix "misplaced variables" warning of Psalm in PHPDoc statements 2020-08-17 17:46:57 +02:00
Server.php Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
ServerContainer.php First query the server container 2020-11-07 17:51:41 +01:00
ServerNotAvailableException.php Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
ServiceUnavailableException.php Update license headers 2019-12-05 15:38:45 +01:00
Setup.php Print an exception trace for setup exceptions 2021-01-07 20:11:25 +01:00
Streamer.php Only disable zip64 if the size is known 2020-09-01 15:01:12 +02:00
SubAdmin.php Fix typo in @deprecated PHPDoc tag 2020-11-24 00:13:09 +01:00
SystemConfig.php Use exactly one empty line after the namespace declaration 2020-04-09 11:48:10 +02:00
TagManager.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
Tags.php Bump doctrine/dbal from 2.12.0 to 3.0.0 2021-01-08 11:45:19 +01:00
TemplateLayout.php Update all license headers for Nextcloud 21 2020-12-16 18:48:22 +01:00
TempManager.php Update the license headers for Nextcloud 20 2020-08-24 14:54:25 +02:00
Updater.php Merge pull request #25034 from nextcloud/bugfix/noid/load-authentication-for-app-upgrades 2021-01-11 14:44:10 +01:00
URLGenerator.php Remove some IRouter methods 2020-11-17 14:08:20 +01:00