Alejandro Celaya
|
ef01754ad5
|
Added event dispatching to UpdateGeoLiteDb dispatcher so that it locates visits when file has just been created
|
2022-09-18 11:17:17 +02:00 |
|
Alejandro Celaya
|
eab9347522
|
Created enum to determine what was the result of updating a geolite DB
|
2022-09-18 10:31:14 +02:00 |
|
Alejandro Celaya
|
59bcd62717
|
Moved Geolocation services to its own namespace inside CLI module
|
2022-09-18 10:01:22 +02:00 |
|
Alejandro Celaya
|
3f01fad12f
|
Ensured empty initial PAI keys are discarded
|
2022-09-18 09:29:38 +02:00 |
|
Alejandro Celaya
|
8d244c8d34
|
Migrated UrlShortenerOptions to immutable object
|
2022-09-17 15:54:43 +02:00 |
|
Alejandro Celaya
|
42af057316
|
Migrated RedirectOptions to immutable object
|
2022-09-17 15:36:40 +02:00 |
|
Alejandro Celaya
|
8f68078835
|
Migrated RabbitMqOptions to immutable object
|
2022-09-17 13:56:59 +02:00 |
|
Alejandro Celaya
|
0c34032fd3
|
Migrated QrCodeOptions to immutable object
|
2022-09-17 13:45:09 +02:00 |
|
Alejandro Celaya
|
20f457a3e9
|
Migrated NotFoundRedirectOptions to immutable object
|
2022-09-17 13:32:40 +02:00 |
|
Alejandro Celaya
|
784908420e
|
Migrated DeleteShortUrlsOptions to immutable object
|
2022-09-17 13:04:49 +02:00 |
|
Alejandro Celaya
|
9685929824
|
Migrated AppOptions to immutable object
|
2022-09-17 13:01:28 +02:00 |
|
Alejandro Celaya
|
fe4b2c4ae4
|
Migrated TrackingOptions to immutable object
|
2022-09-17 12:57:04 +02:00 |
|
Alejandro Celaya
|
1966367caf
|
Fixed ApiKeyRepository for MS and Postgres
|
2022-09-11 12:33:28 +02:00 |
|
Alejandro Celaya
|
eed7b6e565
|
Added db test for ApiKeyRepository
|
2022-09-11 12:18:04 +02:00 |
|
Alejandro Celaya
|
0e54ed691d
|
Created InitialApiKeyDelegatorTest
|
2022-09-11 12:11:39 +02:00 |
|
Alejandro Celaya
|
997289da02
|
Changed all public setUp methods in tests to be protected
|
2022-09-11 12:02:49 +02:00 |
|
Alejandro Celaya
|
c841e57db5
|
Reduced duplication in ApiKeyRepository
|
2022-09-11 11:59:49 +02:00 |
|
Alejandro Celaya
|
f5138385be
|
Created new env var to programatically provide an initial API key
|
2022-09-11 10:45:03 +02:00 |
|
Alejandro Celaya
|
e6ee4ceae2
|
Simplified mapping of TagInfo objects
|
2022-09-08 20:50:11 +02:00 |
|
Alejandro Celaya
|
b078c00492
|
Migrated to custom doctrine cli entry point, as the built-in is deprecated
|
2022-09-08 14:10:09 +02:00 |
|
Alejandro Celaya
|
e712efd008
|
Simplified exception
|
2022-09-06 21:56:18 +02:00 |
|
Alejandro Celaya
|
fe4329d730
|
Allowed trailing slashes support to be enabled for the short URLs route
|
2022-09-05 20:59:16 +02:00 |
|
Alejandro Celaya
|
846802c003
|
Slight improvements on RoadRunner config
|
2022-08-26 17:58:25 +02:00 |
|
Alejandro Celaya
|
e9ec32b3c3
|
Added support to dispatch async event listeners as RoadRunner jobs
|
2022-08-26 14:59:27 +02:00 |
|
Alejandro Celaya
|
a41835573b
|
Centralized prefix for problem detail types
|
2022-08-14 13:12:10 +02:00 |
|
Alejandro Celaya
|
2650cb89b5
|
Created BackwardsCompatibleProblemDetailsExceptionTest
|
2022-08-14 12:39:05 +02:00 |
|
Alejandro Celaya
|
4a122e0209
|
Added remaining API tests covering error type convertions
|
2022-08-14 10:51:12 +02:00 |
|
Alejandro Celaya
|
40bbcb3250
|
Added some API tests for v3 API errors
|
2022-08-13 17:49:00 +02:00 |
|
Alejandro Celaya
|
905f51fbd0
|
Added logic to properly map all existing errors from v3 to v2 in the API
|
2022-08-13 17:15:04 +02:00 |
|
Alejandro Celaya
|
cd4fe4362b
|
Created middleware to keep backwards compatibility on errors when using v1 and 2 of the API
|
2022-08-13 16:50:19 +02:00 |
|
Alejandro Celaya
|
709a4639b3
|
Fixed merge conflicts
|
2022-08-09 18:59:55 +02:00 |
|
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
|
b03f24d59a
|
Ensured no arguments are passed form locate visits command to download geolite command, is it does not expect any
|
2022-08-01 12:06:38 +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
|
4146835f6f
|
Created GetOrhanVisitsCommand test
|
2022-05-24 17:59:06 +02:00 |
|
Alejandro Celaya
|
5201ea4516
|
Created tests for short-url-visits commands
|
2022-05-24 17:54:44 +02:00 |
|
Alejandro Celaya
|
fba7b36245
|
Improved GetShortUrlVisitsCommand test
|
2022-05-24 17:44:12 +02:00 |
|
Alejandro Celaya
|
353ac0fc0c
|
Added logic to resolve extra columns on visits commands
|
2022-05-23 21:19:59 +02:00 |
|
Alejandro Celaya
|
00002b1e24
|
Renamed some visits commands
|
2022-05-23 20:47:37 +02:00 |
|
Alejandro Celaya
|
12b8100d89
|
Created visits commands for orphan, non-orphan and domain
|
2022-05-22 19:34:08 +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
|
2400d1f265
|
Removed unused method
|
2022-04-23 19:07:36 +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
|
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
|
1b6512fc8d
|
Replaced deprecated transactional function with wrapTransaction
|
2022-02-27 08:10:18 +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
|
9e32886f60
|
Created first CLI E2E tests
|
2022-02-13 12:20: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
|
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 |
|