mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 02:11:36 +00:00
38 lines
853 B
PHP
38 lines
853 B
PHP
<?php
|
|
|
|
namespace App\Jobs\Ssl;
|
|
|
|
use App\Enums\SiteType;
|
|
use App\Enums\SslStatus;
|
|
use App\Jobs\Job;
|
|
use App\Models\Ssl;
|
|
|
|
class Deploy extends Job
|
|
{
|
|
protected Ssl $ssl;
|
|
|
|
public function __construct(Ssl $ssl)
|
|
{
|
|
$this->ssl = $ssl;
|
|
}
|
|
|
|
public function handle(): void
|
|
{
|
|
$this->ssl->site->server->webserver()->handler()->setupSSL($this->ssl);
|
|
$this->ssl->status = SslStatus::CREATED;
|
|
$this->ssl->save();
|
|
if ($this->ssl->site->type == SiteType::WORDPRESS) {
|
|
$typeData = $this->ssl->site->type_data;
|
|
$typeData['url'] = $this->ssl->site->url;
|
|
$this->ssl->site->type_data = $typeData;
|
|
$this->ssl->site->save();
|
|
$this->ssl->site->type()->edit();
|
|
}
|
|
}
|
|
|
|
public function failed(): void
|
|
{
|
|
$this->ssl->delete();
|
|
}
|
|
}
|