<?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; } }