mirror of
https://github.com/wallabag/wallabag.git
synced 2025-04-25 19:34:07 +00:00
Don't add entry through API if it already exists
This commit is contained in:
parent
17051137ec
commit
3107f92acb
2 changed files with 26 additions and 4 deletions
|
@ -112,10 +112,14 @@ class WallabagRestController extends FOSRestController
|
||||||
$isArchived = $request->request->get('archive');
|
$isArchived = $request->request->get('archive');
|
||||||
$isStarred = $request->request->get('starred');
|
$isStarred = $request->request->get('starred');
|
||||||
|
|
||||||
$entry = $this->get('wallabag_core.content_proxy')->updateEntry(
|
$entry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($url, $this->getUser()->getId());
|
||||||
new Entry($this->getUser()),
|
|
||||||
$url
|
if (false === $entry) {
|
||||||
);
|
$entry = $this->get('wallabag_core.content_proxy')->updateEntry(
|
||||||
|
new Entry($this->getUser()),
|
||||||
|
$url
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$tags = $request->request->get('tags', '');
|
$tags = $request->request->get('tags', '');
|
||||||
if (!empty($tags)) {
|
if (!empty($tags)) {
|
||||||
|
|
|
@ -166,6 +166,24 @@ class WallabagRestControllerTest extends WallabagApiTestCase
|
||||||
$this->assertCount(1, $content['tags']);
|
$this->assertCount(1, $content['tags']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testPostSameEntry()
|
||||||
|
{
|
||||||
|
$this->client->request('POST', '/api/entries.json', array(
|
||||||
|
'url' => 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html',
|
||||||
|
'archive' => '1',
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$content = json_decode($this->client->getResponse()->getContent(), true);
|
||||||
|
|
||||||
|
$this->assertGreaterThan(0, $content['id']);
|
||||||
|
$this->assertEquals('http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html', $content['url']);
|
||||||
|
$this->assertEquals(true, $content['is_archived']);
|
||||||
|
$this->assertEquals(false, $content['is_starred']);
|
||||||
|
$this->assertCount(1, $content['tags']);
|
||||||
|
}
|
||||||
|
|
||||||
public function testPostArchivedAndStarredEntry()
|
public function testPostArchivedAndStarredEntry()
|
||||||
{
|
{
|
||||||
$this->client->request('POST', '/api/entries.json', array(
|
$this->client->request('POST', '/api/entries.json', array(
|
||||||
|
|
Loading…
Reference in a new issue