* {"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"},
* }
* )
*
$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());
'open_graph' => [
'og_image' => $picture,
],
+ 'authors' => explode(',', $authors),
]
);
} catch (\Exception $e) {
$entry->setUrl($url);
}
- $tags = $request->request->get('tags', []);
+
if (!empty($tags)) {
$this->get('wallabag_core.tags_assigner')->assignTagsToEntry($entry, $tags);
}
'content' => 'my content',
'language' => 'de_DE',
'published_at' => '2016-09-08T11:55:58+0200',
+ 'authors' => 'bob,helen',
]);
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
$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()