Alejandro Celaya
|
a2f9742cfc
|
Fix loading of config options as env vars
|
2022-08-08 19:23:16 +02:00 |
|
Alejandro Celaya
|
a03f32f521
|
Updated to latest shlink dependencies
|
2022-08-07 09:36:51 +02:00 |
|
Alejandro Celaya
|
16bd368a58
|
Centralized how routes are configured to support multi-segment slugs
|
2022-08-06 09:30:13 +02:00 |
|
Alejandro Celaya
|
fc0d99be41
|
Ensure filtering of custom-slug is different depending on the multi-sement lugsfeature flag
|
2022-08-05 08:38:05 +02:00 |
|
Alejandro Celaya
|
efe655f880
|
Enhanced ExtraPathRedirectMiddleware so that it supports multi-segment slugs
|
2022-08-04 17:03:08 +02:00 |
|
Alejandro Celaya
|
3d5ddce621
|
Ensured multi-segment feature flag affects how append_extra_path is checked
|
2022-08-04 16:10:54 +02:00 |
|
Alejandro Celaya
|
619999d4f8
|
Added feature flag to enable/disable multi-segment support
|
2022-08-04 11:49:33 +02:00 |
|
Alejandro Celaya
|
7acf27dd38
|
Replaced usage of deprecated methods in DateRange class
|
2022-08-04 11:27:33 +02:00 |
|
Alejandro Celaya
|
ba517eeeb5
|
Moved routes config together, and ensure they are loaded last
|
2022-08-04 11:14:26 +02:00 |
|
Alejandro Celaya
|
fdd3e24967
|
Added support for multi-segment slugs
|
2022-08-03 19:32:59 +02:00 |
|
Alejandro Celaya
|
0a220bbc7a
|
Allowed slashes on custom slugs during short URL creation
|
2022-08-01 17:32:54 +02:00 |
|
Alejandro Celaya
|
e0e511f56d
|
Some improvements and comments in preparation of multi-segment slugs
|
2022-08-01 17:32:54 +02:00 |
|
Alejandro Celaya
|
f801f265ed
|
Added comments on places to change
|
2022-08-01 17:32:54 +02:00 |
|
Alejandro Celaya
|
8c2bdfba1c
|
Refactored match to ifs with eary returns
|
2022-07-28 10:51:48 +02:00 |
|
Alejandro Celaya
|
73ae754aa7
|
Created NotifyVisitToRedisTest
|
2022-07-28 10:36:52 +02:00 |
|
Alejandro Celaya
|
20a6e7e210
|
Created NotifyNewShortUrlToRedisTest
|
2022-07-28 10:33:26 +02:00 |
|
Alejandro Celaya
|
4cf433a994
|
Defined enum with supported remote systems
|
2022-07-28 10:25:55 +02:00 |
|
Alejandro Celaya
|
e36c4d397c
|
Moved duplicated code in visit listeners to an abstract class
|
2022-07-27 18:18:36 +02:00 |
|
Alejandro Celaya
|
26037327f9
|
Moved duplicated code in short URL listeners to an abstract class
|
2022-07-27 18:06:47 +02:00 |
|
Alejandro Celaya
|
da6aa1d697
|
Integrated PublishUpdatesGenerator in NotifyVisitToRabbitMq listener
|
2022-07-27 17:41:48 +02:00 |
|
Alejandro Celaya
|
dada6aa3d1
|
Integrated PublishUpdatesGenerator in NotifyVisitToRedis listener
|
2022-07-27 16:55:19 +02:00 |
|
Alejandro Celaya
|
fa5ebb1677
|
Integrated PublishUpdatesGenerator in NotifyNewShortUrlToRedis listener
|
2022-07-27 16:47:21 +02:00 |
|
Alejandro Celaya
|
f071df325d
|
Fixed NotifyNewShortUrlToRabbitMqTest
|
2022-07-27 10:26:18 +02:00 |
|
Alejandro Celaya
|
3c042c4011
|
Integrated PublishUpdatesGenerator in NotifyNewShortUrlToRabbitMq listener
|
2022-07-27 10:18:28 +02:00 |
|
Alejandro Celaya
|
7e8109caa3
|
Renamed MercureUpdatesGenerator to PublishingUpdatesGenerator to make it general purpose
|
2022-07-27 09:38:47 +02:00 |
|
Alejandro Celaya
|
d3add6d8e4
|
Added TODO
|
2022-07-26 12:18:58 +02:00 |
|
Alejandro Celaya
|
1b089749c0
|
Migrated mercure event listeners to use new publishing helper from shlink-common
|
2022-07-26 12:17:37 +02:00 |
|
Alejandro Celaya
|
791d6b7e57
|
Updated to latest common, with unified publishing API
|
2022-07-26 12:07:27 +02:00 |
|
Alejandro Celaya
|
db8a816524
|
Implemented redis pub/sub listeners
|
2022-07-26 10:17:50 +02:00 |
|
Alejandro Celaya
|
eff50ca202
|
Created new event listeners to send events to redis pub/sub
|
2022-07-25 18:23:13 +02:00 |
|
Alejandro Celaya
|
cd27a72982
|
Reduced duplicated code in NotifyNewShortUrlToRabbitMqTest
|
2022-07-25 12:31:32 +02:00 |
|
Alejandro Celaya
|
19b0f0d7dc
|
Extended NotifyVisitToRabbitMqTest covering legacy and non-legacy use-cases
|
2022-07-25 12:30:28 +02:00 |
|
Alejandro Celaya
|
6ce2049935
|
Added support for legacy and new publishing of visits in RabbitMQ
|
2022-07-25 12:08:22 +02:00 |
|
Alejandro Celaya
|
019bd4dec8
|
Created NotifyNewShortUrlToMercureTest
|
2022-07-25 09:30:25 +02:00 |
|
Alejandro Celaya
|
074bfe3db2
|
Updated MercureUpdatesGeneratorTest
|
2022-07-25 09:02:05 +02:00 |
|
Alejandro Celaya
|
34e72b42dc
|
Implemented listener to publish new short URL events in Mercure
|
2022-07-24 19:00:48 +02:00 |
|
Alejandro Celaya
|
97d24d76d8
|
Fixed new short URL event payload to RabbitMQ, and started to add logic for Mercure
|
2022-07-24 12:37:57 +02:00 |
|
Alejandro Celaya
|
4d1af867a4
|
Extracted real-time update topic names to an enum
|
2022-07-24 12:06:00 +02:00 |
|
Alejandro Celaya
|
fc6b4c12b2
|
Configured publishing of new short URL events in RabbitMQ
|
2022-07-24 11:07:20 +02:00 |
|
Alejandro Celaya
|
405c6de591
|
Created NotifyNewShortUrlToRabbitMq test
|
2022-07-24 10:53:42 +02:00 |
|
Alejandro Celaya
|
47bfa5fcc0
|
Simplified NotifyNewShortUrlToRabbitMq
|
2022-07-24 10:18:19 +02:00 |
|
Alejandro Celaya
|
67d91d5fc5
|
Migrated rabbit integration to RabbitMqPublishingHelper from shlink-common
|
2022-07-24 10:12:26 +02:00 |
|
Alejandro Celaya
|
f832c56adb
|
Moved Mercure and RabbitMq event listeners to their own subnamespaces
|
2022-07-21 20:07:28 +02:00 |
|
Alejandro Celaya
|
c4b30db82d
|
Added missing implements JsonSerializable on VisitLocation that got lost when VisitLocationInterface was removed
|
2022-07-18 20:23:27 +02:00 |
|
Alejandro Celaya
|
abd9f3c6be
|
Removed style checks disabling due to bug on php code sniffer
|
2022-07-04 17:12:38 +02:00 |
|
Alejandro Celaya
|
ed5816d464
|
Fixed merge conflicts
|
2022-06-04 11:43:02 +02:00 |
|
Alejandro Celaya
|
1ab492ce5b
|
Added missing test case
|
2022-06-04 11:22:10 +02:00 |
|
Alejandro Celaya
|
de30c6ad79
|
Fixed error when filtering short URLs by ALL tags and search term
|
2022-06-04 11:20:08 +02:00 |
|
Alejandro Celaya
|
353ac0fc0c
|
Added logic to resolve extra columns on visits commands
|
2022-05-23 21:19:59 +02:00 |
|
Alejandro Celaya
|
72e56d271d
|
Created tags visits command, with abstract class wrapping common logic for visits lists commands
|
2022-05-22 19:22:29 +02:00 |
|
Alejandro Celaya
|
ec17eb3fbc
|
Ensured html entities are parsed when auto-resolving titles
|
2022-05-22 08:29:26 +02:00 |
|
Alejandro Celaya
|
358b600713
|
Fixed merge conflicts
|
2022-05-09 08:21:19 +02:00 |
|
Alejandro Celaya
|
18f656fed2
|
Changed logic when resolving the title of a URL, to ensure only html content is tried to be downloaded, and only until the title tag has been parsed
|
2022-05-01 11:48:20 +02:00 |
|
Alejandro Celaya
|
eea76999b2
|
Ensured URL validation is doe via HEAD method when the title does not need to be resolved
|
2022-05-01 09:51:15 +02:00 |
|
Alejandro Celaya
|
cdef430b0b
|
Set ShortUrlIdentifier constructor to private
|
2022-04-23 19:01:02 +02:00 |
|
Alejandro Celaya
|
6ada704bc3
|
Moved TagsMode to its own enum
|
2022-04-23 18:56:27 +02:00 |
|
Alejandro Celaya
|
e8f7daac6f
|
Converted Role constants to enum
|
2022-04-23 18:41:16 +02:00 |
|
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
|
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
|
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
|
613bdd82b0
|
Ensured base path is not prefixed more than it should
|
2022-03-14 19:26:02 +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
|
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 |
|