diff --git a/app/Http/Controllers/UpdateController.php b/app/Http/Controllers/UpdateController.php index 7be95412..130c5096 100644 --- a/app/Http/Controllers/UpdateController.php +++ b/app/Http/Controllers/UpdateController.php @@ -12,7 +12,14 @@ class UpdateController extends Controller { set_time_limit(600); // 10 minutes - $json = Updater::update($request->installed, $request->version, $request->isMinor); + $json = Updater::update($request->installed, $request->version); + + return response()->json($json); + } + + public function finishUpdate(Request $request) + { + $json = Updater::finishUpdate($request->installed, $request->version); return response()->json($json); } diff --git a/app/Space/Updater.php b/app/Space/Updater.php index ba607a64..536abf8e 100644 --- a/app/Space/Updater.php +++ b/app/Space/Updater.php @@ -8,12 +8,13 @@ use GuzzleHttp\Exception\RequestException; use Crater\Space\SiteApi; use Crater\Events\UpdateFinished; use Crater\Setting; +use Illuminate\Http\Request; class Updater { use SiteApi; - public static function update($installed, $version, $isMinor) + public static function update($installed, $version) { $data = null; $path = null; @@ -79,10 +80,6 @@ class Updater File::deleteDirectory($temp_path); File::deleteDirectory($temp_path2); - if (!$isMinor) { - event(new UpdateFinished($installed, $version)); - } - return [ 'success' => true, 'error' => false, @@ -104,6 +101,17 @@ class Updater } } + public static function finishUpdate($installed, $version) + { + event(new UpdateFinished($installed, $version)); + + return [ + 'success' => true, + 'error' => false, + 'data' => [] + ]; + } + public static function checkForUpdate() { $data = null; diff --git a/routes/api.php b/routes/api.php index 99754925..c23e397a 100644 --- a/routes/api.php +++ b/routes/api.php @@ -127,6 +127,7 @@ Route::group(['middleware' => 'api'], function () { 'middleware' => 'admin' ], function () { + // Auto update routes //---------------------------------- Route::post('/update', [ @@ -134,6 +135,11 @@ Route::group(['middleware' => 'api'], function () { 'uses' => 'UpdateController@update' ]); + Route::post('/finish/update', [ + 'as' => 'auto.finish.update', + 'uses' => 'UpdateController@finishUpdate' + ]); + Route::get('/check/update', [ 'as' => 'check.update', 'uses' => 'UpdateController@checkLatestVersion'