| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Closes #3235
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
|\
| |
| | |
Add `given_url` in Entry table to check if a redirected url has already added
|
| |
| |
| |
| |
| | |
When using `OR` in a where clause, a composite index can't be used. We should use a `UNION` to take advantages of it.
Instead, create 2 indexes on each hashed urls and make 2 queries to find an url. It'll be faster than the previous solution.
|
| |
| |
| |
| | |
Using hashed url we can ensure an index on them to ensure it's fast.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Added index on entry table for given_url field
- Fix tests:
The previous `bit.ly` url redirected to doc.wallabag but that url doesn't exist in the fixtures.
I used our own internal "redirector" to create a redirect to an url which exist in the fixtures.
Also, updating current migration to use the new `WallabagMigration`.
|
|/ |
|
|
|
|
| |
Also fix a phpdoc block
|
| |
|
|
|
|
| |
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
|
|
|
|
| |
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
detail=metadata will nullify the content field of entries in order to
make smaller responses.
detail=full keeps the former behavior, it sends the content of entries.
It's the default, for backward compatibility.
Fixes #2817
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
|
|
|
| |
Also, do not run the hashed_url migration into a Doctrine migration
|
|
|
|
|
|
| |
- Add migration
- Use md5 instead of sha512 (we don't need security here, just a hash)
- Update tests
|
| |
|
|
|
|
|
|
|
| |
Change the way to select a random entry:
- select all ids from the given user (with filters)
- choose randomly one in php
- find that entry
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
Only allowed parameter are asc & desc
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Parameters weren’t passed to the sub function.
|
|
|
|
| |
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
|
|
|
|
|
|
|
|
| |
Improve SQL performance by replacing size(e.tags) with a left join and a
null condition
Move the QueryBuilder logic into getRawBuilderForUntaggedByUser
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We refactor getBuilderByUser to separate QueryBuilder getter and the
orderBy(). The previous code of getBuilderByUser() has been moved to
getSortedQueryBuilderByUser(). getBuildByUser() now returns a
QueryBuilder without the call to orderBy().
A new method named sortQueryBuilder() returns a given QueryBuilder with
an orderBy() call using given sort parameters.
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
|
|
|
| |
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
|
|
|
| |
Check is $tags is a string before explode
|
|
|
|
| |
Introduce after the rebase I guess
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Since we still support fucking SQLite, we need to retrieve all tags & annotations for archived entries before deleting them.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
|
|
|
|
| |
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
|
|
|
|
| |
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
|
| |
|