vito/app/SSH/Services/Database/AbstractDatabase.php
Saeed Vaziry 428140b931
refactoring (#116)
- refactoring architecture
- fix incomplete ssh logs
- code editor for scripts in the app
- remove Jobs and SSHCommands
2024-03-14 20:03:43 +01:00

33 lines
849 B
PHP
Executable File

<?php
namespace App\SSH\Services\Database;
use App\Models\Server;
use App\Models\Service;
use App\SSH\HasScripts;
use App\SSH\Services\ServiceInterface;
abstract class AbstractDatabase implements Database, ServiceInterface
{
use HasScripts;
protected Service $service;
protected Server $server;
public function __construct(Service $service)
{
$this->service = $service;
$this->server = $service->server;
}
public function install(): void
{
$version = $this->service->version;
$command = $this->getScript($this->service->name.'/install-'.$version.'.sh');
$this->server->ssh()->exec($command, 'install-'.$this->service->name.'-'.$version);
$status = $this->server->systemd()->status($this->service->unit);
$this->service->validateInstall($status);
}
}