2020-12-24 02:16:00 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Jobs\Install;
|
|
|
|
|
|
|
|
use App\Abstracts\Job;
|
|
|
|
use App\Models\Module\Module;
|
|
|
|
use App\Utilities\Console;
|
|
|
|
|
|
|
|
class FinishUpdate extends Job
|
|
|
|
{
|
|
|
|
protected $alias;
|
|
|
|
|
|
|
|
protected $new;
|
|
|
|
|
|
|
|
protected $old;
|
|
|
|
|
2020-12-25 12:08:15 +03:00
|
|
|
protected $company_id;
|
|
|
|
|
2020-12-24 02:16:00 +03:00
|
|
|
/**
|
|
|
|
* Create a new job instance.
|
|
|
|
*
|
|
|
|
* @param $alias
|
|
|
|
* @param $new
|
|
|
|
* @param $old
|
2020-12-25 12:08:15 +03:00
|
|
|
* @param $company_id
|
2020-12-24 02:16:00 +03:00
|
|
|
*/
|
2020-12-25 12:08:15 +03:00
|
|
|
public function __construct($alias, $new, $old, $company_id)
|
2020-12-24 02:16:00 +03:00
|
|
|
{
|
|
|
|
$this->alias = $alias;
|
|
|
|
$this->new = $new;
|
|
|
|
$this->old = $old;
|
2020-12-25 12:08:15 +03:00
|
|
|
$this->company_id = $company_id;
|
2020-12-24 02:16:00 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Execute the job.
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function handle()
|
|
|
|
{
|
|
|
|
if ($this->alias == 'core') {
|
2020-12-25 12:08:15 +03:00
|
|
|
$companies = [$this->company_id];
|
2020-12-24 02:16:00 +03:00
|
|
|
} else {
|
|
|
|
$companies = Module::alias($this->alias)->allCompanies()->cursor();
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($companies as $company) {
|
|
|
|
$company_id = is_object($company) ? $company->id : $company;
|
|
|
|
|
|
|
|
$command = "update:finish {$this->alias} {$company_id} {$this->new} {$this->old}";
|
|
|
|
|
|
|
|
if (true !== $result = Console::run($command)) {
|
|
|
|
$message = !empty($result) ? $result : trans('modules.errors.finish', ['module' => $this->alias]);
|
|
|
|
|
|
|
|
throw new \Exception($message);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|