]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Add support for authors
authorJeremy Benoist <jeremy.benoist@gmail.com>
Thu, 11 May 2017 18:10:22 +0000 (20:10 +0200)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Wed, 31 May 2017 11:59:45 +0000 (13:59 +0200)
src/Wallabag/ApiBundle/Controller/EntryRestController.php
tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php

index dfd04fb4d6c9c7c66f9dcbe4ef0a0baf3104f15c..e6bbe5528b9a2f994968dbc3c70806d55db0527b 100644 (file)
@@ -284,6 +284,7 @@ class EntryRestController extends WallabagRestController
      *          {"name"="language", "dataType"="string", "required"=false, "description"="Language of the entry"},
      *          {"name"="preview_picture", "dataType"="string", "required"=false, "description"="Preview picture of the entry"},
      *          {"name"="published_at", "dataType"="datetime", "format"="YYYY-MM-DDTHH:II:SS+TZ", "required"=false, "description"="Published date of the entry"},
+     *          {"name"="authors", "dataType"="string", "format"="Name Firstname,author2,author3", "required"=false, "description"="Authors of the entry"},
      *       }
      * )
      *
@@ -295,12 +296,14 @@ class EntryRestController extends WallabagRestController
 
         $url = $request->request->get('url');
         $title = $request->request->get('title');
+        $tags = $request->request->get('tags', []);
         $isArchived = $request->request->get('archive');
         $isStarred = $request->request->get('starred');
         $content = $request->request->get('content');
         $language = $request->request->get('language');
         $picture = $request->request->get('preview_picture');
         $publishedAt = $request->request->get('published_at');
+        $authors = $request->request->get('authors', '');
 
         $entry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($url, $this->getUser()->getId());
 
@@ -322,6 +325,7 @@ class EntryRestController extends WallabagRestController
                     'open_graph' => [
                         'og_image' => $picture,
                     ],
+                    'authors' => explode(',', $authors),
                 ]
             );
         } catch (\Exception $e) {
@@ -332,7 +336,7 @@ class EntryRestController extends WallabagRestController
             $entry->setUrl($url);
         }
 
-        $tags = $request->request->get('tags', []);
+
         if (!empty($tags)) {
             $this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags);
         }
index 1b0c06d2ec7de95f669d09243f87ca228aeef756..e9ba4634c090568082e692e24a92346b272e31c3 100644 (file)
@@ -345,6 +345,7 @@ class EntryRestControllerTest extends WallabagApiTestCase
             'content' => 'my content',
             'language' => 'de_DE',
             'published_at' => '2016-09-08T11:55:58+0200',
+            'authors' => 'bob,helen',
         ]);
 
         $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
@@ -361,6 +362,9 @@ class EntryRestControllerTest extends WallabagApiTestCase
         $this->assertSame('my content', $content['content']);
         $this->assertSame('de_DE', $content['language']);
         $this->assertSame('2016-09-08T11:55:58+0200', $content['published_at']);
+        $this->assertCount(2, $content['published_by']);
+        $this->assertContains('bob', $content['published_by']);
+        $this->assertContains('helen', $content['published_by']);
     }
 
     public function testPostSameEntry()