57 lines
1.1 KiB
PHP
57 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Utils;
|
|
|
|
use \AdamBrett\ShellWrapper\Command\Builder as CommandBuilder;
|
|
use App\Exceptions\BackupFolderNotFoundException;
|
|
use Throwable;
|
|
|
|
abstract class Builder
|
|
{
|
|
private $backupFolder;
|
|
private $containerName;
|
|
|
|
/**
|
|
* @param $backupFolder
|
|
* @return Builder
|
|
* @throws Throwable
|
|
*/
|
|
public function setBackupFolder($backupFolder): Builder
|
|
{
|
|
throw_if(!file_exists($backupFolder), new BackupFolderNotFoundException('Backup folder not exist!'));
|
|
$this->backupFolder = $backupFolder;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getBackupFolder(): string
|
|
{
|
|
return $this->backupFolder;
|
|
}
|
|
|
|
/**
|
|
* @param $containerName
|
|
* @return Builder
|
|
*/
|
|
public function setContainerName($containerName): Builder
|
|
{
|
|
$this->containerName = $containerName;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getContainerName(): string
|
|
{
|
|
return $this->containerName;
|
|
}
|
|
|
|
/**
|
|
* @return CommandBuilder
|
|
*/
|
|
abstract public function builder(): CommandBuilder;
|
|
}
|