mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-19 00:22:15 +00:00
dashboard alert box for new system upgrade
This commit is contained in:
@@ -1,15 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Domain\Maintenance\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use DB;
|
||||
use Domain\Files\Models\File;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Domain\Maintenance\Actions\UpgradeDatabaseAction;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Arr;
|
||||
use Schema;
|
||||
use Storage;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Http\Request;
|
||||
use Domain\Files\Models\File;
|
||||
use Illuminate\Http\Response;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Maintenance\Models\AppUpdate;
|
||||
use Domain\Maintenance\Actions\UpgradeDatabaseAction;
|
||||
|
||||
ini_set('max_execution_time', -1);
|
||||
|
||||
@@ -17,26 +19,33 @@ class UpgradeSystemController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
public UpgradeDatabaseAction $upgradeDatabase,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
public function __invoke(Request $request)
|
||||
public function __invoke(Request $request): Response
|
||||
{
|
||||
// Get already updated versions
|
||||
// TODO: get from database
|
||||
$alreadyUpdated = ['2_0_8', '2_0_7'];
|
||||
$alreadyUpdated = Schema::hasTable('app_updates')
|
||||
? AppUpdate::all()
|
||||
->pluck('version')
|
||||
->toArray()
|
||||
: [];
|
||||
|
||||
// Get versions which has to be upgraded
|
||||
$needToUpgrade = array_diff(config('vuefilemanager.updates'), $alreadyUpdated);
|
||||
|
||||
// Iterate and upgrade
|
||||
foreach ($needToUpgrade as $version) {
|
||||
|
||||
// Get method name
|
||||
$method = "upgrade_to_$version";
|
||||
|
||||
if (method_exists($this, $method)) {
|
||||
// Run update
|
||||
$this->{$method}($request);
|
||||
|
||||
// Store update record
|
||||
AppUpdate::create(['version' => $version]);
|
||||
|
||||
return response('Done', 201);
|
||||
}
|
||||
}
|
||||
@@ -48,11 +57,11 @@ class UpgradeSystemController extends Controller
|
||||
{
|
||||
($this->upgradeDatabase)();
|
||||
|
||||
// Upgrade team folder content ownership
|
||||
Folder::where('parent_id', null)
|
||||
->where('team_folder', true)
|
||||
->cursor()
|
||||
->each(function ($teamFolder) {
|
||||
|
||||
// Get all inherited folder from team folder
|
||||
$childrenFolderIds = Folder::with('folders:id,parent_id')
|
||||
->where('id', $teamFolder->id)
|
||||
@@ -91,7 +100,7 @@ class UpgradeSystemController extends Controller
|
||||
|
||||
// Update file permission
|
||||
File::find($file->id)->update([
|
||||
'user_id' => $teamFolder->user_id,
|
||||
'user_id' => $teamFolder->user_id,
|
||||
'creator_id' => $teamFolder->user_id !== $file->user_id ? $file->user_id : null,
|
||||
]);
|
||||
});
|
||||
@@ -102,4 +111,4 @@ class UpgradeSystemController extends Controller
|
||||
->update(['user_id' => $teamFolder->user_id]);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user