. */ namespace SP\Services\Crypt; use SP\Core\Crypt\Hash; use SP\Services\Task\Task; /** * Class UpdateMasterPassRequest * * @package SP\Services\Crypt */ final class UpdateMasterPassRequest { private string $currentMasterPass; private string $newMasterPass; private ?Task $task = null; private string $hash; private string $currentHash; /** * UpdateMasterPassRequest constructor. * * @param string $currentMasterPass * @param string $newMasterPass * @param string $currentHash * @param \SP\Services\Task\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; } }