Added Doctrine annotations

This commit is contained in:
Andrey
2013-07-31 13:26:06 +02:00
parent 0b78191076
commit d788ac91f8
6 changed files with 116 additions and 46 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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()
{

View File

@@ -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;

View File

@@ -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;