Commit Graph

128 Commits

Author SHA1 Message Date
74a75f7d43 Use graby ContentExtractor to clean html
It might be better to re-use some graby functionalities to clean html instead of building a new system.
2017-05-31 14:00:15 +02:00
fb436e8ca0 Add support for authors 2017-05-31 13:59:45 +02:00
e668a8124c Allow other fields to be send using API
Entry API can now have these new fields:
- content
- language
- preview_picture
- published_at

Re-use the ContentProxy to be able to do the same using the web UI (in the future).
htmLawed is used to clean stuff from content, I hope it’ll be enough to avoid security breach.

Lower content validation when we want to update an entry with content already defined. Before, language & content_type were required. If there weren’t provided, we re-fetched the content using graby. I think these fields aren’t required for an entry to be created. So I removed them.
Which means some import from the v1 export won’t be re-fetched since they provide content, url & title.

Also, remove liberation link from Readability import to avoid overlaping import (from wallabag v1, which had the same link)
2017-05-31 13:59:45 +02:00
5709ecb368 Re-use NewUserType to validate registration
The only ugly things is how we handle error by generating the view and then parse the content to retrieve all errors…

Fix exposition fields in User entity
2017-05-30 07:56:01 +02:00
2251045901 WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-29 10:16:23 +02:00
6bc6fb1f60 Move Tags assigner to a separate file
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-27 22:08:14 +02:00
4ab0d25f65 Merge remote-tracking branch 'origin/master' into 2.3 2017-05-19 11:25:19 +02:00
91ba9a5975 Merge pull request #3095 from aaa2000/api-error-on-fail-fetch-content
Create a new entry via API even when its content can't be retrieved
2017-05-10 09:38:55 +02:00
1594a79fc5 Retrieve tag / tags value from query or request
It allows to request to delete a tag using query string instead of body parameter (which seems to be the standard).
Instead of breaking the previous behavior, I used a generic way to retrieve parameter (which looks into request attributes, query parameters and request parameters)
2017-05-09 23:15:25 +02:00
54c2d164a3 Merge remote-tracking branch 'origin/master' into 2.3 2017-05-09 13:55:31 +02:00
b60a666df2 Fix API pagination is broken if perPage is custom value
Fix #2720
2017-05-08 16:27:16 +02:00
08f29ae7b6 Create a new entry via API even when its content can't be retrieved
Fix #2988
2017-05-08 14:57:25 +02:00
72db15ca5d Little refacto and send 400 on reaching urls limit 2017-05-05 12:05:50 +02:00
ab9eb5cdb7 Fix display the form errors correctly
Use `property_path` form option to map underscored form fields
to object properties

@see https://github.com/symfony/symfony/issues/9162#issuecomment-25431148

Fix #3067
2017-05-05 00:12:16 +02:00
efd351c98f Added limit 2017-05-01 09:26:12 +02:00
719ba257d3 Fix tests 2017-05-01 09:26:12 +02:00
a7abcc7b7a Splitted the endpoint in two 2017-05-01 09:26:12 +02:00
1eca7831a6 Added API endpoint to handle a list of URL
By passing an array, you can add / delete URL in mass (bulk request)
2017-05-01 09:25:34 +02:00
dcbebc17aa Fix tests 2017-04-29 12:58:39 +02:00
80299ed282 Added endpoint to handle URL list to add/delete tags 2017-04-24 12:24:17 +02:00
d1fc590211 Added API endpoint to handle a list of URL and to add/delete tags 2017-04-24 11:12:41 +02:00
ca9a83ee51 return id of article instead of true if entry exists 2017-02-24 11:31:31 +01:00
3ef75cc4e3 Be consistent between migration & schema definition 2016-12-19 14:24:19 +01:00
21e7ccef3d Fix tests & deprecation notice 2016-12-15 21:38:16 +01:00
5cd0857e3c Return 304 when content isn't reloaded using the API
Previously it was a 400 but this is more related to a real error.
Using the API user should only know the content got reloaded or not.
If reloaded: 200 otherwise: 304.
2016-11-22 10:45:19 +01:00
56da73969a Return an explicit error if reload fail 2016-11-20 16:25:13 +01:00
70584b42aa Fixing tests 2016-11-20 15:15:13 +01:00
0a6f4568b5 Add ability to reload entry from API 2016-11-20 13:08:41 +01:00
001cc7168a Cleanup 2016-11-03 18:01:25 +01:00
864c1dd23a Fix rest controller merge 2016-11-03 17:29:16 +01:00
5a619812ca Merge remote-tracking branch 'origin/master' into 2.2 2016-11-03 16:41:29 +01:00
7816eb622d Add entry.saved event to import & rest 2016-11-02 07:10:23 +01:00
bc4564a709 Removed useless route 2016-10-28 15:24:58 +02:00
900c844861 Exploded WallabagRestController into many controllers
Fix #2503
2016-10-28 14:46:30 +02:00
23406ca3f1 Added relation between API Client and User
Fix #2062
2016-10-24 21:56:28 +02:00
aa4741091f Add test on /api/annotations
Fix controller forward in WallabagRestController.
Update PHPDoc so it is sorted the same way as others one
Duplicate all annotations test to use both api & normal way
Also, make annotation tests independent to each other
2016-10-22 12:09:20 +02:00
3199ec4702 CS 2016-10-22 09:17:01 +02:00
d9b7768dca Added a missing namespace 2016-10-22 09:06:07 +02:00
0c271b9eb0 fix cs and phpdoc 2016-10-22 09:06:07 +02:00
b1e92f8c14 cs 2016-10-22 09:06:07 +02:00
1eea248bb0 move code 2016-10-22 09:06:07 +02:00
c7935f32d2 cs 2016-10-22 09:06:07 +02:00
351eb8d97e bring annotations to API 2016-10-22 09:06:07 +02:00
5960aa1ffc CS 2016-10-15 18:00:08 +02:00
f1c3f68e90 ApiDoc & Route annotation were conflicted
The generated error was “Unable to guess how to get a Doctrine instance from the request information.”.

I haven’t checked deeper in Doctrine (I know it was coming from the DoctrineParamConverter).

Anyway, I check for FosRest possiblity to add extra format without allowing them for every route (like it was done in the first place).

I finally found a way but it then seems all request goes to the FormatListener of FosRest so I needed to add a custom rules to match all request to be sure we don’t get  a 406 error from FosRest.

Should be ok now …
2016-10-15 16:46:42 +02:00
b1b561da51 Merge pull request #2372 from pmartin/api-get-entry-as-epub
API: ability to export entry in all available format (epub, pdf, etc...)
2016-10-12 14:06:33 +02:00
2a5ff7f554 Merge pull request #2411 from wallabag/fix-entities
Fix entities definition
2016-10-10 08:02:25 +02:00
8dc4cd0f25 Fix entities definition
As per Doctrine said in the debug tool bar:

- The field Wallabag\ApiBundle\Entity\Client#refreshTokens is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity Wallabag\ApiBundle\Entity\RefreshToken#client does not contain the required 'inversedBy="refreshTokens"' attribute.

- The field Wallabag\ApiBundle\Entity\Client#accessTokens is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity Wallabag\ApiBundle\Entity\AccessToken#client does not contain the required 'inversedBy="accessTokens"' attribute.
2016-10-09 20:51:37 +02:00
28bb48905a Optimize the way tag list is rendered
Instead of retrieve all informations about entries of a tag to just count them, we’ll count them before with a fastest query.

Also change the layout of the tag list in material design
2016-10-09 18:55:22 +02:00
93a95c09bf Merge pull request #2351 from wallabag/fix-api-client-deletion
Changed relation between API client and refresh token
2016-10-08 13:31:54 +02:00