src/Entity/MarketerClientRequest.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. //use Doctrine\ORM\Mapping\UniqueConstraint;
  5. use Orc\SaasBundle\Entity\Client;
  6. use App\Entity\Marketer;
  7. /**
  8.  * @ORM\Entity
  9.  * @ORM\Table(name="marketer_client_request",
  10.  *    uniqueConstraints={
  11.  *        @ORM\UniqueConstraint(
  12.  *            name="marketer_client", 
  13.  *            columns={"marketer_id", "client_id"}
  14.  *        )
  15.  *    }
  16.  * )
  17.  */
  18. class MarketerClientRequest {
  19.     
  20.     const STATUS_PENDING 0;
  21.     const STATUS_ACCEPTED 1;
  22.     const STATUS_DENIED 2;
  23.     const STATUS_REVOKED 3;
  24.     /**
  25.      * @ORM\Id
  26.      * @ORM\Column(type="integer")
  27.      * @ORM\GeneratedValue(strategy="AUTO")
  28.      */
  29.     protected $id;
  30.     
  31.     /**
  32.      * @ORM\ManyToOne(targetEntity="App\Entity\Marketer")
  33.      * @ORM\JoinColumn(name="marketer_id", referencedColumnName="id")
  34.      */
  35.     protected $marketer;    
  36.     
  37.     /**
  38.      * @ORM\ManyToOne(targetEntity="Orc\SaasBundle\Entity\Client")
  39.      * @ORM\JoinColumn(name="client_id", referencedColumnName="id")
  40.      */
  41.     protected $client;
  42.     
  43.     /**
  44.      * @ORM\Column(type="string")
  45.      */
  46.     protected $requestToken;    
  47.     
  48.     /**
  49.      * @ORM\Column(type="datetime", nullable=false)
  50.      */
  51.     protected $timeSent
  52.     
  53.     /**
  54.      * @ORM\Column(type="datetime", nullable=true)
  55.      */
  56.     protected $timeAccepted;     
  57.     
  58.     /**
  59.      * @ORM\Column(type="integer")
  60.      */
  61.     protected $accepted self::STATUS_PENDING;
  62.     
  63.     /**
  64.      * @ORM\Column(type="boolean")
  65.      */
  66.     protected $deleted false;
  67.     
  68.     public function __construct()
  69.     {
  70.         $this->requestToken md5(time());
  71.     }    
  72.     
  73.     /***********************
  74.      * getters and setters
  75.      *****************/
  76.     public function getId() : int
  77.     {
  78.         return $this->id;
  79.     }
  80.     public function getMarketer() : Marketer
  81.     {
  82.         return $this->marketer;
  83.     }
  84.     public function getClient() : Client
  85.     {
  86.         return $this->client;
  87.     }
  88.     public function getRequestToken() : string
  89.     {
  90.         return $this->requestToken;
  91.     }
  92.     public function getTimeSent() : \DateTime
  93.     {
  94.         return $this->timeSent;
  95.     }
  96.     public function getTimeAccepted() : \DateTime 
  97.     {
  98.         return $this->timeAccepted;
  99.     }
  100.     public function getAccepted() : int 
  101.     {
  102.         return $this->accepted;
  103.     }
  104.     
  105.     public function isDeleted() : bool
  106.     {
  107.         return $this->deleted;
  108.     }
  109.     
  110.     public function setMarketer(Marketer $marketer): MarketerClientRequest 
  111.     {
  112.         $this->marketer $marketer;
  113.         
  114.         return $this;
  115.     }
  116.     public function setClient(Client $client): MarketerClientRequest {
  117.         $this->client $client;
  118.         
  119.         return $this;
  120.     }
  121.     public function setRequestToken(string $requestToken): MarketerClientRequest 
  122.     {
  123.         $this->requestToken $requestToken;
  124.         
  125.         return $this;
  126.     }
  127.     public function setTimeSent(\DateTime $timeSent): MarketerClientRequest 
  128.     {
  129.         $this->timeSent $timeSent;
  130.         
  131.         return $this;
  132.     }
  133.     public function setTimeAccepted(\DateTime $timeAccepted): MarketerClientRequest 
  134.     {
  135.         $this->timeAccepted $timeAccepted;
  136.         
  137.         return $this;
  138.     }
  139.     public function setAccepted(int $accepted): MarketerClientRequest 
  140.     {
  141.         $this->accepted $accepted;
  142.         
  143.         return $this;
  144.     }
  145.     
  146.     public function setDeleted(bool $deleted): MarketerClientRequest {
  147.         $this->deleted $deleted;
  148.         
  149.         return $this;
  150.     }
  151.     static function getStatuses()
  152.     {
  153.         return [
  154.             self::STATUS_PENDING => 'pending',
  155.             self::STATUS_ACCEPTED => 'accepted',
  156.             self::STATUS_DENIED => 'denied',
  157.             self::STATUS_REVOKED => 'revoked',
  158.         ];
  159.     }
  160.     
  161. }