Alejandro Celaya
|
bff4bd12ae
|
Removed more functional-php usages
|
2023-11-30 14:34:44 +01:00 |
|
Alejandro Celaya
|
549c6605f0
|
Replaced usage of Functional\contians
|
2023-11-30 09:13:29 +01:00 |
|
Alejandro Celaya
|
f50263d2d9
|
Remove usage of Functional\map function
|
2023-11-29 12:34:13 +01:00 |
|
Alejandro Celaya
|
e783bdc456
|
Set referrer when sending visits to Matomo
|
2023-11-21 10:01:27 +01:00 |
|
Alejandro Celaya
|
316b88cea6
|
Add 10 second timeout to matomo requests
|
2023-11-21 08:34:37 +01:00 |
|
Alejandro Celaya
|
c03eea789c
|
Fix LocateVisitTest
|
2023-11-21 08:25:58 +01:00 |
|
Alejandro Celaya
|
bd5d3cb6fa
|
Create SendVisitToMatomoTest
|
2023-11-20 10:11:15 +01:00 |
|
Alejandro Celaya
|
e1f2dcc136
|
Create MatomoTrackerBuilderTest
|
2023-11-17 23:31:23 +01:00 |
|
Alejandro Celaya
|
a7ed14a1c9
|
Enhance EnableListenerCheckerTest with support for matomo listener
|
2023-11-16 09:24:52 +01:00 |
|
Alejandro Celaya
|
f88d57b2b6
|
Do not dispatch async job for matomo if disabled
|
2023-11-15 20:02:35 +01:00 |
|
Alejandro Celaya
|
9dbd15bc0c
|
Add logic to send visits to a matomo instance
|
2023-11-15 19:57:58 +01:00 |
|
Alejandro Celaya
|
cfc3d54122
|
Do not allow URL reserved characters in custom slugs
|
2023-11-05 10:30:40 +01:00 |
|
Alejandro Celaya
|
b747b8448e
|
Update dependencies
|
2023-08-19 12:03:29 +02:00 |
|
Alejandro Celaya
|
965325aa7c
|
Replace traits with static classes in CLI unit tests
|
2023-06-18 10:51:59 +02:00 |
|
Alejandro Celaya
|
bdf2bbd0f1
|
Replace traits with external data providers in Core unit tests
|
2023-06-18 10:41:24 +02:00 |
|
Alejandro Celaya
|
8e3508f28d
|
Use MercureOptions instead of raw config, where possible
|
2023-06-06 20:25:14 +02:00 |
|
Alejandro Celaya
|
bd3745118e
|
Add logic to prevent roadrunner/openswoole jobs for tasks that will do nothing
|
2023-06-03 17:56:52 +02:00 |
|
Alejandro Celaya
|
be26dd58c3
|
Add API tests to cover usage of orphan visits restricted keys
|
2023-05-31 09:22:40 +02:00 |
|
Alejandro Celaya
|
eaba5edf7f
|
Restrict interaction with orphan visits when API key has that role
|
2023-05-31 09:11:20 +02:00 |
|
Alejandro Celaya
|
e85d59c5a4
|
Add locks when creating short URL dependencies, to avoid race condition
|
2023-05-21 18:08:17 +02:00 |
|
Alejandro Celaya
|
abcf2f86be
|
Create service to delete orphan visits
|
2023-05-18 09:01:57 +02:00 |
|
Alejandro Celaya
|
531a19dde9
|
Refactor short URL visits deletion layers
|
2023-05-14 13:04:17 +02:00 |
|
Alejandro Celaya
|
69ff7de481
|
Create ShortUrlVisitsDeleterTest
|
2023-05-14 12:32:54 +02:00 |
|
Alejandro Celaya
|
c582eba753
|
Make sure short URL domain is resolved as null when default one is provided
|
2023-04-22 19:44:04 +02:00 |
|
Alejandro Celaya
|
ef075fb0ce
|
Fix test when CLI output viewport is too narrow
|
2023-04-12 18:36:28 +02:00 |
|
Alejandro Celaya
|
399c56a097
|
Print warning when trying to create short URL from CLI on openswoole in verbose mode
|
2023-04-12 18:30:02 +02:00 |
|
Alejandro Celaya
|
f078d95588
|
Capture error on real-time update when creating short URL
|
2023-04-12 09:25:01 +02:00 |
|
Alejandro Celaya
|
ae8d31e83f
|
Add test case for deeplink long URLs
|
2023-04-11 17:24:38 +02:00 |
|
Alejandro Celaya
|
72c4052012
|
Be less restrictive when validating long URLs
|
2023-04-10 18:05:57 +02:00 |
|
Alejandro Celaya
|
26f4a969c9
|
Fix memory leak when importing big amounts of visits
|
2023-03-31 09:46:05 +02:00 |
|
Alejandro Celaya
|
71807e698c
|
Update changelog
|
2023-03-25 11:23:01 +01:00 |
|
Alejandro Celaya
|
26f237069c
|
Fixed unit tests
|
2023-03-25 11:23:01 +01:00 |
|
Alejandro Celaya
|
b6e1c65c4c
|
Enforce a schema to be provided when short URLs are created
|
2023-03-25 11:23:00 +01:00 |
|
Alejandro Celaya
|
04bbd471ff
|
Migrate from PHPUnit annotations to native attributes
|
2023-02-09 20:42:18 +01:00 |
|
Alejandro Celaya
|
650a286982
|
Update to PHPUnit 10
|
2023-02-09 09:32:38 +01:00 |
|
Alejandro Celaya
|
8afa582aa5
|
Create ShortUrlModeTest
|
2023-01-29 11:32:13 +01:00 |
|
Alejandro Celaya
|
d847c7648e
|
Rename loosely mode to loose mode
|
2023-01-29 10:30:34 +01:00 |
|
Alejandro Celaya
|
fdaf5fb2f3
|
Add support for short URL mode in installer, and handle loosely mode in custom slugs
|
2023-01-28 10:06:11 +01:00 |
|
Alejandro Celaya
|
2f83e90c8b
|
Add option to do loosely matches on short URLs when mode is loosely
|
2023-01-26 20:45:36 +01:00 |
|
Alejandro Celaya
|
05acd4ae88
|
Add two modes for short URLs
|
2023-01-25 20:33:07 +01:00 |
|
Alejandro Celaya
|
b0b9902f40
|
Add unit test to cover device URLs edition, and fix bug thanks to it
|
2023-01-22 12:18:36 +01:00 |
|
Alejandro Celaya
|
39adef8ab8
|
Make it impossible to create a short URL with an empty long URL
|
2023-01-22 11:27:16 +01:00 |
|
Alejandro Celaya
|
13e443880a
|
Allow device long URLs to be removed from short URLs by providing null value
|
2023-01-22 11:03:05 +01:00 |
|
Alejandro Celaya
|
48bd97fe41
|
Return deviceLongUrls as part of the short URL data and document API changes
|
2023-01-21 12:05:54 +01:00 |
|
Alejandro Celaya
|
b1b67c497e
|
Add logic to dynamically resolve the long URL to redirect to based on requesting device
|
2023-01-21 11:15:42 +01:00 |
|
Alejandro Celaya
|
237fb95b4b
|
Update ShortUrlRedirectionBuilder to accept a request object instead of a raw query array
|
2023-01-21 10:37:12 +01:00 |
|
Alejandro Celaya
|
c1b7c6ba6c
|
Updated to shlink-common with support for proxies for entities with public readonly props
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
a93edf158e
|
Added logic to persist device long URLs while creating/editing a short URL
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
fdadf3ba07
|
Created unit test for DeviceLongUrlsValidator
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
822652cac3
|
Allow providing device long URLs during short URL edition
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
1447687ebe
|
Add deviceLongUrls to short URL creation
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
12150f775d
|
Created persistence for device long URLs
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
80e3f01562
|
Replace references to doma.in with s.test
|
2023-01-19 09:05:52 +01:00 |
|
Alejandro Celaya
|
21863e8de6
|
Add support to load openswoole-specific config via env vars
|
2023-01-12 19:39:26 +01:00 |
|
Alejandro Celaya
|
0c1b36d0d4
|
Added config post-processor which sets proper allowed methods based on redirect status codes
|
2023-01-07 13:51:35 +01:00 |
|
Alejandro Celaya
|
a06957e9fa
|
Moved config post-processors to their own sub-namespace
|
2023-01-07 13:04:46 +01:00 |
|
Alejandro Celaya
|
390bc59d99
|
Added support for redirect status code 307 and 308
|
2023-01-07 11:27:15 +01:00 |
|
Alejandro Celaya
|
812c5f4993
|
Added new handled error for when request body is not valid JSON
|
2023-01-02 13:33:24 +01:00 |
|
Alejandro Celaya
|
37c8328eed
|
Added split info about bots, non-bots and total visits to the visits stats
|
2023-01-02 12:28:34 +01:00 |
|
Alejandro Celaya
|
936e5b3b86
|
Fixed PublishingUpdatesGeneratorTest
|
2022-12-16 10:36:09 +01:00 |
|
Alejandro Celaya
|
60ef98b836
|
Extracted method to find crawlable short codes to its own query object
|
2022-12-14 14:38:22 +01:00 |
|
Alejandro Celaya
|
73c8b53882
|
Split some logic from VisitRepository into its own injectable repository
|
2022-12-14 12:28:23 +01:00 |
|
Alejandro Celaya
|
92a83b82a0
|
Split short URL listing capabilities on its own repo and service
|
2022-12-13 19:37:02 +01:00 |
|
Alejandro Celaya
|
c4f28b3a32
|
Renamed ShortUrl::fromMeta to ShortUrl::create
|
2022-12-11 18:24:47 +01:00 |
|
Alejandro Celaya
|
c3ab871366
|
Exposed new short URLs list filtering params
|
2022-12-10 19:59:30 +01:00 |
|
Alejandro Celaya
|
2047d6b772
|
Merge pull request #1621 from acelaya-forks/feature/default-domain-search
Feature/default domain search
|
2022-12-08 20:43:42 +01:00 |
|
Alejandro Celaya
|
dfcac525bc
|
Enabled search by default domain
|
2022-12-08 20:22:50 +01:00 |
|
Alejandro Celaya
|
f41d947cf7
|
Ensured empty string is ignored as the domain during short URL creation
|
2022-12-07 19:06:05 +01:00 |
|
Alejandro Celaya
|
05d55c4000
|
Added one more case to cover import orphan visits when visits already exist
|
2022-12-05 14:48:24 +01:00 |
|
Alejandro Celaya
|
739f5eb421
|
Added test for orphan visits import
|
2022-12-05 14:42:26 +01:00 |
|
Alejandro Celaya
|
4b66aaba5c
|
Updated to latest shlink-importer
|
2022-12-04 12:28:44 +01:00 |
|
Alejandro Celaya
|
85e18a4754
|
Fixed all phpstan inspections on tests
|
2022-10-24 20:11:25 +02:00 |
|
Alejandro Celaya
|
1650499a38
|
Added more stricter types for mocks
|
2022-10-24 19:59:03 +02:00 |
|
Alejandro Celaya
|
51f243995a
|
Added stricter types for mocks
|
2022-10-24 19:53:13 +02:00 |
|
Alejandro Celaya
|
da658185c3
|
Fixed coding styles
|
2022-10-23 23:07:50 +02:00 |
|
Alejandro Celaya
|
257134cd80
|
Migrated VisitsForTagPaginatorAdapterTest to use PHPUnit mocks
|
2022-10-23 21:59:18 +02:00 |
|
Alejandro Celaya
|
a4373aee91
|
Migrated OrphanVisitsPaginatorAdapterTest to use PHPUnit mocks
|
2022-10-23 21:56:34 +02:00 |
|
Alejandro Celaya
|
7442905873
|
Migrated NonOrphanVisitsPaginatorAdapterTest to use PHPUnit mocks
|
2022-10-23 21:55:06 +02:00 |
|
Alejandro Celaya
|
d3af51f684
|
Migrated VisitToLocationHelperTest to use PHPUnit mocks
|
2022-10-23 21:24:30 +02:00 |
|
Alejandro Celaya
|
04419a7242
|
Migrated VisitLocatorTest to use PHPUnit mocks
|
2022-10-23 21:21:23 +02:00 |
|
Alejandro Celaya
|
a45d6e6b44
|
Migrated VisitsTrackerTest to use PHPUnit mocks
|
2022-10-23 21:08:58 +02:00 |
|
Alejandro Celaya
|
37b1306eb3
|
Migrated VisitsStatsHelperTest to use PHPUnit mocks
|
2022-10-23 21:05:13 +02:00 |
|
Alejandro Celaya
|
cff6573767
|
Migrated RequestTrackerTest to use PHPUnit mocks
|
2022-10-23 20:45:56 +02:00 |
|
Alejandro Celaya
|
a2f34e02ad
|
Migrated UrlValidatorTest to use PHPUnit mocks
|
2022-10-23 20:39:06 +02:00 |
|
Alejandro Celaya
|
796543d194
|
Migrated DoctrineBatchHelperTest to use PHPUnit mocks
|
2022-10-23 20:32:13 +02:00 |
|
Alejandro Celaya
|
3b25fb27fe
|
Migrated TagsPaginatorAdapterTest to use PHPUnit mocks
|
2022-10-23 20:28:45 +02:00 |
|
Alejandro Celaya
|
3b20f955ff
|
Migrated TagsInfoPaginatorAdapterTest to use PHPUnit mocks
|
2022-10-23 20:27:51 +02:00 |
|
Alejandro Celaya
|
c81ae9c40d
|
Migrated TagServiceTest to use PHPUnit mocks
|
2022-10-23 20:26:44 +02:00 |
|
Alejandro Celaya
|
5e02cfe375
|
Fixed coding styles
|
2022-10-23 18:29:32 +02:00 |
|
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
|
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
|
846802c003
|
Slight improvements on RoadRunner config
|
2022-08-26 17:58:25 +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 |
|