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