* initial commit

This commit is contained in:
Danyi Dávid
2017-09-03 17:51:59 +02:00
commit 92eefa7a63
51 changed files with 6493 additions and 0 deletions

222
src/App/Entity/Sms.php Normal file
View File

@@ -0,0 +1,222 @@
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(
* name="sms_store",
* indexes={
* @ORM\Index(name="contact_name", columns={"contact_name"}),
* @ORM\Index(name="contact_number", columns={"contact_number"}),
* @ORM\Index(name="when", columns={"when"}),
* @ORM\Index(name="direction", columns={"direction"})
* }
* )
* @ORM\HasLifecycleCallbacks
*/
class Sms implements \JsonSerializable
{
const DIRECTION_SENT = 0;
const DIRECTION_RECEIVED = 1;
const MAP_DIRECTIONS = [
'sent' => self::DIRECTION_SENT,
'received' => self::DIRECTION_RECEIVED,
];
/**
* @ORM\Id
* @ORM\Column(name="id", type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
* @var int
*/
private $id;
/**
* @ORM\Column(name="contact_name", type="string", length=200, nullable=false)
* @var string
*/
private $contactName;
/**
* @ORM\Column(name="contact_number", type="string", length=100, nullable=false)
* @var string
*/
private $contactNumber;
/**
* @ORM\Column(name="text", type="text", length=4096, nullable=false)
* @var string
*/
private $text;
/**
* @ORM\Column(name="when", type="datetime", nullable=false)
* @var \DateTime
*/
private $when;
/**
* @ORM\Column(name="direction", type="integer", length=255, nullable=false)
* @var int
*/
private $direction;
/**
* @ORM\JoinColumn(name="owner_id", nullable=false)
* @ORM\ManyToOne(targetEntity="User", inversedBy="smsMessages")
* @var User
*/
private $owner;
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
* @return Sms
*/
public function setId(int $id): Sms
{
$this->id = $id;
return $this;
}
/**
* @return string
*/
public function getContactName(): string
{
return $this->contactName;
}
/**
* @param string $contactName
* @return Sms
*/
public function setContactName(string $contactName): Sms
{
$this->contactName = $contactName;
return $this;
}
/**
* @return string
*/
public function getContactNumber(): string
{
return $this->contactNumber;
}
/**
* @param string $contactNumber
* @return Sms
*/
public function setContactNumber(string $contactNumber): Sms
{
$this->contactNumber = $contactNumber;
return $this;
}
/**
* @return string
*/
public function getText(): string
{
return $this->text;
}
/**
* @param string $text
* @return Sms
*/
public function setText(string $text): Sms
{
$this->text = $text;
return $this;
}
/**
* @return \DateTime
*/
public function getWhen(): \DateTime
{
return $this->when;
}
/**
* @param \DateTime $when
* @return Sms
*/
public function setWhen(\DateTime $when): Sms
{
$this->when = $when;
return $this;
}
/**
* @return int
*/
public function getDirection(): int
{
return $this->direction;
}
/**
* @param int $direction
* @return Sms
*/
public function setDirection(int $direction): Sms
{
$this->direction = $direction;
return $this;
}
/**
* @return User
*/
public function getOwner(): User
{
return $this->owner;
}
/**
* @param User $owner
* @return Sms
*/
public function setOwner(User $owner): Sms
{
$this->owner = $owner;
return $this;
}
/**
* Specify data which should be serialized to JSON
* @link http://php.net/manual/en/jsonserializable.jsonserialize.php
* @return mixed data which can be serialized by <b>json_encode</b>,
* which is a value of any type other than a resource.
* @since 5.4.0
*/
public function jsonSerialize()
{
return [
'id' => $this->getId(),
'contactName' => $this->getContactName(),
'contactNumber' => $this->getContactNumber(),
'text' => $this->getText(),
'when' => $this->getWhen(),
'direction' => $this->getDirection(),
'owner' => $this->getOwner(),
];
}
}

155
src/App/Entity/User.php Normal file
View File

@@ -0,0 +1,155 @@
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(
* name="user",
* indexes={
* @ORM\Index(name="contact_name", columns={"contact_name"}),
* @ORM\Index(name="contact_number", columns={"contact_number"}),
* @ORM\Index(name="when", columns={"when"}),
* @ORM\Index(name="direction", columns={"direction"})
* }
* )
*/
class User implements \JsonSerializable
{
/**
* @ORM\Id
* @ORM\Column(name="id", type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
* @var int
*/
private $id;
/**
* @ORM\Column(name="name", type="string", length=200, nullable=false)
* @var string
*/
private $name;
/**
* @ORM\Column(name="hash_key", type="string", length=100, nullable=false)
* @var string
*/
private $hashKey;
/**
* @ORM\OneToMany(targetEntity="Fault", mappedBy="institute")
* @var Sms[]|ArrayCollection
*/
private $smsMessages;
public function __construct()
{
$this->smsMessages = new ArrayCollection();
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
* @return User
*/
public function setId(int $id): User
{
$this->id = $id;
return $this;
}
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @param string $name
* @return User
*/
public function setName(string $name): User
{
$this->name = $name;
return $this;
}
/**
* @return string
*/
public function getHashKey(): string
{
return $this->hashKey;
}
/**
* @param string $hashKey
* @return User
*/
public function setHashKey(string $hashKey): User
{
$this->hashKey = $hashKey;
return $this;
}
/**
* @return Sms[]|ArrayCollection
*/
public function getSmsMessages(): ?ArrayCollection
{
return $this->smsMessages;
}
/**
* @param Sms[]|ArrayCollection $smsMessages
* @return User
*/
public function setSmsMessages(?ArrayCollection $smsMessages): User
{
$this->smsMessages = $smsMessages;
return $this;
}
public function addSmsMessage(Sms $sms): User
{
if(!$this->smsMessages->contains($sms)) {
$this->smsMessages->add($sms);
}
return $this;
}
public function removeSmsMessage(Sms $sms): User{
if($this->smsMessages->contains($sms)) {
$this->smsMessages->removeElement($sms);
}
return $this;
}
/**
* Specify data which should be serialized to JSON
* @link http://php.net/manual/en/jsonserializable.jsonserialize.php
* @return mixed data which can be serialized by <b>json_encode</b>,
* which is a value of any type other than a resource.
* @since 5.4.0
*/
public function jsonSerialize()
{
return [
'id' => $this->getId(),
'name' => $this->getName(),
// 'smsMessages' => $this->getSmsMessages()->getValues(),
];
}
}