Commit graph

1464 commits

Author SHA1 Message Date
Alejandro Celaya
404455928e Converted visit types into enum 2022-04-23 18:19:16 +02:00
Alejandro Celaya
bca3e62ced Updated to readonly public props on as many models as possible 2022-04-23 14:00:47 +02:00
Alejandro Celaya
e79391907a Added some PHP 8.1 features 2022-04-23 13:08:21 +02:00
Alejandro Celaya
54a23cc7fa Converted EnvVars to enum 2022-04-23 12:44:17 +02:00
Alejandro Celaya
54c1c7ad84 Created DomainVisits API test 2022-04-23 11:17:32 +02:00
Alejandro Celaya
af15e31b42 Created DomainVisitsActionTest 2022-04-23 11:07:10 +02:00
Alejandro Celaya
99b4f9f4dd Improved VisitsStatsHelperTest covering visitsForDomain method 2022-04-23 11:02:51 +02:00
Alejandro Celaya
9a0e5ea626 Created method to check if domain exists based on authority and API key 2022-04-23 10:58:33 +02:00
Alejandro Celaya
984205e02c Extended VisitRepositoryTest with domain visits functions 2022-04-23 10:45:42 +02:00
Alejandro Celaya
e11bf6ac67 Created endpoint to get visits for one specific domain 2022-04-23 10:32:07 +02:00
Alejandro Celaya
011856cbfa Removed redundant var 2022-04-23 09:15:01 +02:00
Alejandro Celaya
9f6ffc7186 Added errorhandling for individual imported URLs, so that one failing doe snot make the whole process fail 2022-04-18 14:45:37 +02:00
Alejandro Celaya
c20c3801a8 Ensured all input dates are changed to the default timezone before being used on any inner layer 2022-04-15 19:57:27 +02:00
Alejandro Celaya
3db8a65ddb Fixed test 2022-04-14 16:00:15 +02:00
Alejandro Celaya
52c55f385d Added support to set the timezone via config/env vars 2022-04-14 14:22:48 +02:00
Alejandro Celaya
21534b78cb Updated to latest shlink-importer, with support to import on a specific domain for YOURLS 2022-04-13 12:40:21 +02:00
Alejandro Celaya
3a82691503 Small improvements on CreateDatabaseCommand 2022-04-10 19:48:32 +02:00
Alejandro Celaya
1449e24b66 Improved some tests 2022-03-14 19:41:33 +01:00
Alejandro Celaya
613bdd82b0 Ensured base path is not prefixed more than it should 2022-03-14 19:26:02 +01:00
Alejandro Celaya
a0c538d9ee Updated changelog 2022-03-05 10:48:02 +01:00
Alejandro Celaya
07c30f86e9 Excluded migrations table when checking if the database schema exists 2022-03-05 10:41:13 +01:00
Alejandro Celaya
c22e38f9a0 Removed deprecated method call 2022-03-05 10:32:05 +01:00
Alejandro Celaya
5a25211371 Created NotConfiguredMercureErrorHandlerTest 2022-02-20 10:50:21 +01:00
Alejandro Celaya
6983f9b2bf Added middleware that mitigates big error traces being logged for those not using mercure 2022-02-20 10:36:54 +01:00
Alejandro Celaya
c52f3c396b Fixed merge conflicts 2022-02-19 19:47:34 +01:00
Alejandro Celaya
c98ea6055b Ensured API keys cannot be generated with domain-only roles linked to default domain 2022-02-19 19:23:36 +01:00
Alejandro Celaya
af1ae0399c Fixed merge conflicts 2022-02-04 18:03:29 +01:00
Alejandro Celaya
d0fa6f7e03 Added missing test covering URL validation with valid URL but title resolutio is disabled 2022-02-01 19:44:14 +01:00
Alejandro Celaya
9ea8f3b590 Fixed URL validation still being true by default 2022-02-01 19:12:53 +01:00
Alejandro Celaya
1b731aa4a3 Deprecated webhooks 2022-01-31 12:30:29 +01:00
Alejandro Celaya
1d4186392c Marked database commands as hidden 2022-01-30 12:15:53 +01:00
Alejandro Celaya
11c6c9a2b8 Removed unneeded lines 2022-01-23 18:17:39 +01:00
Alejandro Celaya
cdb18a5baf Documented performance issue when sorting by visits or short URLs count 2022-01-23 10:48:38 +01:00
Alejandro Celaya
8adb6596fb Refactored TagInfo to wrap the raw tag name instead of a Tag entity 2022-01-23 09:37:02 +01:00
Alejandro Celaya
dd6bcd68cc Removed not-needed extra line 2022-01-22 20:36:50 +01:00
Alejandro Celaya
1c9ce0ede0 Fixed default/fallback tags with stats ordering 2022-01-21 22:22:55 +01:00
Alejandro Celaya
6b409b06cc Simplified TagRepository test for tags info list, making it more predictable 2022-01-21 22:04:53 +01:00
Alejandro Celaya
361e864415 Added fallback ordering to tags list 2022-01-21 20:12:16 +01:00
Alejandro Celaya
afca66d655 Added tests covering tags info with counted ordering and limit 2022-01-21 19:58:56 +01:00
Alejandro Celaya
33a6c9fda7 Added support to order tags with stats by short URLs or visits count. In a non-performant way 2022-01-21 19:52:25 +01:00
Alejandro Celaya
a198484ab6 Updated test utils lib 2022-01-21 19:21:30 +01:00
Alejandro Celaya
7202605fc8 Created EnvVarsTest 2022-01-20 20:40:34 +01:00
Alejandro Celaya
747dac531d Added a more strict way to handle valid and expected env vars 2022-01-20 20:16:37 +01:00
Alejandro Celaya
d0546a2ea2 Split spec to join ApiKey spec with short URLs, into inlined and regular versions 2022-01-18 20:14:24 +01:00
Alejandro Celaya
9e9621e7b2 Standardized how inlined or regular specs are applied to query builders 2022-01-18 20:06:32 +01:00
Alejandro Celaya
d39f3b4265 Enhanced TagRepositoryTest and replaced inlined quoting by doctrine connection quoting 2022-01-18 19:50:48 +01:00
Alejandro Celaya
dc430bae10 Refactored method in ShortUrlsRepository 2022-01-17 20:21:35 +01:00
Alejandro Celaya
661b07e12f Refactored ShortUrlRepository to wrap args into DTOs 2022-01-17 20:10:41 +01:00
Alejandro Celaya
492eba3a8b Fixed duplicated slashes generated in path when doing not-found redirects with placeholders 2022-01-16 15:54:22 +01:00
Alejandro Celaya
77fee1390f Renamed class to a more appropriate name 2022-01-16 15:41:20 +01:00
Alejandro Celaya
bfb54189b8 Moved some config to the proper namespace, now that config is no longer part of the public contract 2022-01-16 15:34:13 +01:00
Alejandro Celaya
7c1f705e64 Created NonOrphanVisitsPaginatorAdapter test 2022-01-16 12:29:36 +01:00
Alejandro Celaya
fe1fa7689a Created endpoint to list non-orphan visits 2022-01-16 12:24:02 +01:00
Alejandro Celaya
4a3e04ced9 Added tests covering count non orphan visits with different combinations of filters 2022-01-16 11:44:12 +01:00
Alejandro Celaya
61618250ec Renamed countVisits to countNonOrphanVisits, and updated its signature to expect a VisitsCountFiltering DTO 2022-01-16 11:15:39 +01:00
Alejandro Celaya
60c0ca3ae5 Changed VisitsCountFiltering and VisitsListFiltering so that they encapsulate an ApiKey instead of a Spec 2022-01-16 10:56:37 +01:00
Alejandro Celaya
3436405c55 Merge branch 'develop' into feature/all-visits-endpoint 2022-01-16 10:23:22 +01:00
Alejandro Celaya
91192a8a8f Updated to latest shlink-installer and shlink-config, ensuring env vars are properly loaded 2022-01-15 16:06:24 +01:00
Alejandro Celaya
c6f16b0558 Updated to latest installer with support for env vars 2022-01-15 11:34:17 +01:00
Alejandro Celaya
976b07cd61 Updated to doctrine 2.11 2022-01-12 20:48:42 +01:00
Alejandro Celaya
f0fd947046 Moved existing paginator adapters that are related with visits to the Visits namespace 2022-01-10 22:16:33 +01:00
Alejandro Celaya
7f4ada9c4b Created method in VisitRepository to fetch all non-orphan visits 2022-01-10 21:43:32 +01:00
Alejandro Celaya
db4ef328b1 Renamed some visits paginator adapters for consistency 2022-01-10 20:26:33 +01:00
Alejandro Celaya
2ed475fc76 Ensure database fields are created with proper charset and collation in MySQL 2022-01-10 14:37:44 +01:00
Alejandro Celaya
34512da2fb Fixed indentation 2022-01-10 13:21:12 +01:00
Alejandro Celaya
ce47d8c591 Added full support for emojis 2022-01-10 13:04:16 +01:00
Alejandro Celaya
45de3f0128 Ensured emojis in short URLs are not URL-encoded 2022-01-10 11:13:16 +01:00
Alejandro Celaya
41d3826c1a Ensured bars are replaced by dashes in custom slugs 2022-01-10 10:43:20 +01:00
Alejandro Celaya
e47c90c645 Simplified how the custom slugs are processed, allowing more characters in the process 2022-01-09 21:02:23 +01:00
Alejandro Celaya
3b359cfc4f Reduced amount of duplicated code in API tests 2022-01-09 17:47:19 +01:00
Alejandro Celaya
a6b1647f27 Created TagStatsActionTest 2022-01-09 17:37:00 +01:00
Alejandro Celaya
d5851bbb6a Created TagsStats endpoint 2022-01-09 17:24:07 +01:00
Alejandro Celaya
95d8d3ef72 Added ordering by name support for tags list with stats 2022-01-09 13:38:59 +01:00
Alejandro Celaya
1b51a1aedd Added ordering support for tags list when not requesting stats 2022-01-09 13:31:08 +01:00
Alejandro Celaya
ff75b3cd1f Enhanced test covering list short URLs with invalid params 2022-01-09 11:28:32 +01:00
Alejandro Celaya
2abcaf02e2 Standardized ordering field handling and added validation for short URLs list 2022-01-09 11:23:27 +01:00
Alejandro Celaya
d0c9f5a776 Fixed merge conflicts 2022-01-08 17:40:49 +01:00
Alejandro Celaya
2d861b4077 Improved performance when loading paginated tags, by using an ugly compound of native queries and DQL 2022-01-08 17:25:09 +01:00
Alejandro Celaya
38bea6c086 Added edge case tests for SHortUrlMetaTest on title field 2022-01-07 14:07:07 +01:00
Alejandro Celaya
562763199a Ensured URL titles are trimmed to avoid error when persisted in database 2022-01-07 13:13:45 +01:00
Alejandro Celaya
107c09604a Fixed performance issues on list tags endpoint when requesting it with stats 2022-01-06 19:01:00 +01:00
Alejandro Celaya
2b0567b368 Fixed typo 2022-01-06 18:35:50 +01:00
Alejandro Celaya
d00a56bec0 Fixed query to count tags when a search term is present 2022-01-06 12:22:05 +01:00
Alejandro Celaya
b3863a3e10 Improved TagServiceTest, covering tagsInfo method with params 2022-01-06 11:36:08 +01:00
Alejandro Celaya
5559107776 Changed namespace for database tests to ShlinkioDbTest 2022-01-06 11:01:21 +01:00
Alejandro Celaya
af1cf806f0 Created tag paginator adapter tests 2022-01-06 10:55:57 +01:00
Alejandro Celaya
0cf33c6119 Added DB test for TagsPaginator 2022-01-06 10:35:01 +01:00
Alejandro Celaya
b38b8a3365 Extended TagRepositoryTest, covering filterings on tags 2022-01-06 10:13:37 +01:00
Alejandro Celaya
e998c8434d Extracted tags filtering params to a DTO 2022-01-06 09:50:43 +01:00
Alejandro Celaya
4b90cf93d3 Created DB-level paginator for tags with stats 2022-01-05 23:44:14 +01:00
Alejandro Celaya
3dd4e33758 Created DB-level paginator for tags without stats 2022-01-05 23:30:35 +01:00
Alejandro Celaya
11a383b7e5 Extracted common logic from TagService to a private method 2022-01-05 19:25:50 +01:00
Alejandro Celaya
2f42b2d072 Added API tests covering pagination for tags 2022-01-05 19:16:49 +01:00
Alejandro Celaya
775f58f972 Added support for pagination in tags lists 2022-01-05 19:12:08 +01:00
Alejandro Celaya
5c0abb3d96 Created TagsParams class 2022-01-05 18:19:29 +01:00
Alejandro Celaya
44e3f9b49f Changed default ordering of short URLs, returning newest first 2022-01-05 14:10:24 +01:00
Alejandro Celaya
9dec05f62d Added API test covering invalid tagsMode 2022-01-04 14:42:31 +01:00
Alejandro Celaya
0447aa07fa Added more API tests covering the new tagsMode param on short URLs list 2022-01-04 14:34:31 +01:00
Alejandro Celaya
d8484e777f Added logic to actually filter short URLs by any tag or all tags 2022-01-04 14:23:21 +01:00
Alejandro Celaya
665a3dbcbf Documented tagsMode param for short URLs list 2022-01-04 12:22:36 +01:00