From d788ac91f8e1853ebdad7e2bcda315beeea1f7e2 Mon Sep 17 00:00:00 2001 From: Andrey Date: Wed, 31 Jul 2013 13:26:06 +0200 Subject: [PATCH] Added Doctrine annotations --- lib/Doctrine/Entities/AggregateToken.php | 16 ++++++--- lib/Doctrine/Entities/Feed.php | 44 +++++++++++++++++------- lib/Doctrine/Entities/FeedEntry.php | 37 ++++++++++++++------ lib/Doctrine/Entities/FeedItem.php | 28 ++++++++++----- lib/Doctrine/Entities/FeedPublisher.php | 19 ++++++---- lib/Doctrine/Entities/FeedToken.php | 18 +++++++--- 6 files changed, 116 insertions(+), 46 deletions(-) diff --git a/lib/Doctrine/Entities/AggregateToken.php b/lib/Doctrine/Entities/AggregateToken.php index 910dd83fd7..45a4d6f32b 100644 --- a/lib/Doctrine/Entities/AggregateToken.php +++ b/lib/Doctrine/Entities/AggregateToken.php @@ -11,23 +11,29 @@ namespace Entities; +use Doctrine\ORM\Mapping as ORM; +use Gedmo\Mapping\Annotation as Gedmo; + /** - * AggregateToken + * @ORM\Table(name="AggregateTokens") + * @ORM\Entity(repositoryClass="Repositories\AggregateTokenRepository") */ class AggregateToken { - /** - * @var integer + /** + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue */ private $id; /** - * @var integer + * @ORM\Column(type="integer") */ private $usr_id; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $value; diff --git a/lib/Doctrine/Entities/Feed.php b/lib/Doctrine/Entities/Feed.php index 39e6d7a8dc..dc6fa6410a 100644 --- a/lib/Doctrine/Entities/Feed.php +++ b/lib/Doctrine/Entities/Feed.php @@ -13,64 +13,84 @@ namespace Entities; use Alchemy\Phrasea\Application; use Alchemy\Phrasea\Feed\FeedInterface; +use Doctrine\ORM\Mapping as ORM; +use Gedmo\Mapping\Annotation as Gedmo; /** - * Feed + * @ORM\Table(name="Feeds") + * @ORM\Entity(repositoryClass="Repositories\FeedRepository") */ class Feed implements FeedInterface { /** - * @var integer + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue */ private $id; /** - * @var boolean + * @ORM\Column(type="boolean") */ private $public = false; /** - * @var boolean + * @ORM\Column(type="boolean") */ private $icon_url = false; /** - * @var integer + * @ORM\Column(type="integer") */ private $base_id; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $title; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $subtitle; /** - * @var \DateTime + * @Gedmo\Timestampable(on="create") + * @ORM\Column(type="datetime") */ private $created_on; /** - * @var \DateTime + * @Gedmo\Timestampable(on="update") + * @ORM\Column(type="datetime") */ private $updated_on; /** - * @var \Doctrine\Common\Collections\Collection + * @ORM\OneToMany( + * targetEntity="FeedPublisher", + * mappedBy="feed", + * cascade=["ALL"] + * ) */ private $publishers; /** - * @var \Doctrine\Common\Collections\Collection + * @ORM\OneToMany( + * targetEntity="FeedEntry", + * mappedBy="feed", + * cascade=["ALL"] + * ) + * @ORM\OrderBy({"created_on" = "ASC"}) */ private $entries; /** - * @var \Doctrine\Common\Collections\Collection + * @ORM\OneToMany( + * targetEntity="FeedToken", + * mappedBy="feed", + * cascade=["ALL"] + * ) */ private $tokens; diff --git a/lib/Doctrine/Entities/FeedEntry.php b/lib/Doctrine/Entities/FeedEntry.php index 4aea25fd63..a87c5bb0b6 100644 --- a/lib/Doctrine/Entities/FeedEntry.php +++ b/lib/Doctrine/Entities/FeedEntry.php @@ -11,58 +11,73 @@ namespace Entities; +use Doctrine\ORM\Mapping as ORM; +use Gedmo\Mapping\Annotation as Gedmo; + /** - * FeedEntry + * @ORM\Table(name="FeedEntries") + * @ORM\Entity(repositoryClass="Repositories\FeedEntryRepository") */ class FeedEntry { /** - * @var integer + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue */ private $id; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $title; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $subtitle; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $author_name; /** - * @var string + * @ORM\Column(type="string", length=128) */ private $author_email; /** - * @var \DateTime + * @Gedmo\Timestampable(on="create") + * @ORM\Column(type="datetime") */ private $created_on; /** - * @var \DateTime + * @Gedmo\Timestampable(on="update") + * @ORM\Column(type="datetime") */ private $updated_on; /** - * @var \Doctrine\Common\Collections\Collection + * @ORM\OneToMany( + * targetEntity="FeedItem", + * mappedBy="entry", + * cascade=["ALL"] + * ) + * @ORM\OrderBy({"ord" = "ASC"}) */ private $items; /** - * @var \Entities\FeedPublisher + * @ORM\ManyToOne(targetEntity="FeedPublisher", cascade={"persist"}) + * @ORM\JoinColumn(name="publisher_id", referencedColumnName="id") */ private $publisher; /** - * @var \Entities\Feed + * @ORM\ManyToOne(targetEntity="Feed", inversedBy="entries", cascade={"persist"}) + * @ORM\JoinColumn(name="feed_id", referencedColumnName="id") */ private $feed; diff --git a/lib/Doctrine/Entities/FeedItem.php b/lib/Doctrine/Entities/FeedItem.php index 308226a2ea..83f8123e90 100644 --- a/lib/Doctrine/Entities/FeedItem.php +++ b/lib/Doctrine/Entities/FeedItem.php @@ -13,38 +13,50 @@ namespace Entities; use Alchemy\Phrasea\Application; +use Doctrine\ORM\Mapping as ORM; +use Gedmo\Mapping\Annotation as Gedmo; + /** - * FeedItem + * @ORM\Table(name="FeedItems", uniqueConstraints={@ORM\UniqueConstraint(name="lookup_unique_idx", columns={ + * "entry_id","sbas_id","record_id" + * }}) + * @ORM\Entity(repositoryClass="Repositories\FeedItemRepository") + * @HasLifecycleCallbacks */ class FeedItem { /** - * @var integer + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue */ private $id; /** - * @var integer + * @ORM\Column(type="integer") */ private $record_id; /** - * @var integer + * @ORM\Column(type="integer") */ private $sbas_id; /** - * @var \DateTime + * @Gedmo\Timestampable(on="create") + * @ORM\Column(type="datetime") */ private $created_on; /** - * @var \DateTime + * @Gedmo\Timestampable(on="update") + * @ORM\Column(type="datetime") */ private $updated_on; /** - * @var \Entities\FeedEntry + * @ORM\ManyToOne(targetEntity="FeedEntry", inversedBy="items", cascade={"persist"}) + * @ORM\JoinColumn(name="items", referencedColumnName="id") */ private $entry; @@ -201,7 +213,7 @@ class FeedItem } /** - * Marks this item as the last added. + * @PrePersist */ public function setLastInFeedItem() { diff --git a/lib/Doctrine/Entities/FeedPublisher.php b/lib/Doctrine/Entities/FeedPublisher.php index 585746d7e4..1e261da02b 100644 --- a/lib/Doctrine/Entities/FeedPublisher.php +++ b/lib/Doctrine/Entities/FeedPublisher.php @@ -12,34 +12,41 @@ namespace Entities; use Alchemy\Phrasea\Application; +use Doctrine\ORM\Mapping as ORM; +use Gedmo\Mapping\Annotation as Gedmo; /** - * FeedPublisher + * @ORM\Table(name="FeedPublishers") + * @ORM\Entity(repositoryClass="Repositories\FeedPublisherRepository") */ class FeedPublisher { /** - * @var integer + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue */ private $id; /** - * @var integer + * @ORM\Column(type="integer") */ private $usr_id; /** - * @var boolean + * @ORM\Column(type="boolean") */ private $owner = false; /** - * @var \DateTime + * @Gedmo\Timestampable(on="create") + * @ORM\Column(type="datetime") */ private $created_on; /** - * @var \Entities\Feed + * @ORM\ManyToOne(targetEntity="Feed", inversedBy="publishers", cascade={"persist"}) + * @ORM\JoinColumn(name="feed_id", referencedColumnName="id") */ private $feed; diff --git a/lib/Doctrine/Entities/FeedToken.php b/lib/Doctrine/Entities/FeedToken.php index 706513d8a9..704e9104b3 100644 --- a/lib/Doctrine/Entities/FeedToken.php +++ b/lib/Doctrine/Entities/FeedToken.php @@ -11,20 +11,30 @@ namespace Entities; +use Doctrine\ORM\Mapping as ORM; +use Gedmo\Mapping\Annotation as Gedmo; + +/** + * @ORM\Table(name="FeedTokens") + * @ORM\Entity(repositoryClass="Repositories\FeedTokenRepository") + */ class FeedToken { /** - * @var integer + * @ORM\Column(type="integer") + * @ORM\Id + * @ORM\GeneratedValue */ private $id; /** - * @var integer + * @ORM\Column(type="integer") */ private $usr_id; /** - * @var \Entities\Feed + * @ORM\ManyToOne(targetEntity="Feed", inversedBy="tokens", cascade={"persist"}) + * @ORM\JoinColumn(name="feed_id", referencedColumnName="id") */ private $feed; @@ -84,7 +94,7 @@ class FeedToken return $this->feed; } /** - * @var string + * @ORM\Column(type="string", length=128) */ private $value;