src/Document/DspBuyer.php line 204

Open in your IDE?
  1. <?php
  2. namespace App\Document;
  3. use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
  4. use JsonSerializable;
  5. /**
  6. * @MongoDB\Document(repositoryClass="App\Repository\DspBuyerRepository", collection="dsp_buyer")
  7. * @MongoDB\UniqueIndex(keys={"gitId"="asc", "gitParentId"="asc"})
  8. */
  9. class DspBuyer implements JsonSerializable, SyncDocument, SyncChildDocument
  10. {
  11. const GIT_FIELDS = ['label', 'campaignid', 'bannerid'];
  12. const GIT_ID = 'gitId';
  13. /**
  14. * @MongoDB\Id
  15. */
  16. protected $_id;
  17. /**
  18. * @var string
  19. * @MongoDB\Field(type="string")
  20. */
  21. protected $gitId;
  22. /**
  23. * @var string
  24. * @MongoDB\Field(type="string")
  25. */
  26. protected $gitParentId;
  27. /**
  28. * @var string
  29. * @MongoDB\Field(type="string")
  30. */
  31. protected $gitParentPath;
  32. /**
  33. * @var string
  34. * @MongoDB\Field(type="string")
  35. */
  36. protected $gitHash;
  37. /**
  38. * @var string
  39. * @MongoDB\Field(type="string", nullable=true)
  40. */
  41. private $label;
  42. /**
  43. * @var string
  44. * @MongoDB\Field(type="string", name="campaignid", nullable=true)
  45. */
  46. private $campaignId;
  47. /**
  48. * @var string
  49. * @MongoDB\Field(type="string", name="bannerid", nullable=true)
  50. */
  51. private $bannerId;
  52. /**
  53. * @return mixed
  54. */
  55. public function getId()
  56. {
  57. return $this->_id;
  58. }
  59. /**
  60. * @return mixed
  61. */
  62. public function getGitId()
  63. {
  64. return $this->gitId;
  65. }
  66. /**
  67. * @param string $id
  68. * @return Inventory
  69. */
  70. public function setGitId(string $id)
  71. {
  72. $this->gitId = $id;
  73. return $this;
  74. }
  75. /**
  76. * @return string
  77. */
  78. public function getGitParentId(): string
  79. {
  80. return $this->gitParentId;
  81. }
  82. /**
  83. * @param string $gitParentId
  84. * @return DspBuyer
  85. */
  86. public function setGitParentId(string $gitParentId): DspBuyer
  87. {
  88. $this->gitParentId = $gitParentId;
  89. return $this;
  90. }
  91. /**
  92. * @return string
  93. */
  94. public function getGitParentPath(): string
  95. {
  96. return $this->gitParentPath;
  97. }
  98. /**
  99. * @param string $gitParentPath
  100. * @return DspBuyer
  101. */
  102. public function setGitParentPath(string $gitParentPath): DspBuyer
  103. {
  104. $this->gitParentPath = $gitParentPath;
  105. return $this;
  106. }
  107. /**
  108. * @return string
  109. */
  110. public function getGitHash(): string
  111. {
  112. return $this->gitHash;
  113. }
  114. /**
  115. * @param string $gitHash
  116. * @return DspBuyer
  117. */
  118. public function setGitHash(string $gitHash): DspBuyer
  119. {
  120. $this->gitHash = $gitHash;
  121. return $this;
  122. }
  123. /**
  124. * @return string
  125. */
  126. public function getLabel(): ?string
  127. {
  128. return $this->label;
  129. }
  130. /**
  131. * @param string $label
  132. * @return DspBuyer
  133. */
  134. public function setLabel(?string $label): DspBuyer
  135. {
  136. $this->label = $label;
  137. return $this;
  138. }
  139. /**
  140. * @return string
  141. */
  142. public function getCampaignId(): ?string
  143. {
  144. return $this->campaignId;
  145. }
  146. /**
  147. * @param string $campaignId
  148. * @return DspBuyer
  149. */
  150. public function setCampaignId(?string $campaignId): DspBuyer
  151. {
  152. $this->campaignId = $campaignId;
  153. return $this;
  154. }
  155. /**
  156. * @return string
  157. */
  158. public function getBannerId(): ?string
  159. {
  160. return $this->bannerId;
  161. }
  162. /**
  163. * @param string $bannerId
  164. * @return DspBuyer
  165. */
  166. public function setBannerId(?string $bannerId): DspBuyer
  167. {
  168. $this->bannerId = $bannerId;
  169. return $this;
  170. }
  171. public function jsonSerialize()
  172. {
  173. return [
  174. 'id' => $this->getId(),
  175. 'gitId' => $this->getGitId(),
  176. 'label' => $this->getLabel(),
  177. 'campaignid' => $this->getCampaignId(),
  178. 'bannerid' => $this->getBannerId()
  179. ];
  180. }
  181. public function validateMutation(Mutation $m) {
  182. return $m->getOldValue()['label'] === $this->getLabel() &&
  183. $m->getOldValue()['campaignid'] === $this->getCampaignId() &&
  184. $m->getOldValue()['bannerid'] === $this->getBannerId();
  185. }
  186. public function gitSerialize()
  187. {
  188. return [
  189. 'label' => $this->getLabel(),
  190. 'campaignid' => $this->getCampaignId(),
  191. 'bannerid' => $this->getBannerId()
  192. ];
  193. }
  194. public function gitUnserialize(array $gitData): DspBuyer
  195. {
  196. return $this->setLabel(isset($gitData['label']) ? $gitData['label'] : null)
  197. ->setCampaignId(isset($gitData['campaignid']) ? $gitData['campaignid'] : null)
  198. ->setBannerId(isset($gitData['bannerid']) ? $gitData['bannerid'] : null);
  199. }
  200. }