OpenXE/classes/Modules/ApiAccount/Data/ApiAccountData.php
2021-05-21 08:49:41 +02:00

246 lines
5.7 KiB
PHP

<?php
declare(strict_types=1);
namespace Xentral\Modules\ApiAccount\Data;
final class ApiAccountData
{
/** @var int $id */
private $id;
/** @var string $name */
private $name;
/** @var string $initKey */
private $initKey;
/** @var string $importQueueName */
private $importQueueName;
/** @var string $eventUrl */
private $eventUrl;
/** @var string $remoteDomain */
private $remoteDomain;
/** @var bool $active */
private $active;
/** @var bool $importQueueActive */
private $importQueueActive;
/** @var bool $cleanUtf8Active */
private $cleanUtf8Active;
/** @var int $transferAccountId */
private $transferAccountId;
/** @var int $projectId */
private $projectId;
/** @var string $permissions */
private $permissions;
/** @var bool $isLegacy */
private $isLegacy;
/** @var bool */
private $isHtmlTransformation;
/**
* @param int $apiAccountId
* @param string $name
* @param string $initKey
* @param string $importQueueName
* @param string $eventUrl
* @param string $remoteDomain
* @param bool $active
* @param bool $importQueueActive
* @param bool $cleanUtf8Active
* @param int $transferAccountId
* @param int $projectId
* @param string|null $permissions
* @param bool $isLegacy
* @param bool $isHtmlTransformation
*/
public function __construct(
int $apiAccountId,
string $name,
string $initKey,
string $importQueueName,
string $eventUrl,
string $remoteDomain,
bool $active,
bool $importQueueActive,
bool $cleanUtf8Active,
int $transferAccountId,
int $projectId,
?string $permissions,
bool $isLegacy,
bool $isHtmlTransformation
) {
$this->id = $apiAccountId;
$this->name = $name;
$this->initKey = $initKey;
$this->importQueueName = $importQueueName;
$this->eventUrl = $eventUrl;
$this->remoteDomain = $remoteDomain;
$this->active = $active;
$this->importQueueActive = $importQueueActive;
$this->cleanUtf8Active = $cleanUtf8Active;
$this->transferAccountId = $transferAccountId;
$this->projectId = $projectId;
$this->permissions = $permissions;
$this->isLegacy = $isLegacy;
$this->isHtmlTransformation = $isHtmlTransformation;
}
/**
* @param array $formData
*
* @return ApiAccountData
*/
public static function fromFormData(array $formData): ApiAccountData
{
$apiAccountData = new self(
$formData['id'], $formData['name'], $formData['init_key'], $formData['import_queue_name'],
$formData['event_url'], $formData['remotedomain'], $formData['active'],
$formData['import_queue'], $formData['cleanutf8'], $formData['transfer_account_id'],
$formData['project_id'], $formData['permissions'], $formData['is_legacy'], $formData['is_html_transformation']
);
return $apiAccountData;
}
/**
* @param array $apiAccountRow
*
* @return ApiAccountData
*/
public static function fromDbState(array $apiAccountRow): ApiAccountData
{
$apiAccountData = new self(
$apiAccountRow['id'], $apiAccountRow['bezeichnung'], $apiAccountRow['initkey'],
$apiAccountRow['importwarteschlange_name'], $apiAccountRow['event_url'],
$apiAccountRow['remotedomain'], (bool) $apiAccountRow['aktiv'],
(bool) $apiAccountRow['importwarteschlange'], (bool) $apiAccountRow['cleanutf8'],
$apiAccountRow['uebertragung_account'], $apiAccountRow['projekt'],
$apiAccountRow['permissions'],
(bool) $apiAccountRow['is_legacy'], (bool) $apiAccountRow['ishtmltransformation']
);
return $apiAccountData;
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @return string
*/
public function getInitKey(): string
{
return $this->initKey;
}
/**
* @return string
*/
public function getImportQueueName(): string
{
return $this->importQueueName;
}
/**
* @return string
*/
public function getEventUrl(): string
{
return $this->eventUrl;
}
/**
* @return string
*/
public function getRemoteDomain(): string
{
return $this->remoteDomain;
}
/**
* @return bool
*/
public function isActive(): bool
{
return $this->active;
}
/**
* @return bool
*/
public function isImportQueueActive(): bool
{
return $this->importQueueActive;
}
/**
* @return bool
*/
public function isCleanUtf8Active(): bool
{
return $this->cleanUtf8Active;
}
/**
* @return int
*/
public function getTransferAccountId(): int
{
return $this->transferAccountId;
}
/**
* @return int
*/
public function getProjectId(): int
{
return $this->projectId;
}
/**
* @return string|null
*/
public function getPermissions(): ?string
{
return $this->permissions;
}
/**
* @return bool
*/
public function isLegacy(): bool
{
return $this->isLegacy;
}
public function isHtmlTransformationActive(): bool
{
return $this->isHtmlTransformation;
}
}