]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ApiBundle/Controller/EntryRestController.php
Fixed bug when we delete entry via API
[github/wallabag/wallabag.git] / src / Wallabag / ApiBundle / Controller / EntryRestController.php
index 77eb489e61ea099e4326b4883dc1711760bd177e..5158171ea47a73066cdfb29890968df3b31733d0 100644 (file)
@@ -239,12 +239,12 @@ class EntryRestController extends WallabagRestController
             $results[$key]['url'] = $url;
 
             if (false !== $entry) {
+                // entry deleted, dispatch event about it!
+                $this->get('event_dispatcher')->dispatch(EntryDeletedEvent::NAME, new EntryDeletedEvent($entry));
+
                 $em = $this->getDoctrine()->getManager();
                 $em->remove($entry);
                 $em->flush();
-
-                // entry deleted, dispatch event about it!
-                $this->get('event_dispatcher')->dispatch(EntryDeletedEvent::NAME, new EntryDeletedEvent($entry));
             }
 
             $results[$key]['entry'] = $entry instanceof Entry ? true : false;
@@ -365,9 +365,7 @@ class EntryRestController extends WallabagRestController
                     'language' => !empty($data['language']) ? $data['language'] : $entry->getLanguage(),
                     'date' => !empty($data['publishedAt']) ? $data['publishedAt'] : $entry->getPublishedAt(),
                     // faking the open graph preview picture
-                    'open_graph' => [
-                        'og_image' => !empty($data['picture']) ? $data['picture'] : $entry->getPreviewPicture(),
-                    ],
+                    'image' => !empty($data['picture']) ? $data['picture'] : $entry->getPreviewPicture(),
                     'authors' => \is_string($data['authors']) ? explode(',', $data['authors']) : $entry->getPublishedBy(),
                 ]
             );
@@ -566,7 +564,7 @@ class EntryRestController extends WallabagRestController
         }
 
         // if refreshing entry failed, don't save it
-        if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) {
+        if ($this->container->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) {
             return new JsonResponse([], 304);
         }
 
@@ -612,13 +610,13 @@ class EntryRestController extends WallabagRestController
             $response = $this->sendResponse($e);
         }
 
+        // entry deleted, dispatch event about it!
+        $this->get('event_dispatcher')->dispatch(EntryDeletedEvent::NAME, new EntryDeletedEvent($entry));
+
         $em = $this->getDoctrine()->getManager();
         $em->remove($entry);
         $em->flush();
 
-        // entry deleted, dispatch event about it!
-        $this->get('event_dispatcher')->dispatch(EntryDeletedEvent::NAME, new EntryDeletedEvent($entry));
-
         return $response;
     }
 
@@ -824,8 +822,6 @@ class EntryRestController extends WallabagRestController
      * Retrieve value from the request.
      * Used for POST & PATCH on a an entry.
      *
-     * @param Request $request
-     *
      * @return array
      */
     private function retrieveValueFromRequest(Request $request)
@@ -848,8 +844,8 @@ class EntryRestController extends WallabagRestController
     /**
      * Return information about the entry if it exist and depending on the id or not.
      *
-     * @param Entry|null $entry
-     * @param bool       $returnId
+     * @param Entry|bool|null $entry
+     * @param bool            $returnId
      *
      * @return bool|int
      */