use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
+use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Repository;
-use Wallabag\CoreBundle\Entity\Entries;
use Wallabag\CoreBundle\Service\Extractor;
use Wallabag\CoreBundle\Helper\Url;
*/
public function addEntryAction(Request $request)
{
- $entry = new Entries();
+ $entry = new Entry();
$entry->setUserId(1);
$form = $this->createFormBuilder($entry)
*/
public function showUnreadAction()
{
- $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
+ $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
// TODO don't give the user ID like this
// TODO change pagination
$entries = $repository->findUnreadByUser(1, 0);
*/
public function showArchiveAction()
{
- $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
+ $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
// TODO don't give the user ID like this
// TODO change pagination
$entries = $repository->findArchiveByUser(1, 0);
*/
public function showStarredAction()
{
- $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
+ $repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
// TODO don't give the user ID like this
// TODO change pagination
$entries = $repository->findStarredByUser(1, 0);
/**
* Shows entry content
*
- * @param Entries $entry
+ * @param Entry $entry
* @Route("/view/{id}", requirements={"id" = "\d+"}, name="view")
* @return \Symfony\Component\HttpFoundation\Response
*/
- public function viewAction(Entries $entry)
+ public function viewAction(Entry $entry)
{
return $this->render(
'WallabagCoreBundle:Entry:entry.html.twig',
* Changes read status for an entry
*
* @param Request $request
- * @param Entries $entry
+ * @param Entry $entry
* @Route("/archive/{id}", requirements={"id" = "\d+"}, name="archive_entry")
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
- public function toggleArchiveAction(Request $request, Entries $entry)
+ public function toggleArchiveAction(Request $request, Entry $entry)
{
$entry->toggleArchive();
$this->getDoctrine()->getManager()->flush();
* Changes favorite status for an entry
*
* @param Request $request
- * @param Entries $entry
+ * @param Entry $entry
* @Route("/star/{id}", requirements={"id" = "\d+"}, name="star_entry")
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
- public function toggleStarAction(Request $request, Entries $entry)
+ public function toggleStarAction(Request $request, Entry $entry)
{
$entry->toggleStar();
$this->getDoctrine()->getManager()->flush();
* Deletes entry
*
* @param Request $request
- * @param Entries $entry
+ * @param Entry $entry
* @Route("/delete/{id}", requirements={"id" = "\d+"}, name="delete_entry")
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
- public function deleteEntryAction(Request $request, Entries $entry)
+ public function deleteEntryAction(Request $request, Entry $entry)
{
$em = $this->getDoctrine()->getManager();
$entry->setDeleted(1);
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Wallabag\CoreBundle\Entity\Entries;
+use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tags;
use Wallabag\CoreBundle\Service\Extractor;
* {"name"="tags", "dataType"="string", "required"=false, "format"="api%2Crest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."},
* }
* )
- * @return Entries
+ * @return Entry
*/
public function getEntriesAction(Request $request)
{
$entries = $this
->getDoctrine()
- ->getRepository('WallabagCoreBundle:Entries')
+ ->getRepository('WallabagCoreBundle:Entry')
->findEntries(1, $isArchived, $isStarred, $isDeleted, $sort, $order);
if (!is_array($entries)) {
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
* }
* )
- * @return Entries
+ * @return Entry
*/
- public function getEntryAction(Entries $entry)
+ public function getEntryAction(Entry $entry)
{
return $entry;
}
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
* }
* )
+ * @return Entry
*/
public function postEntriesAction(Request $request)
{
$url = $request->request->get('url');
$content = Extractor::extract($url);
- $entry = new Entries();
+ $entry = new Entry();
$entry->setUserId(1);
$entry->setUrl($url);
$entry->setTitle($request->request->get('title') ?: $content->getTitle());
* {"name"="delete", "dataType"="boolean", "required"=false, "format"="true or false", "description"="flag as deleted. Default false. In case that you don't want to *really* remove it.."},
* }
* )
+ * @return Entry
*/
- public function patchEntriesAction(Entries $entry, Request $request)
+ public function patchEntriesAction(Entry $entry, Request $request)
{
$title = $request->request->get("title");
$tags = $request->request->get("tags", array());
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
* }
* )
+ * @return Entry
*/
- public function deleteEntriesAction(Entries $entry)
+ public function deleteEntriesAction(Entry $entry)
{
if ($entry->isDeleted()) {
throw new NotFoundHttpException('This entry is already deleted');
* }
* )
*/
- public function getEntriesTagsAction(Entries $entry)
+ public function getEntriesTagsAction(Entry $entry)
{
}
* }
* )
*/
- public function postEntriesTagsAction(Entries $entry)
+ public function postEntriesTagsAction(Entry $entry)
{
}
* }
* )
*/
- public function deleteEntriesTagsAction(Entries $entry, Tags $tag)
+ public function deleteEntriesTagsAction(Entry $entry, Tags $tag)
{
}
use Symfony\Component\Validator\Constraints as Assert;
/**
- * Entries
+ * Entry
*
- * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntriesRepository")
- * @ORM\Table(name="entries")
+ * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository")
+ * @ORM\Table(name="entry")
* @ORM\HasLifecycleCallbacks()
*
*/
-class Entries
+class Entry
{
/**
* @var integer
*
- * @ORM\Column(name="id", type="integer", nullable=true)
+ * @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
- private $id = null;
+ private $id;
/**
* @var string
/**
* @var boolean
*
- * @ORM\Column(name="is_archived", type="boolean", nullable=true, options={"default" = false})
+ * @ORM\Column(name="is_archived", type="boolean")
*/
private $isArchived = false;
/**
* @var boolean
*
- * @ORM\Column(name="is_starred", type="boolean", nullable=true, options={"default" = false})
+ * @ORM\Column(name="is_starred", type="boolean")
*/
private $isStarred = false;
/**
* @var boolean
*
- * @ORM\Column(name="is_deleted", type="boolean", nullable=true, options={"default" = false})
+ * @ORM\Column(name="is_deleted", type="boolean")
*/
private $isDeleted = false;
/**
* @var date
*
- * @ORM\Column(name="created_at", type="datetime", nullable=true)
+ * @ORM\Column(name="created_at", type="datetime")
*/
private $createdAt;
/**
* @var date
*
- * @ORM\Column(name="updated_at", type="datetime", nullable=true)
+ * @ORM\Column(name="updated_at", type="datetime")
*/
private $updatedAt;
/**
* Set title
*
- * @param string $title
- * @return Entries
+ * @param string $title
+ * @return Entry
*/
public function setTitle($title)
{
/**
* Set url
*
- * @param string $url
- * @return Entries
+ * @param string $url
+ * @return Entry
*/
public function setUrl($url)
{
/**
* Set isArchived
*
- * @param string $isArchived
- * @return Entries
+ * @param string $isArchived
+ * @return Entry
*/
public function setArchived($isArchived)
{
/**
* Set isStarred
*
- * @param string $isStarred
- * @return Entries
+ * @param string $isStarred
+ * @return Entry
*/
public function setStarred($isStarred)
{
/**
* Set content
*
- * @param string $content
- * @return Entries
+ * @param string $content
+ * @return Entry
*/
public function setContent($content)
{
/**
* Set userId
*
- * @param string $userId
- * @return Entries
+ * @param string $userId
+ * @return Entry
*/
public function setUserId($userId)
{
return $this->createdAt;
}
- /**
- * @param mixed $createdAt
- * @ORM\PrePersist
- */
- public function setCreatedAt()
- {
- $this->createdAt = new \DateTime();
- }
-
/**
* @return string
*/
}
/**
- * @param string $updatedAt
+ * @ORM\PrePersist
* @ORM\PreUpdate
*/
- public function setUpdatedAt()
+ public function timestamps()
{
+ if (is_null($this->createdAt)) {
+ $this->createdAt = new \DateTime();
+ }
+
$this->updatedAt = new \DateTime();
}
namespace Wallabag\CoreBundle\Helper;
-class Entries
+class Entry
{
}
use Doctrine\ORM\Query;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Tools\Pagination\Paginator;
-use Wallabag\CoreBundle\Entity\Entries;
-class EntriesRepository extends EntityRepository
+class EntryRepository extends EntityRepository
{
/**
* Retrieves unread entries for a user