From 6601adcd6da33e3f8745156264ceb75b1958eff5 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 27 Jun 2024 16:22:42 +0200 Subject: [PATCH] refactor(SetupCheck): Make mariadb and mysql version variables Signed-off-by: Ferdinand Thiessen --- .../lib/SetupChecks/SupportedDatabase.php | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/apps/settings/lib/SetupChecks/SupportedDatabase.php b/apps/settings/lib/SetupChecks/SupportedDatabase.php index ede2842106855..89f789483059b 100644 --- a/apps/settings/lib/SetupChecks/SupportedDatabase.php +++ b/apps/settings/lib/SetupChecks/SupportedDatabase.php @@ -19,6 +19,12 @@ use OCP\SetupCheck\SetupResult; class SupportedDatabase implements ISetupCheck { + + private const MIN_MARIADB = '10.6'; + private const MAX_MARIADB = '11.4'; + private const MIN_MYSQL = '8.0'; + private const MAX_MYSQL = '8.4'; + public function __construct( private IL10N $l10n, private IURLGenerator $urlGenerator, @@ -48,13 +54,39 @@ public function run(): SetupResult { $versionConcern = $major . '.' . $minor; if (str_contains($versionlc, 'mariadb')) { if (version_compare($versionConcern, '10.3', '=')) { - return SetupResult::info($this->l10n->t('MariaDB version 10.3 detected, this version is end-of-life and only supported as part of Ubuntu 20.04. MariaDB >=10.6 and <=11.4 is suggested for best performance, stability and functionality with this version of Nextcloud.')); - } elseif (version_compare($versionConcern, '10.6', '<') || version_compare($versionConcern, '11.4', '>')) { - return SetupResult::warning($this->l10n->t('MariaDB version "%s" detected. MariaDB >=10.6 and <=11.4 is suggested for best performance, stability and functionality with this version of Nextcloud.', $version)); + return SetupResult::info( + $this->l10n->t( + 'MariaDB version 10.3 detected, this version is end-of-life and only supported as part of Ubuntu 20.04. MariaDB >=%1$s and <=%2$s is suggested for best performance, stability and functionality with this version of Nextcloud.', + [ + self::MIN_MARIADB, + self::MAX_MARIADB, + ] + ), + ); + } elseif (version_compare($versionConcern, self::MIN_MARIADB, '<') || version_compare($versionConcern, self::MAX_MARIADB, '>')) { + return SetupResult::warning( + $this->l10n->t( + 'MariaDB version "%1$s" detected. MariaDB >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud.', + [ + $version, + self::MIN_MARIADB, + self::MAX_MARIADB, + ], + ), + ); } } else { - if (version_compare($versionConcern, '8.0', '<') || version_compare($versionConcern, '8.4', '>')) { - return SetupResult::warning($this->l10n->t('MySQL version "%s" detected. MySQL >=8.0 and <=8.4 is suggested for best performance, stability and functionality with this version of Nextcloud.', $version)); + if (version_compare($versionConcern, self::MIN_MYSQL, '<') || version_compare($versionConcern, self::MAX_MYSQL, '>')) { + return SetupResult::warning( + $this->l10n->t( + 'MySQL version "%1$s" detected. MySQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud.', + [ + $version, + self::MIN_MYSQL, + self::MAX_MYSQL, + ], + ), + ); } } } elseif ($databasePlatform instanceof PostgreSQLPlatform) {