Skip to content

Commit

Permalink
improved version checker
Browse files Browse the repository at this point in the history
  • Loading branch information
denisdulici committed Feb 21, 2020
1 parent d8a0948 commit 4b0e836
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 13 deletions.
16 changes: 6 additions & 10 deletions app/Console/Commands/Update.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,11 @@ public function handle()

$this->alias = $this->argument('alias');

$this->new = $this->getNewVersion();
if (false === $this->new = $this->getNewVersion()) {
$this->error('Not able to get the latest version of ' . $this->alias . '!');

return self::CMD_ERROR;
}

$this->old = $this->getOldVersion();

Expand Down Expand Up @@ -71,15 +75,7 @@ public function handle()

public function getNewVersion()
{
$new = $this->argument('new');

if ($new == 'latest') {
$modules = ($this->alias == 'core') ? [] : [$this->alias];

$new = Versions::latest($modules)[$this->alias]->data->latest;
}

return $new;
return ($this->argument('new') == 'latest') ? Versions::latest($this->alias) : $this->argument('new');
}

public function getOldVersion()
Expand Down
2 changes: 1 addition & 1 deletion app/Utilities/Updater.php
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public static function all()

$modules = module()->all();

$versions = Versions::latest($modules);
$versions = Versions::all($modules);

foreach ($versions as $alias => $latest_version) {
$installed_version = ($alias == 'core') ? version('short') : module($alias)->get('version');
Expand Down
27 changes: 25 additions & 2 deletions app/Utilities/Versions.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

namespace App\Utilities;

use Akaunting\Module\Module;
use App\Traits\SiteApi;
use Cache;
use Date;
use Illuminate\Support\Arr;
use Parsedown;

class Versions
Expand Down Expand Up @@ -52,7 +54,18 @@ public static function changelog()
return $output;
}

public static function latest($modules = [])
public static function latest($alias)
{
$versions = static::all($alias);

if (empty($versions[$alias]) || empty($versions[$alias]->data)) {
return false;
}

return $versions[$alias]->data->latest;
}

public static function all($modules = null)
{
// Get data from cache
$versions = Cache::get('versions');
Expand All @@ -70,8 +83,18 @@ public static function latest($modules = [])

$versions['core'] = static::getLatestVersion($url, $info['akaunting']);

$modules = Arr::wrap($modules);

// Then modules
foreach ($modules as $module) {
if (is_string($module)) {
$module = module($module);
}

if (!$module instanceof Module) {
continue;
}

$alias = $module->get('alias');
$version = $module->get('version');

Expand All @@ -85,7 +108,7 @@ public static function latest($modules = [])
return $versions;
}

public static function getLatestVersion($url, $latest)
protected static function getLatestVersion($url, $latest)
{
if (!$data = static::getResponseData('GET', $url, ['timeout' => 10])) {
return $latest;
Expand Down

0 comments on commit 4b0e836

Please sign in to comment.