getParsedBody(); if (! isset($postData['longUrl'])) { throw new InvalidArgumentException($this->translator->translate('A URL was not provided')); } return new CreateShortCodeData( new Uri($postData['longUrl']), (array) ($postData['tags'] ?? []), ShortUrlMeta::createFromParams( $this->getOptionalDate($postData, 'validSince'), $this->getOptionalDate($postData, 'validUntil'), $postData['customSlug'] ?? null, isset($postData['maxVisits']) ? (int) $postData['maxVisits'] : null ) ); } private function getOptionalDate(array $postData, string $fieldName) { return isset($postData[$fieldName]) ? new \DateTime($postData[$fieldName]) : null; } }