Turn install_latest_major property into a string so we can save a version string or number

I chose a string instead of an integer so we have more freedom what to
actually save (maybe we want to include minor version digits at one point).

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
This commit is contained in:
Pablo Zmdl 2026-01-23 17:10:21 +01:00
parent 3bb2ce6e4c
commit 27fd1e82ab
2 changed files with 11 additions and 4 deletions

View file

@ -177,8 +177,14 @@ readonly class DockerController {
$port = 443; $port = 443;
} }
if (isset($request->getParsedBody()['install_latest_major'])) {
$install_latest_major = '32';
} else {
$install_latest_major = '';
}
$this->configurationManager->startTransaction(); $this->configurationManager->startTransaction();
$this->configurationManager->install_latest_major = isset($request->getParsedBody()['install_latest_major']); $this->configurationManager->install_latest_major = $install_latest_major;
// set AIO_URL // set AIO_URL
$this->configurationManager->AIO_URL = $host . ':' . (string)$port . $path; $this->configurationManager->AIO_URL = $host . ':' . (string)$port . $path;
// set wasStartButtonClicked // set wasStartButtonClicked

View file

@ -68,8 +68,9 @@ class ConfigurationManager
set { $this->set('wasStartButtonClicked', $value); } set { $this->set('wasStartButtonClicked', $value); }
} }
public bool $install_latest_major { public string $install_latest_major {
get => $this->get('install_latest_major', false); // Type-cast because old configs could have integers for this key.
get => (string) $this->get('install_latest_major', '');
set { $this->set('install_latest_major', $value); } set { $this->set('install_latest_major', $value); }
} }
@ -1080,7 +1081,7 @@ class ConfigurationManager
'NEXTCLOUD_STARTUP_APPS' => $this->GetNextcloudStartupApps(), 'NEXTCLOUD_STARTUP_APPS' => $this->GetNextcloudStartupApps(),
'NEXTCLOUD_ADDITIONAL_APKS' => $this->GetNextcloudAdditionalApks(), 'NEXTCLOUD_ADDITIONAL_APKS' => $this->GetNextcloudAdditionalApks(),
'NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS' => $this->GetNextcloudAdditionalPhpExtensions(), 'NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS' => $this->GetNextcloudAdditionalPhpExtensions(),
'INSTALL_LATEST_MAJOR' => $this->install_latest_major ? 'yes' : '', 'INSTALL_LATEST_MAJOR' => $this->install_latest_major,
'REMOVE_DISABLED_APPS' => $this->shouldDisabledAppsGetRemoved() ? 'yes' : '', 'REMOVE_DISABLED_APPS' => $this->shouldDisabledAppsGetRemoved() ? 'yes' : '',
// Allow to get local ip-address of database container which allows to talk to it even in host mode (the container that requires this needs to be started first then) // Allow to get local ip-address of database container which allows to talk to it even in host mode (the container that requires this needs to be started first then)
'AIO_DATABASE_HOST' => gethostbyname('nextcloud-aio-database'), 'AIO_DATABASE_HOST' => gethostbyname('nextcloud-aio-database'),