From f82937e85e9c9ecfdef90228cf4c68658bb8b419 Mon Sep 17 00:00:00 2001 From: Darko Gjorgjijoski Date: Thu, 1 Aug 2024 19:39:47 +0200 Subject: [PATCH] Set app version on install and updates --- .../DatabaseConfigurationController.php | 3 +++ app/Space/InstallUtils.php | 16 ++++++++++++++++ app/Space/Updater.php | 2 ++ database/seeders/UsersTableSeeder.php | 3 +++ 4 files changed, 24 insertions(+) diff --git a/app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php b/app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php index 6d3e1211..5c640349 100644 --- a/app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php +++ b/app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\V1\Installation; use App\Http\Controllers\Controller; use App\Http\Requests\DatabaseEnvironmentRequest; use App\Space\EnvironmentManager; +use App\Space\InstallUtils; use Illuminate\Http\Request; use Illuminate\Support\Facades\Artisan; @@ -34,6 +35,8 @@ class DatabaseConfigurationController extends Controller Artisan::call('cache:clear'); Artisan::call('storage:link'); Artisan::call('migrate --seed --force'); + // Set version. + InstallUtils::setCurrentVersion(); } return response()->json($results); diff --git a/app/Space/InstallUtils.php b/app/Space/InstallUtils.php index 72a5917c..7b2944e1 100644 --- a/app/Space/InstallUtils.php +++ b/app/Space/InstallUtils.php @@ -2,7 +2,9 @@ namespace App\Space; +use App\Models\Setting; use Illuminate\Database\QueryException; +use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Log; use League\Flysystem\FilesystemException; @@ -89,4 +91,18 @@ class InstallUtils return false; } + + /** + * Set the app version + * + * @return void + */ + public static function setCurrentVersion() + { + $version = preg_replace('~[\r\n]+~', '', File::get(base_path('version.md'))); + if (! $version) { + return; + } + Setting::setSetting('version', $version); + } } diff --git a/app/Space/Updater.php b/app/Space/Updater.php index 87c420ad..fce325b0 100644 --- a/app/Space/Updater.php +++ b/app/Space/Updater.php @@ -3,6 +3,7 @@ namespace App\Space; use App\Events\UpdateFinished; +use App\Models\Setting; use Artisan; use File; use GuzzleHttp\Exception\RequestException; @@ -138,6 +139,7 @@ class Updater public static function finishUpdate($installed, $version) { + Setting::setSetting('version', $version); event(new UpdateFinished($installed, $version)); return [ diff --git a/database/seeders/UsersTableSeeder.php b/database/seeders/UsersTableSeeder.php index 99062ad7..4b119e30 100644 --- a/database/seeders/UsersTableSeeder.php +++ b/database/seeders/UsersTableSeeder.php @@ -5,6 +5,7 @@ namespace Database\Seeders; use App\Models\Company; use App\Models\Setting; use App\Models\User; +use App\Space\InstallUtils; use Illuminate\Database\Seeder; use Silber\Bouncer\BouncerFacade; use Vinkla\Hashids\Facades\Hashids; @@ -38,5 +39,7 @@ class UsersTableSeeder extends Seeder $user->assign('super admin'); Setting::setSetting('profile_complete', 0); + // Set version. + InstallUtils::setCurrentVersion(); } }