Files
futurewalker/app/Helpers/ThirdParty/DFS/SettingSerpLiveAdvanced.php

204 lines
3.8 KiB
PHP

<?php
namespace App\Helpers\ThirdParty\DFS;
class SettingSerpLiveAdvanced extends AbstractModel
{
protected $method = 'POST';
protected $isSupportedMerge = true;
protected $pathToMainData = 'tasks->{$postID}->result';
protected $requestToFunction = 'serp/{$se}/{$seType}/live/advanced';
protected $resultShouldBeTransformedToArray = true;
protected $jsonContainVariadicType = true;
protected $pathsToVariadicTypesAndValue = ['tasks->(:number)->result->(:number)->items->(:number)' => 'type'];
protected $useNewMapper = true;
/**
* @return $this
*/
public function setUrl(string $url)
{
$this->payload['url'] = $url;
return $this;
}
/**
* @return $this
*/
public function setLanguageCode(string $langCode)
{
$this->payload['language_code'] = $langCode;
return $this;
}
/**
* @return $this
*/
public function setKeyword(string $keyword)
{
$this->payload['keyword'] = $keyword;
return $this;
}
/**
* @return $this
*/
public function setPriority(string $priority)
{
$this->payload['priority'] = $priority;
return $this;
}
/**
* @return $this
*/
public function setLocationName(string $locationName)
{
$this->payload['location_name'] = $locationName;
return $this;
}
/**
* @return $this
*/
public function setLocationCode(int $locationCode)
{
$this->payload['location_code'] = $locationCode;
return $this;
}
/**
* @return $this
*/
public function setLocationCoordinate(string $locationCoordinate)
{
$this->payload['location_coordinate'] = $locationCoordinate;
return $this;
}
/**
* @return $this
*/
public function setLanguageName(string $languageName)
{
$this->payload['language_name'] = $languageName;
return $this;
}
/**
* @return $this
*/
public function setDevice(string $device)
{
$this->payload['device'] = $device;
return $this;
}
/**
* @return $this
*/
public function setOs(string $os)
{
$this->payload['os'] = $os;
return $this;
}
/**
* @return $this
*/
public function setSeDomain(string $seDomain)
{
$this->payload['se_domain'] = $seDomain;
return $this;
}
/**
* @return $this
*/
public function setDepth(int $depth)
{
$this->payload['depth'] = $depth;
return $this;
}
/**
* @return $this
*/
public function setSearchParam(string $searchParam)
{
$this->payload['search_param'] = $searchParam;
return $this;
}
/**
* @return $this
*/
public function setTag(string $tag)
{
$this->payload['tag'] = $tag;
return $this;
}
/**
* @return $this
*
* @throws \Exception
*/
public function setSeType(string $seType)
{
if (! in_array($seType, $this->seTypes)) {
throw new \Exception('Provided se type not allowed');
}
$this->requestToFunction = str_replace('{$seType}', $seType, $this->requestToFunction);
return $this;
}
/**
* @return $this
*/
public function setSe(string $seName)
{
$this->requestToFunction = str_replace('{$se}', $seName, $this->requestToFunction);
return $this;
}
public function get(): \DFSClientV3\Entity\Custom\SettingSerpLiveAdvancedEntityMain
{
return parent::get();
}
/**
* @return array
*
* @throws \Exception
*/
public static function getAfterMerge(array $modelPool)
{
return parent::getAfterMerge($modelPool); // TODO: Change the autogenerated stub
}
}