user === null) { throw new BadRequestException('user is required'); } if ($request->minuteOffset === null) { throw new BadRequestException('minuteOffset is required'); } $existingToken = $this->tokenRepository->findByUser($request->user); if ($existingToken !== null) { $this->tokenRepository->delete($existingToken->getId()); } return $this->tokenRepository->create( new CreateEmailConfirmationTokenDto( user: $request->user, availableTo: $this->clock->now()->modify( "+{$request->minuteOffset} minutes", ), token: $this->tokenGenerator->generate(), ), ); } }