3 namespace Wallabag\FederationBundle\Entity
;
5 use Doctrine\Common\Collections\ArrayCollection
;
6 use Doctrine\Common\Collections\Collection
;
7 use Doctrine\ORM\Mapping
as ORM
;
8 use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity
;
9 use Symfony\Component\Validator\Constraints
as Assert
;
10 use Wallabag\CoreBundle\Entity\Entry
;
11 use Wallabag\UserBundle\Entity\User
;
16 * @ORM\Entity(repositoryClass="Wallabag\FederationBundle\Repository\AccountRepository")
17 * @UniqueEntity(fields={"username", "server"}).
18 * @ORM\Table(name="`account`")
25 * @ORM\Column(name="id", type="integer")
27 * @ORM\GeneratedValue(strategy="AUTO")
35 * @ORM\Column(name="username", type="string")
42 * @ORM\ManyToOne(targetEntity="Wallabag\FederationBundle\Entity\Instance", inversedBy="users")
49 * @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="account")
50 * @ORM\JoinColumn(nullable=true)
55 * @var ArrayCollection
57 * @ORM\ManyToMany(targetEntity="Wallabag\FederationBundle\Entity\Account", mappedBy="following")
62 * @var ArrayCollection
64 * @ORM\ManyToMany(targetEntity="Wallabag\FederationBundle\Entity\Account", inversedBy="followers")
65 * @ORM\JoinTable(name="follow",
66 * joinColumns={@ORM\JoinColumn(name="account_id", referencedColumnName="id")},
67 * inverseJoinColumns={@ORM\JoinColumn(name="follow_account_id", referencedColumnName="id")}
75 * @ORM\Column(type="string", nullable=true)
77 * @Assert\File(mimeTypes={ "image/gif", "image/jpeg", "image/svg+xml", "image/webp", "image/png" })
84 * @ORM\Column(type="string", nullable=true)
86 * @Assert\File(mimeTypes={ "image/gif", "image/jpeg", "image/svg+xml", "image/webp", "image/png" })
93 * @ORM\Column(type="text", nullable=true)
98 * Account constructor.
100 public function __construct()
102 $this->followers
= new ArrayCollection();
103 $this->following
= new ArrayCollection();
104 $this->liked
= new ArrayCollection();
110 public function getId()
118 public function getUsername()
120 return $this->username
;
124 * @param string $username
127 public function setUsername($username)
129 $this->username
= $username;
136 public function getServer()
138 return $this->server
;
142 * @param string $server
145 public function setServer($server)
147 $this->server
= $server;
154 public function getUser()
163 public function setUser(User
$user)
172 public function getFollowers()
174 return $this->followers
;
178 * @param Collection $followers
181 public function setFollowers($followers)
183 $this->followers
= $followers;
188 * @param Account $account
191 public function addFollower(Account
$account)
193 $this->followers
->add($account);
200 public function getFollowing()
202 return $this->following
;
206 * @param Collection $following
209 public function setFollowing(Collection
$following)
211 $this->following
= $following;
216 * @param Account $account
219 public function addFollowing(Account
$account)
221 $this->following
->add($account);
228 public function getLiked()
234 * @param Collection $liked
237 public function setLiked(Collection
$liked)
239 $this->liked
= $liked;
244 * @param Entry $entry
247 public function addLiked(Entry
$entry)
249 $this->liked
->add($entry);
256 public function getAvatar()
258 return $this->avatar
;
262 * @param string $avatar
265 public function setAvatar($avatar)
267 $this->avatar
= $avatar;
274 public function getBanner()
276 return $this->banner
;
280 * @param string $banner
283 public function setBanner($banner)
285 $this->banner
= $banner;
292 public function getDescription()
294 return $this->description
;
298 * @param string $description
301 public function setDescription($description)
303 $this->description
= $description;