<?php
namespace App\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use JsonSerializable;
/**
* @MongoDB\Document(repositoryClass="App\Repository\DspBuyerRepository", collection="dsp_buyer")
* @MongoDB\UniqueIndex(keys={"gitId"="asc", "gitParentId"="asc"})
*/
class DspBuyer implements JsonSerializable, SyncDocument, SyncChildDocument
{
const GIT_FIELDS = ['label', 'campaignid', 'bannerid'];
const GIT_ID = 'gitId';
/**
* @MongoDB\Id
*/
protected $_id;
/**
* @var string
* @MongoDB\Field(type="string")
*/
protected $gitId;
/**
* @var string
* @MongoDB\Field(type="string")
*/
protected $gitParentId;
/**
* @var string
* @MongoDB\Field(type="string")
*/
protected $gitParentPath;
/**
* @var string
* @MongoDB\Field(type="string")
*/
protected $gitHash;
/**
* @var string
* @MongoDB\Field(type="string", nullable=true)
*/
private $label;
/**
* @var string
* @MongoDB\Field(type="string", name="campaignid", nullable=true)
*/
private $campaignId;
/**
* @var string
* @MongoDB\Field(type="string", name="bannerid", nullable=true)
*/
private $bannerId;
/**
* @return mixed
*/
public function getId()
{
return $this->_id;
}
/**
* @return mixed
*/
public function getGitId()
{
return $this->gitId;
}
/**
* @param string $id
* @return Inventory
*/
public function setGitId(string $id)
{
$this->gitId = $id;
return $this;
}
/**
* @return string
*/
public function getGitParentId(): string
{
return $this->gitParentId;
}
/**
* @param string $gitParentId
* @return DspBuyer
*/
public function setGitParentId(string $gitParentId): DspBuyer
{
$this->gitParentId = $gitParentId;
return $this;
}
/**
* @return string
*/
public function getGitParentPath(): string
{
return $this->gitParentPath;
}
/**
* @param string $gitParentPath
* @return DspBuyer
*/
public function setGitParentPath(string $gitParentPath): DspBuyer
{
$this->gitParentPath = $gitParentPath;
return $this;
}
/**
* @return string
*/
public function getGitHash(): string
{
return $this->gitHash;
}
/**
* @param string $gitHash
* @return DspBuyer
*/
public function setGitHash(string $gitHash): DspBuyer
{
$this->gitHash = $gitHash;
return $this;
}
/**
* @return string
*/
public function getLabel(): ?string
{
return $this->label;
}
/**
* @param string $label
* @return DspBuyer
*/
public function setLabel(?string $label): DspBuyer
{
$this->label = $label;
return $this;
}
/**
* @return string
*/
public function getCampaignId(): ?string
{
return $this->campaignId;
}
/**
* @param string $campaignId
* @return DspBuyer
*/
public function setCampaignId(?string $campaignId): DspBuyer
{
$this->campaignId = $campaignId;
return $this;
}
/**
* @return string
*/
public function getBannerId(): ?string
{
return $this->bannerId;
}
/**
* @param string $bannerId
* @return DspBuyer
*/
public function setBannerId(?string $bannerId): DspBuyer
{
$this->bannerId = $bannerId;
return $this;
}
public function jsonSerialize()
{
return [
'id' => $this->getId(),
'gitId' => $this->getGitId(),
'label' => $this->getLabel(),
'campaignid' => $this->getCampaignId(),
'bannerid' => $this->getBannerId()
];
}
public function validateMutation(Mutation $m) {
return $m->getOldValue()['label'] === $this->getLabel() &&
$m->getOldValue()['campaignid'] === $this->getCampaignId() &&
$m->getOldValue()['bannerid'] === $this->getBannerId();
}
public function gitSerialize()
{
return [
'label' => $this->getLabel(),
'campaignid' => $this->getCampaignId(),
'bannerid' => $this->getBannerId()
];
}
public function gitUnserialize(array $gitData): DspBuyer
{
return $this->setLabel(isset($gitData['label']) ? $gitData['label'] : null)
->setCampaignId(isset($gitData['campaignid']) ? $gitData['campaignid'] : null)
->setBannerId(isset($gitData['bannerid']) ? $gitData['bannerid'] : null);
}
}