. */ namespace SP\Domain\Crypt\Services; use SP\Core\Crypt\Hash; use SP\Domain\Task\Services\Task; /** * Class UpdateMasterPassRequest * * @package SP\Domain\Crypt\Services */ final class UpdateMasterPassRequest { private string $currentMasterPass; private string $newMasterPass; private ?Task $task; private string $hash; private string $currentHash; /** * UpdateMasterPassRequest constructor. * * @param string $currentMasterPass * @param string $newMasterPass * @param string $currentHash * @param \SP\Domain\Task\Services\Task|null $task */ public function __construct( string $currentMasterPass, string $newMasterPass, string $currentHash, ?Task $task = null ) { $this->currentMasterPass = $currentMasterPass; $this->newMasterPass = $newMasterPass; $this->task = $task; $this->hash = Hash::hashKey($newMasterPass); $this->currentHash = $currentHash; } public function getCurrentMasterPass(): string { return $this->currentMasterPass; } public function getNewMasterPass(): string { return $this->newMasterPass; } public function getTask(): ?Task { return $this->task; } public function useTask(): bool { return $this->task !== null; } public function getHash(): string { return $this->hash; } public function getCurrentHash(): string { return $this->currentHash; } }