Commit Graph

121 Commits

Author SHA1 Message Date
bb86dc6486 CS 2017-10-12 07:38:27 +02:00
d03b72f405 Fix #3361 add test 2017-10-12 07:38:27 +02:00
7c04b7396a Multiple tag search was broken from API
First, the setParameter() were done on the same parameter which in fact
just duplicated the condition in the SQL query (like `where t.label =
'test' and t.label = 'test'`.

Changed the parameter doesn't help because the query was then wrong.

Changing the way to match associated tags for an entry and it worked.
2017-09-06 22:49:15 +02:00
a991c46eed Set a starred_at field when an entry is starred.
This date is used to sort starred entries.

Can not use Entry::timestamps method otherwise starred_at will be updated each time entry is updated.
Add an updateStar method into Entry class
A migration script has been added in order to set starred_at field.
2017-08-25 21:19:47 +02:00
ff9f89fd23 Add a test for updatePublishedAt
To avoid error when a content is re-submitted and it previously add a
published date.

Also, fix the `testPostSameEntry`
2017-07-24 17:07:47 +02:00
2e5b2fa808 Revert client_credentials grant types 2017-07-08 19:28:12 +02:00
c18a2476b6 CS 2017-07-03 13:56:39 +02:00
a05b61159e Fix PATCH method
The PATCH method for the entry should only update what user sent to us and not the whole entry as it was before.
Also, sending tags when patching an entry will now remove all current tags & assocatied new ones.
2017-07-03 13:45:04 +02:00
38520658ad Fix tests 2017-07-03 07:30:54 +02:00
f808b01692 Add a real configuration for CS-Fixer 2017-07-01 09:52:38 +02:00
39ffaba323 Return null instead of false 2017-06-28 08:15:06 +02:00
18696f77fd Avoid BC on exists endpoint 2017-06-23 08:30:23 +02:00
caa0b1765b Add client_credentials oAuth2 auth method
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-06-14 17:30:12 +02:00
1112e54772 Add public filter/field in the API
Listing entries can now be filtered by “public”.
Creating or patching an entry can now set is to public or remove the public.
Entry response now include “is_public” boolean field
2017-06-10 15:31:57 +02:00
e9056dd96f Fix test
de_DE is not valid language.
Zataz doesn’t send a valid language in their content (they use `fr-FR`).
2017-06-08 22:51:30 +02:00
a8d3fe50df Add ability to name the client 2017-06-08 14:25:44 +02:00
0c00e52516 Create a client when creating a user using the api
While creating a new user using the API, we also create a new client for the current user.
So the app which just create the user can use its newly created client to configure the app.

That new client is only return after creating the user.
When calling the endpoint /api/user to get user information, the new client information won’t be return.
2017-06-07 23:23:28 +02:00
c0d756f67d Merge pull request #3181 from wallabag/api-content-patch
Add ability to patch an entry with more fields
2017-06-07 15:40:59 +02:00
645291e8fe Add ability to patch an entry with more fields
Like when we create an entry, we can now patch an entry with new fields:
- content
- language
- preview_picture
- published_at
- authors
2017-06-02 20:52:49 +02:00
a1e6187406 Return 201 on user creation 2017-06-02 20:03:25 +02:00
426bb453d2 API user creation behing a toggle
I've added a toggle feature (in internal settings) so that user api creation can be disabled while form registration still can be enabled.
Also, the /api/user endpoint shouldn't require authentication. Even if we check the authentication when sending a GET request, to retrieve current user information.

I've moved all the internal settings definition to config to avoid duplicated place to define them.
I don't know why we didn't did that earlier.
2017-06-02 11:32:38 +02:00
2a0eec07a5 Merge pull request #3137 from aaa2000/isolated-tests
Isolated tests
2017-06-01 07:58:17 +02:00
7ab5eb9508 Isolated tests
Use https://github.com/dmaicher/doctrine-test-bundle to have test isolation.
2017-05-31 16:03:54 +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
fe6461e4aa Avoid side effect on other tests 2017-05-30 09:57:57 +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
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
a9357a8311 Remove the created entry to avoid side effects on other tests 2017-05-09 23:19:24 +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
7d2d1d6859 Added migrations execution after fresh install 2017-05-05 15:14:58 +02:00
6980304968 Merge pull request #3053 from wallabag/api-bulk-add
Added API endpoint to handle a list of URL
2017-05-05 13:56:34 +02:00
72db15ca5d Little refacto and send 400 on reaching urls limit 2017-05-05 12:05:50 +02:00
9c09c253fe Merge pull request #3047 from wallabag/add-notmatches-operator
Added notmatches operator for tagging rule
2017-05-03 11:53:01 +02:00
efd351c98f Added limit 2017-05-01 09:26:12 +02:00
7fa844a349 Fix tests (for real this time) 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
fdd725f58c Added notmatches operator for tagging rule 2017-04-20 15:17:02 +02:00
ca9a83ee51 return id of article instead of true if entry exists 2017-02-24 11:31:31 +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