2022-02-01 20:40:01 +01:00
|
|
|
<?php declare(strict_types=1);
|
2022-01-31 14:42:17 +01:00
|
|
|
|
|
|
|
namespace App\Entity;
|
|
|
|
|
2022-09-22 19:31:38 +02:00
|
|
|
use App\Controller\ConfigController;
|
|
|
|
use App\Controller\EncryptionController;
|
|
|
|
use Exception;
|
|
|
|
use SodiumException;
|
|
|
|
|
2022-01-31 14:42:17 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Panel
|
|
|
|
{
|
2022-09-21 16:02:42 +02:00
|
|
|
/**
|
|
|
|
* @param string $name
|
|
|
|
* @param int $id
|
|
|
|
* @param string $a
|
|
|
|
* @param string $aaaa
|
2022-09-22 19:31:38 +02:00
|
|
|
* @param string $passphrase
|
2022-09-21 16:02:42 +02:00
|
|
|
* @param string $apikey
|
|
|
|
* @param string $apikeyPrefix
|
|
|
|
* @param string $self
|
|
|
|
*/
|
|
|
|
public function __construct(
|
2022-09-22 19:31:38 +02:00
|
|
|
private string $name,
|
|
|
|
private int $id = 0,
|
|
|
|
private string $a = '',
|
|
|
|
private string $aaaa = '',
|
|
|
|
private readonly string $passphrase = '',
|
|
|
|
private string $apikey = '',
|
|
|
|
private string $apikeyPrefix = '',
|
|
|
|
private string $self = 'no',
|
2022-09-21 16:02:42 +02:00
|
|
|
)
|
2022-09-22 19:31:38 +02:00
|
|
|
{
|
|
|
|
if ($this->passphrase) {
|
|
|
|
$configController = new ConfigController();
|
|
|
|
$encryptionController = new EncryptionController();
|
|
|
|
|
|
|
|
$encryptionKey = $configController->getConfig(configKey: 'encryptionKey');
|
|
|
|
|
|
|
|
$this->apikeyPrefix = strtok(string: $this->passphrase, token: '.');
|
|
|
|
|
|
|
|
try {
|
|
|
|
$this->apikey = $encryptionController->safeEncrypt(message: $this->passphrase, key: $encryptionKey);
|
|
|
|
} catch (Exception|SodiumException $e) {
|
|
|
|
die($e->getMessage() . PHP_EOL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-09-21 16:02:42 +02:00
|
|
|
|
2022-09-22 19:31:38 +02:00
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getPassphrase(): string
|
|
|
|
{
|
|
|
|
return $this->passphrase;
|
|
|
|
}
|
2022-09-21 16:02:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getName(): string
|
|
|
|
{
|
|
|
|
return $this->name;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $name
|
|
|
|
*/
|
|
|
|
public function setName(string $name): void
|
|
|
|
{
|
|
|
|
$this->name = $name;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getId(): int
|
|
|
|
{
|
|
|
|
return $this->id;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param int $id
|
|
|
|
*/
|
|
|
|
public function setId(int $id): void
|
|
|
|
{
|
|
|
|
$this->id = $id;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getA(): string
|
|
|
|
{
|
|
|
|
return $this->a;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getSelf(): string
|
|
|
|
{
|
|
|
|
return $this->self;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $self
|
|
|
|
*/
|
|
|
|
public function setSelf(string $self): void
|
|
|
|
{
|
|
|
|
$this->self = $self;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getAaaa(): string
|
|
|
|
{
|
|
|
|
return $this->aaaa;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getApikey(): string
|
|
|
|
{
|
2022-09-22 19:31:38 +02:00
|
|
|
return $this->apikey;
|
2022-09-21 16:02:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $a
|
|
|
|
*/
|
|
|
|
public function setA(string $a): void
|
|
|
|
{
|
|
|
|
$this->a = $a;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $aaaa
|
|
|
|
*/
|
|
|
|
public function setAaaa(string $aaaa): void
|
|
|
|
{
|
|
|
|
$this->aaaa = $aaaa;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getApikeyPrefix(): string
|
|
|
|
{
|
|
|
|
return $this->apikeyPrefix;
|
|
|
|
}
|
|
|
|
|
2022-09-17 16:29:23 +02:00
|
|
|
}
|