204 lines
3.8 KiB
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
|
|
}
|
|
}
|