Commit graph

164 commits

Author SHA1 Message Date
Kevin Decherf
2a1ceb67b4 php-cs-fixer
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 14:25:32 +02:00
Kevin Decherf
f5ea67e4cf api: copy entry object before sending, to keep id
Workaround for https://github.com/wallabag/android-app/issues/646

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-12-17 21:07:46 +01:00
Kevin Decherf
af29e1bf07 Fix empty title and domain_name when exception is thrown during fetch
Add a new helper to set a default title when it's empty:
1/ use basename part of entry's path, if any
2/ or use domain name

Fixes #2053

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-12-13 22:44:31 +01:00
Jeremy Benoist
4ac0e65963
Fix bad key matching
I didn't try to find which package introduced a BC (might be user-bundle
or jms serializer)
2017-12-08 12:10:28 +01:00
Kevin Decherf
3b771f51a6 Improve origin_url field description and translations
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-11-19 15:02:11 +01:00
Kevin Decherf
e0ef1a1c8b Add originUrl property to Entry, handle that in EntryRestController, handle migration
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-11-19 15:02:11 +01:00
Sébastien Viande
0978bd849e Fix #3361 Entry Rest controller getEntries cast tags params to string 2017-10-13 10:28:05 +02:00
Jeremy Benoist
3ef055ced3
CS 2017-10-09 16:47:15 +02:00
Jeremy Benoist
f40c88eb1f
Jump to Symfony 3.3 & update others deps
Also update tests urls
2017-10-09 16:45:12 +02:00
François D
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
Nicolas Hart
52b84c11a5 Fix some namespaces and phpdoc 2017-07-29 22:51:50 +02:00
Jérémy Benoist
f39152ad6e Merge pull request #3266 from egilli/export-domain-as-author
Use the article publisher as author for exported files
2017-07-11 09:21:49 +02:00
Étienne Gilli
07320a2bd2 Use the article domain as author for export files
When exporting an entry, use the domain name as author name for epub,
mobi and pdf formats, instead of 'wallabag'.
Change the author from array to string, because for now, there is always
only one author.
2017-07-08 19:53:43 +02:00
Jeremy Benoist
2e5b2fa808
Revert client_credentials grant types 2017-07-08 19:28:12 +02:00
Jeremy Benoist
c18a2476b6
CS 2017-07-03 13:56:39 +02:00
Jeremy Benoist
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
Jeremy Benoist
f808b01692
Add a real configuration for CS-Fixer 2017-07-01 09:52:38 +02:00
Jérémy Benoist
331e5b0261 CS 2017-06-28 09:18:22 +02:00
Jeremy Benoist
39ffaba323
Return null instead of false 2017-06-28 08:15:06 +02:00
Jeremy Benoist
18696f77fd
Avoid BC on exists endpoint 2017-06-23 08:30:23 +02:00
Thomas Citharel
caa0b1765b Add client_credentials oAuth2 auth method
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-06-14 17:30:12 +02:00
Jeremy Benoist
d9da186fb8
CS 2017-06-10 16:08:24 +02:00
Jeremy Benoist
a9c6577f0c
Few fixes 2017-06-10 15:37:25 +02:00
Jeremy Benoist
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
Jeremy Benoist
a8d3fe50df
Add ability to name the client 2017-06-08 14:25:44 +02:00
Jeremy Benoist
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
Jérémy Benoist
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
Jeremy Benoist
db0c48af36
Refactorize the way to save an Entry in the API 2017-06-07 15:07:55 +02:00
Jeremy Benoist
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
Jeremy Benoist
a1e6187406
Return 201 on user creation 2017-06-02 20:03:25 +02:00
Jeremy Benoist
1b9cd91782
Add translation 2017-06-02 11:32:38 +02:00
Jeremy Benoist
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
Jeremy Benoist
d5c2cc54b5
Fix tests 2017-06-01 09:49:15 +02:00
Jerome Charaoui
7aba665e48
Avoid returning objects passed by reference.
Objects are always passed by reference, so it doesn't make sense to
return an object which is passed by reference as it will always be the
same object. This change makes the code a bit more readable.
2017-06-01 09:43:01 +02:00
Jeremy Benoist
f0378b4d7c
Forced date can now be a timestamp too
Add adding more tests for forced content
2017-05-31 14:00:15 +02:00
Jeremy Benoist
9e349f08a6
Improve docs 2017-05-31 14:00:15 +02:00
Jeremy Benoist
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
Jeremy Benoist
fb436e8ca0
Add support for authors 2017-05-31 13:59:45 +02:00
Jeremy Benoist
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
Jeremy Benoist
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
Thomas Citharel
2251045901
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-29 10:16:23 +02:00
Thomas Citharel
6bc6fb1f60 Move Tags assigner to a separate file
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-27 22:08:14 +02:00
Jeremy Benoist
4ab0d25f65
Merge remote-tracking branch 'origin/master' into 2.3 2017-05-19 11:25:19 +02:00
Thomas Citharel
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
Jeremy Benoist
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
Jeremy Benoist
54c2d164a3
Merge remote-tracking branch 'origin/master' into 2.3 2017-05-09 13:55:31 +02:00
adev
b60a666df2 Fix API pagination is broken if perPage is custom value
Fix #2720
2017-05-08 16:27:16 +02:00
adev
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
Jeremy Benoist
72db15ca5d
Little refacto and send 400 on reaching urls limit 2017-05-05 12:05:50 +02:00
adev
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