Auto update #449 (#545)

* Add custom repository type for updates

* Direct to self update module

* Formatting
This commit is contained in:
Nabeel S
2020-02-10 17:47:46 -05:00
committed by GitHub
parent 3fcd378f91
commit 99118daad9
14 changed files with 281 additions and 49 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
use App\Contracts\Controller;
use App\Repositories\KvpRepository;
use App\Services\CronService;
use App\Services\VersionService;
use Codedge\Updater\UpdaterManager;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
@@ -16,15 +17,18 @@ class MaintenanceController extends Controller
private $cronSvc;
private $kvpRepo;
private $updateManager;
private $versionSvc;
public function __construct(
CronService $cronSvc,
KvpRepository $kvpRepo,
UpdaterManager $updateManager
UpdaterManager $updateManager,
VersionService $versionSvc
) {
$this->cronSvc = $cronSvc;
$this->kvpRepo = $kvpRepo;
$this->updateManager = $updateManager;
$this->versionSvc = $versionSvc;
}
public function index()
@@ -32,7 +36,7 @@ class MaintenanceController extends Controller
return view('admin.maintenance.index', [
'cron_path' => $this->cronSvc->getCronExecString(),
'cron_problem_exists' => $this->cronSvc->cronProblemExists(),
'new_version' => $this->kvpRepo->get('new_version_available', false),
'new_version' => true, //$this->kvpRepo->get('new_version_available', false),
'new_version_tag' => $this->kvpRepo->get('latest_version_tag'),
]);
}
@@ -70,6 +74,31 @@ class MaintenanceController extends Controller
return redirect(route('admin.maintenance.index'));
}
/**
* Force an update check
*
* @param \Illuminate\Http\Request $request
*
* @return mixed
*/
public function forcecheck(Request $request)
{
$this->versionSvc->isNewVersionAvailable();
$new_version_avail = $this->kvpRepo->get('new_version_available', false);
$new_version_tag = $this->kvpRepo->get('latest_version_tag');
Log::info('Force check, available='.$new_version_avail.', tag='.$new_version_tag);
if (!$new_version_avail) {
Flash::success('No new version available');
} else {
Flash::success('New version available: '.$new_version_tag);
}
return redirect(route('admin.maintenance.index'));
}
/**
* Update the phpVMS install
*
@@ -79,18 +108,8 @@ class MaintenanceController extends Controller
*/
public function update(Request $request)
{
$new_version_avail = $this->kvpRepo->get('new_version_available', false);
if (!$new_version_avail) {
Flash::error('A newer version is not available!');
return redirect(route('admin.maintenance.index'));
}
$new_version_tag = $this->kvpRepo->get('latest_version_tag');
Log::info('Attempting to update to '.$new_version_tag);
$this->updateManager->source()->update($new_version_tag);
Flash::success('phpVMS was updated!');
return redirect(route('/update'));
return redirect('/update/downloader');
}
}