protected function getAvailableUpgrades(array $ext = []) : array
{
$current = $this->db->cell('SELECT versionid FROM airship_package_versions WHERE package = ? AND version = ?', $ext['packageid'], $ext['current_version']);
$available = $this->db->first('SELECT version FROM airship_package_versions WHERE package = ? AND versionid > ?', $ext['packageid'], $current);
if (empty($available)) {
return [];
}
$version = new Version($ext['current_version']);
$results = [];
foreach ($available as $ver) {
if ($version->isUpgrade($ver)) {
$results[] = $ver;
}
}
$ext['upgrades'] = $results;
return $ext;
}