Alejandro Celaya
|
6e836b5fd9
|
Migrated PersistenceShortUrlRelationResolverTest to use PHPUnit mocks
|
2022-10-23 18:28:28 +02:00 |
|
Alejandro Celaya
|
8753e3a77f
|
Migrated ShortUrlRepositoryAdapterTest to use PHPUnit mocks
|
2022-10-23 18:17:29 +02:00 |
|
Alejandro Celaya
|
6a2227efc5
|
Removed all uinnecessary usages of equalsTo param constraint
|
2022-10-23 18:15:57 +02:00 |
|
Alejandro Celaya
|
1fbcea7a06
|
Migrated ExtraPathRedirectMiddlewareTest to use PHPUnit mocks
|
2022-10-23 17:53:09 +02:00 |
|
Alejandro Celaya
|
168c839cf1
|
Migrated TrimTrailingSlashMiddlewareTest to use PHPUnit mocks
|
2022-10-23 17:39:57 +02:00 |
|
Alejandro Celaya
|
162e913cc4
|
Migrated ShortUrlTitleResolutionHelperTest to use PHPUnit mocks
|
2022-10-23 17:38:04 +02:00 |
|
Alejandro Celaya
|
5aaf50d68e
|
Migrated ShortCodeUniquenessHelperTest to use PHPUnit mocks
|
2022-10-23 17:35:50 +02:00 |
|
Alejandro Celaya
|
d2f5be1d18
|
Migrated UrlShortenerTest to use PHPUnit mocks
|
2022-10-23 11:32:13 +02:00 |
|
Alejandro Celaya
|
36ab455a49
|
Migrated ShortUrlServiceTest to use PHPUnit mocks
|
2022-10-23 11:14:01 +02:00 |
|
Alejandro Celaya
|
ee8cab8455
|
Migrated ShortUrlResolverTest to use PHPUnit mocks
|
2022-10-23 11:09:40 +02:00 |
|
Alejandro Celaya
|
bd884e85d4
|
Migrated DeleteShortUrlServiceTest to use PHPUnit mocks
|
2022-10-23 11:03:47 +02:00 |
|
Alejandro Celaya
|
a78c59c11a
|
Fixed coding styles
|
2022-10-22 20:41:17 +02:00 |
|
Alejandro Celaya
|
173420c608
|
Migrated ImportedLinksProcessorTest to use PHPUnit mocks
|
2022-10-22 20:39:55 +02:00 |
|
Alejandro Celaya
|
10b0ec301b
|
Migrated ValidationExceptionTest to use PHPUnit mocks
|
2022-10-22 20:05:06 +02:00 |
|
Alejandro Celaya
|
1706a869d9
|
Migrated NotifyVisitToRedisTest to use PHPUnit mocks
|
2022-10-22 20:04:12 +02:00 |
|
Alejandro Celaya
|
d0393799d2
|
Migrated NotifyNewShortUrlToRedisTest to use PHPUnit mocks
|
2022-10-22 19:59:32 +02:00 |
|
Alejandro Celaya
|
739433ba8b
|
Migrated NotifyVisitToRabbitMqTest to use PHPUnit mocks
|
2022-10-22 19:05:34 +02:00 |
|
Alejandro Celaya
|
a15e9c29c8
|
Migrated NotifyNewShortUrlToRabbitMqTest to use PHPUnit mocks
|
2022-10-22 18:49:43 +02:00 |
|
Alejandro Celaya
|
dbe35cf567
|
Fixed coding styles
|
2022-10-22 10:03:28 +02:00 |
|
Alejandro Celaya
|
8298f9d491
|
Migrated NotifyVisitToMercureTest to use PHPUnit mocks
|
2022-10-22 10:03:05 +02:00 |
|
Alejandro Celaya
|
16a951b938
|
Migrated NotifyNewShortUrlToMercureTest to use PHPUnit mocks
|
2022-10-22 09:50:12 +02:00 |
|
Alejandro Celaya
|
51fcbfb3c2
|
Migrated UpdateGeoLiteDbTest to use PHPUnit mocks
|
2022-10-22 09:42:21 +02:00 |
|
Alejandro Celaya
|
e01e370d16
|
Migrated NotifyVisitToWebHooksTest to use PHPUnit mocks
|
2022-10-22 08:08:49 +02:00 |
|
Alejandro Celaya
|
736ac8ba90
|
Migrated LocateVisitTest to use PHPUnit mocks
|
2022-10-22 07:54:57 +02:00 |
|
Alejandro Celaya
|
d07104b8d9
|
Migrated LocateUnlocatedVisitsTest to use PHPUnit mocks
|
2022-10-22 07:34:38 +02:00 |
|
Alejandro Celaya
|
cad53e397a
|
Migrated CloseDbConnectionEventListenerTest to use PHPUnit mocks
|
2022-10-22 07:32:37 +02:00 |
|
Alejandro Celaya
|
3608a6d068
|
Migrated CloseDbConnectionEventListenerDelegatorTest to use PHPUnit mocks
|
2022-10-22 07:28:15 +02:00 |
|
Alejandro Celaya
|
bf0b58b344
|
Migrated NotFoundTypeResolverMiddlewareTest to use PHPUnit mocks
|
2022-10-21 19:32:25 +02:00 |
|
Alejandro Celaya
|
ff543b151c
|
Migrated NotFoundTrackerMiddlewareTest to use PHPUnit mocks
|
2022-10-21 19:29:02 +02:00 |
|
Alejandro Celaya
|
d842025835
|
Migrated NotFoundTemplateHandlerTest to use PHPUnit mocks
|
2022-10-21 19:25:29 +02:00 |
|
Alejandro Celaya
|
230e56370a
|
Migrated NotFoundRedirectHandlerTest to use PHPUnit mocks
|
2022-10-21 19:24:39 +02:00 |
|
Alejandro Celaya
|
a8514a9ae4
|
Migrated DomainServiceTest to use PHPUnit mocks
|
2022-10-21 19:01:41 +02:00 |
|
Alejandro Celaya
|
148f7a9cfe
|
Migrated CrawlingHelperTest to use PHPUnit mocks
|
2022-10-21 18:49:47 +02:00 |
|
Alejandro Celaya
|
29d50cabc2
|
Migrated NotFoundRedirectResolverTest to use PHPUnit mocks
|
2022-10-21 18:47:10 +02:00 |
|
Alejandro Celaya
|
a8f8297131
|
Migrated RedirectActionTest to use PHPUnit mocks
|
2022-10-21 18:44:55 +02:00 |
|
Alejandro Celaya
|
cd4b632d75
|
Migrated QrActionTest to use PHPUnit mocks
|
2022-10-21 18:39:22 +02:00 |
|
Alejandro Celaya
|
843754b7e7
|
Migrated PixelActionTest to use PHPUnit mocks
|
2022-10-21 18:32:34 +02:00 |
|
Alejandro Celaya
|
8cfa0b595c
|
Migrated to PHPUnit mocks in RobotsActionTest
|
2022-10-12 18:23:36 +02:00 |
|
Alejandro Celaya
|
3dda49dab4
|
Created middleware which ensures trailing slash and multi-segment features work properly together
|
2022-09-30 17:19:07 +02:00 |
|
Alejandro Celaya
|
0c6f8f1136
|
Refactored global entities into their own proper namespaces
|
2022-09-23 19:03:32 +02:00 |
|
Alejandro Celaya
|
9f9d011d46
|
Moved ShortCodeUniquenessHelper to ShortUrl\Helper namespace
|
2022-09-23 18:46:51 +02:00 |
|
Alejandro Celaya
|
e28b73c130
|
Refactored global services into their own proper namespaces
|
2022-09-23 18:42:38 +02:00 |
|
Alejandro Celaya
|
56f953ab2f
|
Refactored global validations into their own proper namespaces
|
2022-09-23 18:30:07 +02:00 |
|
Alejandro Celaya
|
3ad8be175c
|
Refactored global repositories into their own proper namespaces
|
2022-09-23 18:24:14 +02:00 |
|
Alejandro Celaya
|
f5f990511c
|
Refactored global models into their own proper namespaces
|
2022-09-23 18:05:17 +02:00 |
|
Alejandro Celaya
|
909e42b0be
|
Moved services related to geolocating visits to the Visit\Geolocation namespace
|
2022-09-23 14:50:26 +02:00 |
|
Alejandro Celaya
|
83b7d5a5f1
|
Extracted logic to geolocate a visit, handling possible domain errors
|
2022-09-18 18:44:01 +02:00 |
|
Alejandro Celaya
|
6f17f70137
|
Allowed to delay GeoLite2 db download on docker images
|
2022-09-18 17:00:03 +02:00 |
|
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
|
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
|
997289da02
|
Changed all public setUp methods in tests to be protected
|
2022-09-11 12:02: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
|
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
|
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
|
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 |
|
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
|
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
|
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
|
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
|
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 |
|
Alejandro Celaya
|
103af2e2c1
|
Added support for a new tagsMode param when listing short URLs
|
2022-01-04 12:11:47 +01:00 |
|
Alejandro Celaya
|
8e1cd67a3d
|
Simplified some match expressions
|
2022-01-01 18:40:48 +01:00 |
|
Alejandro Celaya
|
18b4caa55e
|
Fixed merge conflicts
|
2021-12-21 14:48:06 +01:00 |
|
Alejandro Celaya
|
6eac079440
|
Ensured EM is closed and not cleared after running an async task
|
2021-12-21 14:10:06 +01:00 |
|
Alejandro Celaya
|
8c14526f85
|
Fixed tests and updated changelog
|
2021-12-14 22:30:09 +01:00 |
|
Alejandro Celaya
|
1ff241411b
|
Removed everything that was deprecated
|
2021-12-14 22:21:53 +01:00 |
|
Alejandro Celaya
|
30a7c55e84
|
Migrated to a new lib to match IP addresses with ranges
|
2021-12-12 13:30:18 +01:00 |
|
Alejandro Celaya
|
8e5730f374
|
Renamed Rabbit instances to use RabbitMq
|
2021-12-12 10:32:57 +01:00 |
|
Alejandro Celaya
|
cb1705b6e8
|
Created NotifyVisitToRabbitTest
|
2021-12-11 22:18:46 +01:00 |
|
Alejandro Celaya
|
966620f840
|
Created event listener to send visits to a RabbitMQ instance
|
2021-12-11 21:04:16 +01:00 |
|
Alejandro Celaya
|
de2d87a6d9
|
Unified jobs in ci pipeline as much as possible
|
2021-12-11 10:26:23 +01:00 |
|
Alejandro Celaya
|
0786a962e7
|
Increased MIS to 83%
|
2021-12-10 13:42:33 +01:00 |
|
Alejandro Celaya
|
9752abff19
|
Refactored method in DomainRepo, as one fo their arguments was no longer used
|
2021-12-09 12:43:49 +01:00 |
|
Alejandro Celaya
|
ee43e68a57
|
Changed behavior of domains list so that it does not return configured redirects as redirects for default domain
|
2021-12-09 12:32:53 +01:00 |
|
Alejandro Celaya
|
348ac78f5a
|
Enhanced ListDomainsAction so that it returns default redirects in the response
|
2021-12-09 12:11:09 +01:00 |
|
Alejandro Celaya
|
8cc4e4bfca
|
Merge branch 'develop' into feature/consistent-default-domain-redirects
|
2021-12-09 09:18:17 +01:00 |
|
Alejandro Celaya
|
f361403888
|
Updated paginator types
|
2021-12-08 17:36:40 +01:00 |
|
Alejandro Celaya
|
5e722c830f
|
Allowed to set redirects for default domain via command line or API
|
2021-12-07 21:13:47 +01:00 |
|
Alejandro Celaya
|
813ae71aad
|
Added test checking if auto margin is added to QR codes
|
2021-12-06 18:06:29 +01:00 |
|
Alejandro Celaya
|
bf09990f9c
|
Added support to disable rounding on block size for QR codes
|
2021-12-06 17:10:10 +01:00 |
|
Alejandro Celaya
|
7477e672fe
|
Added mutation score badge
|
2021-12-05 08:55:05 +01:00 |
|
Alejandro Celaya
|
a66ddabe8a
|
Added domain to DeleteShortUrlException
|
2021-11-30 21:38:09 +01:00 |
|
Alejandro Celaya
|
c7a621cb31
|
Removed transactionality when dispatching async events, as they run in different processes with different db connections
|
2021-10-23 13:22:42 +02:00 |
|
Alejandro Celaya
|
ed1d886f01
|
Added option to disable tracking based on IP address patterns
|
2021-10-10 22:00:22 +02:00 |
|
Alejandro Celaya
|
d16fda3f16
|
Added option to send orphan visits to webhooks
|
2021-10-09 10:53:21 +02:00 |
|
Alejandro Celaya
|
c718b94937
|
Fixed crash when notifying orphan visits to a webhook
|
2021-10-09 10:35:37 +02:00 |
|
Alejandro Celaya
|
994a28f31d
|
Ensured NotFoundRedirectResolver replaces placeholders from the URL
|
2021-10-03 16:45:13 +02:00 |
|
Alejandro Celaya
|
b0a8a03f0a
|
Refactored NotFoundRedirectResolver to remove duplicated lines and non-strict code
|
2021-10-03 10:35:35 +02:00 |
|
Alejandro Celaya
|
36e740f4cc
|
Added logic to forward path and domain to not-found redirects when they contain placeholders
|
2021-10-02 17:30:25 +02:00 |
|
Alejandro Celaya
|
0c95b978b4
|
Added option in CLI to disable query forwarding when creating Short URLs
|
2021-10-02 10:45:00 +02:00 |
|
Alejandro Celaya
|
e21f9dd1fb
|
Added forwardQuery prop to the SHortUrl serialization
|
2021-10-02 10:31:23 +02:00 |
|
Alejandro Celaya
|
74a08b86ce
|
Estended ShortUrlRedirectionBuilderTest covering short URLS withput query forwarding
|
2021-10-02 10:16:56 +02:00 |
|
Alejandro Celaya
|
8212d3c540
|
Allowed to set and update the forwardQuery param on short URLs
|
2021-10-02 10:02:47 +02:00 |
|
Alejandro Celaya
|
1ed6458b39
|
Added forwardQuery property in short URLs, that determines if the query should be forwarded to the long URL
|
2021-10-02 09:32:04 +02:00 |
|
Alejandro Celaya
|
5e627641ea
|
Added more tests ensuring any short URL can be fetched by using an admin API key
|
2021-10-01 19:32:34 +02:00 |
|
Alejandro Celaya
|
abc954aa47
|
Added extra DB tests ensuring proper short URL visits are resolved from an API key
|
2021-09-30 22:57:24 +02:00 |
|
Alejandro Celaya
|
6a1ee2b894
|
Added new config to set custom defaults for QR codes
|
2021-09-26 13:25:02 +02:00 |
|
Alejandro Celaya
|
cbec4a4e81
|
Moved constants to its own file inside config folder
|
2021-09-26 11:26:26 +02:00 |
|
Alejandro Celaya
|
c39e1e649d
|
Reolled-back logic that would have made domains with no specific redirects to not fall back to the default redirects
|
2021-09-26 11:10:00 +02:00 |
|
Alejandro Celaya
|
7db6136436
|
Simplified how the not-found redirects are resolved
|
2021-09-26 09:40:24 +02:00 |
|
Alejandro Celaya
|
0f51b5b1ce
|
Fixed warning displayed when trying to late visits and there are no pending
|
2021-08-26 09:52:11 +02:00 |
|
Alejandro Celaya
|
cd06cea153
|
Fixed merge conflicts
|
2021-08-15 19:32:27 +02:00 |
|
Alejandro Celaya
|
3e8ce80f80
|
Fixed numeric query params being replaced by 0 in long URLs
|
2021-08-15 19:13:26 +02:00 |
|
Alejandro Celaya
|
9a31f53d4d
|
Updated to coding standard v2.2.0
|
2021-08-05 19:47:17 +02:00 |
|
Alejandro Celaya
|
883ac1007a
|
Updated to provisional hero-common v4.0
|
2021-08-04 18:46:19 +02:00 |
|
Alejandro Celaya
|
40a7d5a112
|
Documented error when trying to edit default domain redirects through endpoint
|
2021-08-03 18:33:50 +02:00 |
|
Alejandro Celaya
|
7c06633a67
|
Ensured default domain redirects cannot be edited through regular approach
|
2021-08-03 18:28:09 +02:00 |
|
Alejandro Celaya
|
9abf611d63
|
Created DomainResirectsAction unit test
|
2021-08-03 18:09:39 +02:00 |
|
Alejandro Celaya
|
565fe4c348
|
Added redirects to the list of domains
|
2021-08-03 17:00:26 +02:00 |
|
Alejandro Celaya
|
7b43403b1c
|
Fixed error when editing domain redirects for a new domain
|
2021-08-03 16:48:17 +02:00 |
|
Alejandro Celaya
|
9f25979b4c
|
Added validation to not found redirects for domain
|
2021-08-03 14:08:36 +02:00 |
|
Alejandro Celaya
|
8fbf05acd4
|
Added deprecated keyword to ensure something is changed for v3.0.0
|
2021-08-03 10:02:44 +02:00 |
|
Alejandro Celaya
|
6860855c71
|
Prevent double flush when editing domain redirects
|
2021-08-03 09:55:21 +02:00 |
|
Alejandro Celaya
|
6a40bbdcb5
|
Created new action to set redirects for a domain
|
2021-08-02 20:49:39 +02:00 |
|
Alejandro Celaya
|
5a1a4f5594
|
Added support to configure domain redirects but taking into consideration the permissions on an API key
|
2021-08-02 20:49:39 +02:00 |
|
Alejandro Celaya
|
2ac7be4363
|
Extended DomainNotFoundException to allow creating from an authority
|
2021-08-02 20:49:39 +02:00 |
|
Alejandro Celaya
|
4ef5ab7a90
|
Fixed wrong domains getting resolved for an API key roles
|
2021-08-02 20:49:39 +02:00 |
|
Alejandro Celaya
|
c9ce111643
|
Fixed merge conflicts
|
2021-08-02 20:39:33 +02:00 |
|
Alejandro Celaya
|
e4d4686717
|
Ensure visits lists where the page is lower than 1, fall back to page 1 to avoid errors
|
2021-08-02 20:22:07 +02:00 |
|
Alejandro Celaya
|
4c00764146
|
Removed hardcoded dependency
|
2021-07-30 18:40:26 +02:00 |
|
Alejandro Celaya
|
8f3c740b57
|
Ensured domains not used in short URLs but with redirects configured are returned in domains list
|
2021-07-23 13:06:03 +02:00 |
|
Alejandro Celaya
|
24a6a0c23f
|
Added test for DomainRedirectCommand
|
2021-07-22 20:48:58 +02:00 |
|
Alejandro Celaya
|
267d72a76c
|
Improved unit tests covering new not found redirects for domains capability
|
2021-07-22 17:49:37 +02:00 |
|
Alejandro Celaya
|
021cecc216
|
Created command that allows configuring not found redirects for every domain
|
2021-07-21 21:09:33 +02:00 |
|
Alejandro Celaya
|
4d48482d1e
|
Added support to define differnet not-found redirects per domain
|
2021-07-21 09:28:21 +02:00 |
|
Alejandro Celaya
|
bc385744db
|
Temporarely ignored some phpstan errors until a custom rule is defined
|
2021-07-20 13:36:09 +02:00 |
|
Alejandro Celaya
|
02fd28edec
|
Installed phpstan-dcotrine and fixed more static analysis errors
|
2021-07-20 13:29:50 +02:00 |
|
Alejandro Celaya
|
95770ac104
|
Increased phpstan level to 8
|
2021-07-20 12:51:07 +02:00 |
|
Alejandro Celaya
|
bceea090ed
|
Increaed phpstan level to 7
|
2021-07-17 20:58:24 +02:00 |
|
Alejandro Celaya
|
eabaa94e06
|
Created ExtraPathRedirectMiddleware test
|
2021-07-15 19:37:09 +02:00 |
|
Alejandro Celaya
|
0096a778ac
|
Created RequestTracker test
|
2021-07-15 17:43:29 +02:00 |
|
Alejandro Celaya
|
050f83e3bb
|
Wrapped logic to track requests to a new RequestTracker service
|
2021-07-15 17:23:09 +02:00 |
|
Alejandro Celaya
|
32f7b4fbf6
|
Created new middleware that redirects to short URLs with an extra path
|
2021-07-15 16:54:54 +02:00 |
|
Alejandro Celaya
|
265e8cdeaf
|
Refactored tracking actions
|
2021-07-15 13:28:31 +02:00 |
|
Alejandro Celaya
|
fe5460e0c5
|
Created ShortUrlRedirectBuilder test
|
2021-07-14 16:44:21 +02:00 |
|
Alejandro Celaya
|
d4cad337fc
|
Created component wrapping the logic to determine what's the URL to redirect to for a ShortUrl
|
2021-07-14 16:36:03 +02:00 |
|
Alejandro Celaya
|
67c7e503d9
|
Used lowercase values when trying to match the QR code error level
|
2021-07-13 13:55:00 +02:00 |
|
Alejandro Celaya
|
d6e155d874
|
Extracted logic to determine QR code params to its own data object
|
2021-07-13 13:46:01 +02:00 |
|
Alejandro Celaya
|
5a2350bac1
|
Added suport for error correction level to QR codes
|
2021-07-13 13:22:50 +02:00 |
|
Alejandro Celaya
|
9c6ba4bc61
|
More PHP 8 syntactic sugar
|
2021-05-23 12:37:53 +02:00 |
|
Alejandro Celaya
|
c01121d61a
|
Added nullsafe operator to simplify conditions
|
2021-05-23 12:31:10 +02:00 |
|
Alejandro Celaya
|
e0f0bb5523
|
Migrated all constructor props to property promotion when possible
|
2021-05-23 11:57:31 +02:00 |
|
Alejandro Celaya
|
5e6d2881bc
|
Used ShorturlIdentifier model whenever possible
|
2021-05-23 08:41:42 +02:00 |
|
Alejandro Celaya
|
cd19876419
|
Removed methods to create tags and domains with lock, as they do not really lock as expected
|
2021-05-23 08:21:40 +02:00 |
|
Alejandro Celaya
|
f82e103bc5
|
Added locks to tag and domain creation during short URL creation
|
2021-05-22 22:06:40 +02:00 |
|
Alejandro Celaya
|
3ff4ac84c4
|
Added locking to short URL creation when checking if URL exists
|
2021-05-22 22:06:40 +02:00 |
|
Alejandro Celaya
|
a12c9f54c4
|
Added API tests covering the excludion of bot visits
|
2021-05-22 21:05:54 +02:00 |
|
Alejandro Celaya
|
69d72e754f
|
Added logic to exclude bots from visits when requested
|
2021-05-22 20:49:24 +02:00 |
|
Alejandro Celaya
|
db3c5a3031
|
Added new models to pass to repositories when listing visits of any kind
|
2021-05-22 20:32:30 +02:00 |
|
Alejandro Celaya
|
6327ed814a
|
Added new models to pass to repositories when counting visits of any kind
|
2021-05-22 20:16:32 +02:00 |
|
Alejandro Celaya
|
9fa32b5b6b
|
Added detection of visits from potential bots
|
2021-05-22 15:09:14 +02:00 |
|
Alejandro Celaya
|
36e4a0dd32
|
Added tests for findCrawlableShortCodes
|
2021-05-22 09:41:12 +02:00 |
|
Alejandro Celaya
|
3ef02d46c0
|
Added logic to resolve crawlable short codes
|
2021-05-22 09:34:42 +02:00 |
|
Alejandro Celaya
|
348e34d52e
|
Added new crawlable flag to Short URLs
|
2021-05-22 07:35:47 +02:00 |
|
Alejandro Celaya
|
7280b48cdc
|
Created action to dynamically build the robots.txt
|
2021-05-22 07:15:34 +02:00 |
|
Alejandro Celaya
|
15c028e151
|
Ensured visitor is normalized before creating the visit
|
2021-05-16 10:08:05 +02:00 |
|
Alejandro Celaya
|
f0dc32b6e5
|
Added logic for new tracking options
|
2021-05-16 09:53:44 +02:00 |
|
Alejandro Celaya
|
d423d18249
|
Defined new structure for tracking config, together with new options
|
2021-05-16 09:30:15 +02:00 |
|
Alejandro Celaya
|
e9a5284dde
|
Encapsulated logic to get rid of nested ifs
|
2021-04-18 17:07:56 +02:00 |
|
Alejandro Celaya
|
b277f431c2
|
Added test covering imported short URLs with visits
|
2021-04-18 12:44:02 +02:00 |
|
Alejandro Celaya
|
c8b8947b1f
|
Allowed to import visits to existing already imported short URLs
|
2021-04-18 11:58:59 +02:00 |
|
Alejandro Celaya
|
9a78d1585d
|
Ensured only pending visits are imported when processing a short URL which already has imported visits
|
2021-04-11 20:00:08 +02:00 |
|
Alejandro Celaya
|
09414a8834
|
Allowed to optionally import visits from other shlink instance
|
2021-04-11 13:30:12 +02:00 |
|
Alejandro Celaya
|
1efa973507
|
Updated ImportedLinksProcessor to support importing visits if provided
|
2021-04-11 11:44:10 +02:00 |
|
Alejandro Celaya
|
743bb7a6ee
|
Updated ShortUrl importing to take metadata into account
|
2021-04-11 11:44:10 +02:00 |
|
Alejandro Celaya
|
086efe3c63
|
Merge pull request #1064 from KetchupBomb/develop
Feature/show API key info in short-url CLI
|
2021-04-11 11:42:51 +02:00 |
|
Alejandro Celaya
|
28c06de685
|
Fixed issue when trying to persist several short URLs which include the same new tag/domain at once
|
2021-04-10 11:59:43 +02:00 |
|
Alejandro Celaya
|
823573cea7
|
Updated PersistenceShortUrlRelationResolver to prevent duplicated tags
|
2021-04-10 10:16:09 +02:00 |
|
KetchupBomb
|
5d0f306bcc
|
Feature/show API key info in short-url CLI
|
2021-04-10 07:10:22 +00:00 |
|
Alejandro Celaya
|
7b4456e73f
|
Ensured events triggered as a result of a new visit are never skipped
|
2021-04-08 14:09:26 +02:00 |
|
Alejandro Celaya
|
74ea5969be
|
Created new listener to update the GeoLite db after a visit occurs
|
2021-04-07 16:29:29 +02:00 |
|
Alejandro Celaya
|
c4718e7523
|
Extended error handling on LocateVisit handler
|
2021-04-07 12:53:53 +02:00 |
|
Alejandro Celaya
|
5de706e0fe
|
Fixed LocateVisitTest
|
2021-04-07 11:52:50 +02:00 |
|
Alejandro Celaya
|
77d06b4b03
|
Renamed argument to have a more clear intention
|
2021-04-07 11:48:01 +02:00 |
|
Alejandro Celaya
|
b4d137375a
|
Flipped events triggered when locating a visit, so that geolocation is done synchronously
|
2021-04-07 11:35:02 +02:00 |
|
Alejandro Celaya
|
0621ae7735
|
Ensured visits tracking is run transactionally together with the event dispatched afterwards
|
2021-04-07 11:33:23 +02:00 |
|
Alejandro Celaya
|
d72b9cf646
|
Updated to symfony/mercure 0.5
|
2021-04-02 09:46:02 +02:00 |
|
Alejandro Celaya
|
0a5c265b12
|
Extracted ApiKey metadata to the ApiKeyMeta object
|
2021-03-14 09:59:35 +01:00 |
|
Alejandro Celaya
|
b244c56862
|
Updated to endroid/qr-code 4
|
2021-02-28 16:41:52 +01:00 |
|
Alejandro Celaya
|
0fc123b249
|
Fixed coding styles
|
2021-02-26 20:28:41 +01:00 |
|
Alejandro Celaya
|
e093480a5b
|
Fixed API tests
|
2021-02-26 20:24:57 +01:00 |
|
Alejandro Celaya
|
1498b72966
|
Updated to happyr/doctrine-specification 2, with some fixes
|
2021-02-26 20:01:16 +01:00 |
|
Alejandro Celaya
|
8ad34357d3
|
Added User-Agent to UrlValidator, so that remote servers don't consider Shlink a bot
|
2021-02-18 21:27:46 +01:00 |
|
Alejandro Celaya
|
7d6d8e3a68
|
Added support to publish orphan visits in mercure
|
2021-02-11 22:12:38 +01:00 |
|
Alejandro Celaya
|
2fc6fb0a9a
|
Added option to disable orphan visitstracking
|
2021-02-10 20:09:25 +01:00 |
|
Alejandro Celaya
|
3497165ebd
|
Created OrphanVisitsPaginatorAdapterTest
|
2021-02-09 23:34:29 +01:00 |
|
Alejandro Celaya
|
d5794a3dcb
|
Created OrphanVisitDataTransformerTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
bd9ec53e7b
|
Added test for VisitsStatsHelper::orphanVisits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
5d98316c4e
|
Created new REST API action to list orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
85dd023c0e
|
Created methods to get orphan visits lists
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
1fbcb44136
|
Enhanced VisitsTrackerTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
ab9042db24
|
Ensured orphan visits are located ASAP when using swoole
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
b01487ac91
|
Ensured IP address is resolved when tracking orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
5278d7668c
|
Added orphan visits count to visits stats endpoint
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
d2e0413a48
|
Added NotFoundTrackerMiddlewareTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
0e165bc7e0
|
Created NotFoundTypeResolverMiddlewareTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
55e7f7ccb0
|
Improved VisitRepository tests
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
15061d3e0d
|
Created new middlewares to track not found visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
36be44e7b5
|
Moved VisitsTracker service to Visit namespace
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
1b4e62b823
|
Separated methods to track visits and list visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
12b07bb0ac
|
Created named constructors for Visit entity and added tracking of the visited URL
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
f5666c9451
|
Added new columns for extra tracking in visits table
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
23cffce861
|
Updated Visit entity so that the short URL is nullable
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
383fde488b
|
Added support to define the margin when generating the QR codes
|
2021-02-07 08:32:12 +01:00 |
|
Alejandro Celaya
|
da65c05c4f
|
Added double check when parsing build epoch from the GeoLite db file in case it is not an integer
|
2021-02-06 21:38:09 +01:00 |
|
Alejandro Celaya
|
de4e677f18
|
Fixed database started for API tests in GitHub workflow
|
2021-02-05 18:33:36 +01:00 |
|
Alejandro Celaya
|
d386e1405c
|
Ensure request is not performed if both title resolution and URL validation are disabled
|
2021-02-05 18:22:54 +01:00 |
|
Alejandro Celaya
|
608742c2e2
|
Added helper service to avoid code duplication when resolving short URLs titles
|
2021-02-05 17:59:34 +01:00 |
|
Alejandro Celaya
|
71e91a541f
|
Allowed to resolve title during short URL edition if it has to
|
2021-02-04 23:02:26 +01:00 |
|
Alejandro Celaya
|
ed18f10b94
|
Added support to order short URLs by title
|
2021-02-04 22:07:54 +01:00 |
|
Alejandro Celaya
|
16873201e9
|
Added support to search short URLs by title
|
2021-02-04 21:27:16 +01:00 |
|
Alejandro Celaya
|
2640c7b43c
|
Updated to a shlink-importer version that supports titles
|
2021-02-04 15:24:27 +01:00 |
|
Alejandro Celaya
|
7824dddef7
|
Added tracking to tell if short URL titles were autogenerated or not
|
2021-02-03 19:22:47 +01:00 |
|
Alejandro Celaya
|
0ef1e347e7
|
Enhanced UrlShortenerTest
|
2021-02-03 13:28:51 +01:00 |
|
Alejandro Celaya
|
bfba05c863
|
Enhanced UrlValidatorTest
|
2021-02-03 11:53:08 +01:00 |
|
Alejandro Celaya
|
71f85350da
|
Fixed regex to parse title from URL to consider possible attributes
|
2021-02-03 11:28:40 +01:00 |
|
Alejandro Celaya
|
8b54098299
|
Added option to automatically resolve url titles
|
2021-02-03 11:07:47 +01:00 |
|
Alejandro Celaya
|
356e68ca3e
|
Documented new title prop in swagger docs
|
2021-02-02 21:20:09 +01:00 |
|
Alejandro Celaya
|
430c407106
|
Added support for an optional title field in short URLs
|
2021-02-02 21:20:09 +01:00 |
|
Alejandro Celaya
|
8fa0c95f5a
|
Ensured base path is honored when stringifying short URLs with a custom domain
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
4b4a859722
|
Created ShortUrlStringifierTest
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
9cddedcdba
|
Extracted logic to stringify ShortUrls to its own service
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
ef12e90ae7
|
Removed non-used deprecated method and added missing tests
|
2021-01-31 13:05:21 +01:00 |
|
Alejandro Celaya
|
cdfd14e63f
|
Deprecated action and endpoint to edit short URL tags
|
2021-01-31 12:24:26 +01:00 |
|
Alejandro Celaya
|
977058d219
|
Updated short URL edition so that it supports editing tags
|
2021-01-31 12:12:21 +01:00 |
|
Alejandro Celaya
|
c58fa586e1
|
Removed use of deprecated methods in DB tests
|
2021-01-31 11:51:00 +01:00 |
|
Alejandro Celaya
|
1cd6fdeede
|
Centralized logic to normalize tag names and removed references to deprecated setTags method in unit tests
|
2021-01-31 11:09:00 +01:00 |
|
Alejandro Celaya
|
82091c7951
|
Added logic to resolve tags during short URL creation through ShortUrlRelationResolver
|
2021-01-31 10:53:18 +01:00 |
|
Alejandro Celaya
|
7e90fd45a7
|
Renamed ShortUrlInputFilter and added named constructors to it
|
2021-01-31 07:47:58 +01:00 |
|
Alejandro Celaya
|
063ee9c195
|
Inlcuded tags as part of the ShortUrlMeta
|
2021-01-30 19:17:12 +01:00 |
|
Alejandro Celaya
|
3f2bd657e1
|
Used input factory methods from shlink-common when possible
|
2021-01-30 18:58:39 +01:00 |
|
Alejandro Celaya
|
903ef8e249
|
Normalized some filtering
|
2021-01-30 18:24:14 +01:00 |
|
Alejandro Celaya
|
07b12fac3c
|
Refactored short URL creation so that the long URL is part of the ShortUrlMeta
|
2021-01-30 14:18:44 +01:00 |
|
Alejandro Celaya
|
96d07c4b4e
|
Deprecated camelCase options in some CLI commands
|
2021-01-30 10:54:11 +01:00 |
|
Alejandro Celaya
|
55ddc4ae75
|
Replaced laminas-paginator with pagerfanta
|
2021-01-23 14:37:34 +01:00 |
|
Alejandro Celaya
|
2e8f5202d0
|
Moved event objects to a sub-namespace inside Core\EventDispatcher
|
2021-01-17 11:42:35 +01:00 |
|
Alejandro Celaya
|
6b6d751d54
|
Updated to shlinkio/shlink-event-dispatcher 2
|
2021-01-17 11:40:30 +01:00 |
|
Alejandro Celaya
|
c5fc8fbf00
|
Simplified database tests by updating to shlinkio/shlink-test-utils 2
|
2021-01-13 20:21:24 +01:00 |
|
Alejandro Celaya
|
9e9d213f20
|
Added roles info to api key generation and api key list
|
2021-01-11 16:32:59 +01:00 |
|
Alejandro Celaya
|
c49a0ca040
|
Added list of roles to print after an API is generated
|
2021-01-11 15:20:26 +01:00 |
|
Alejandro Celaya
|
1f2e16184c
|
Extracted function to render arrays from inside ValidationException
|
2021-01-10 20:28:52 +01:00 |
|
Alejandro Celaya
|
c9ff2b3834
|
Updated services required to initialize API keys with roles
|
2021-01-10 20:05:14 +01:00 |
|
Alejandro Celaya
|
5283ee2c6b
|
Moved common data provider for core unit tests to trait
|
2021-01-10 09:31:51 +01:00 |
|
Alejandro Celaya
|
380915948b
|
Improved TagRepositoryTest
|
2021-01-09 18:00:08 +01:00 |
|
Alejandro Celaya
|
14eeb91c58
|
Added db test for VisitRepository::countVisits
|
2021-01-09 17:54:04 +01:00 |
|
Alejandro Celaya
|
01dceca9ef
|
Enhanced ShorturlRepository::findOneMatching test to cover ApiKey use cases
|
2021-01-09 14:39:19 +01:00 |
|
Alejandro Celaya
|
ba32366b0b
|
Added tagExists to TagRepositoryTest
|
2021-01-09 13:44:47 +01:00 |
|
Alejandro Celaya
|
bef1b13a33
|
Enhanced DomainRepositoryTest covering API key permissions
|
2021-01-09 13:16:33 +01:00 |
|
Alejandro Celaya
|
caa1ae0de8
|
Added all missing unit tests covering API key permissions
|
2021-01-09 12:38:06 +01:00 |
|
Alejandro Celaya
|
a8b68f07b5
|
Ensured delete/rename tags cannot be done with non-admin API keys
|
2021-01-06 17:31:49 +01:00 |
|
Alejandro Celaya
|
b5710f87e2
|
Created value object to wrap the renaming of a tag
|
2021-01-06 13:11:28 +01:00 |
|
Alejandro Celaya
|
4b67d41362
|
Applied API role specs to short URL creation
|
2021-01-04 20:15:42 +01:00 |
|
Alejandro Celaya
|
19834f6715
|
Applied API role specs to domains list
|
2021-01-04 15:55:59 +01:00 |
|
Alejandro Celaya
|
262a06f624
|
Renamed method to be more consistent to what it actually does
|
2021-01-04 15:16:51 +01:00 |
|
Alejandro Celaya
|
a01e0ba337
|
Changed logic to list domains to centralize conditions in service
|
2021-01-04 15:02:37 +01:00 |
|