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
|
01bcedef7a
|
Simplify how ordering field is resolved in tags list
|
2023-03-04 11:54:30 +01:00 |
|
Alejandro Celaya
|
e51384fcc0
|
Reduce duplicated logic when checking if an API key is admin
|
2023-03-04 10:22:46 +01:00 |
|
Alejandro Celaya
|
1afe08caed
|
Simplify how limits are applied to tags query
|
2023-03-04 09:50:38 +01:00 |
|
Alejandro Celaya
|
7289833928
|
Move join on short URLs to tags sub-query
|
2023-03-03 12:10:41 +01:00 |
|
Alejandro Celaya
|
f4d10df0f3
|
Delete no longer used spec file
|
2023-02-27 09:28:27 +01:00 |
|
Alejandro Celaya
|
652b0df054
|
Use native query builders for all queries/sub-queries in tags list
|
2023-02-27 09:21:11 +01:00 |
|
Alejandro Celaya
|
3c12a55872
|
Merge branch 'develop' into feature/phpunit-10
|
2023-02-13 11:54:49 +01:00 |
|
Alejandro Celaya
|
e48d0f4f0c
|
Upgrade deps for MSSQL tests
|
2023-02-12 19:08:20 +01:00 |
|
Alejandro Celaya
|
49b6063501
|
Fix ordering on Postgres
|
2023-02-12 13:35:05 +01:00 |
|
Alejandro Celaya
|
76a86c452e
|
Optimize tags list query performance by using more subqueries
|
2023-02-12 13:09:24 +01:00 |
|
Alejandro Celaya
|
41aec15fab
|
Migrate new test to PHPUnit 10
|
2023-02-10 20:45:09 +01:00 |
|
Alejandro Celaya
|
245cb0e35d
|
Fixed merge conflicts
|
2023-02-10 20:44:05 +01:00 |
|
Alejandro Celaya
|
70c1c9f018
|
Fix dependency injected in CrawlingHelper
|
2023-02-10 20:26:18 +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
|
a52d0cd419
|
Ensure short_code column is case sensitive in Microsoft SQL server
|
2023-01-30 10:49:47 +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
|
621f18bf40
|
Recover DB test only for platforms in which it passes
|
2023-01-28 10:20:57 +01:00 |
|
Alejandro Celaya
|
99c1a59dd4
|
Refactor CustomSlugFilter for simplicity
|
2023-01-28 10:16:53 +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
|
4ee0032c2a
|
Deprecated validateUrl option on short URL creation/edition
|
2023-01-23 20:30:12 +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
|
5aa8de11f4
|
Update version on user agent used to validate URLsç
|
2023-01-22 12:00:16 +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
|
d8add9291f
|
Removed public readonly prop from entity, as it can cause errors when a proxy is generated
|
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
|
3e26f1113d
|
Extract device long URL validation to its own validation class
|
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
|
edaf999bf5
|
Fixed constant assignment on enum which is not valid for PHP 8.1
|
2023-01-07 17:09:53 +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
|
46b4a21617
|
Fixed missing null check
|
2023-01-02 20:17:29 +01:00 |
|
Alejandro Celaya
|
ce9ec0d738
|
Fixed ordering in tags supporting more fields
|
2023-01-02 19:49:54 +01:00 |
|
Alejandro Celaya
|
961178fd82
|
Added amount of bots, non-bots and total visits to the list of tags with stats
|
2023-01-02 19:28:32 +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
|
e0a9f8120c
|
Fixed unintended change in phpdoc
|
2023-01-02 12:48:23 +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
|
c7a2f499e0
|
Added support to order short URLs list by amount of non-bot visits
|
2022-12-16 19:42:46 +01:00 |
|
Alejandro Celaya
|
713f7e7bc9
|
Added missing dock block
|
2022-12-16 18:18:09 +01:00 |
|
Alejandro Celaya
|
936e5b3b86
|
Fixed PublishingUpdatesGeneratorTest
|
2022-12-16 10:36:09 +01:00 |
|
Alejandro Celaya
|
99f28b569b
|
Created method to get non-bot visits count for a short URL
|
2022-12-16 10:06:39 +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
|
229dc93132
|
Fixed typo
|
2022-12-11 18:36:46 +01:00 |
|
Alejandro Celaya
|
c4f28b3a32
|
Renamed ShortUrl::fromMeta to ShortUrl::create
|
2022-12-11 18:24:47 +01:00 |
|
Alejandro Celaya
|
0c3523c34a
|
Fixed E2E test suites
|
2022-12-11 13:22:16 +01:00 |
|
Alejandro Celaya
|
0d7a0ee9ea
|
Fixed more coding styles
|
2022-12-11 13:11:43 +01:00 |
|
Alejandro Celaya
|
931bdb0cd7
|
Fixed coding styles
|
2022-12-11 13:03:19 +01:00 |
|
Alejandro Celaya
|
8807a78463
|
Improved performance when filtering out shortUrls which reached their limit by using a sub-query
|
2022-12-11 13:00:06 +01:00 |
|
Alejandro Celaya
|
d832133410
|
Enhanced db tests for expired short urls filtering
|
2022-12-11 12:33:17 +01:00 |
|
Alejandro Celaya
|
cdde59b543
|
Added db test for filtering of disabled short URLs
|
2022-12-11 11:41:37 +01:00 |
|
Alejandro Celaya
|
463dfe9729
|
Added support to filter out expired short URLs from list
|
2022-12-11 10:26:04 +01:00 |
|
Alejandro Celaya
|
805c8c87ba
|
Fixed nasty typo
|
2022-12-10 19:59:30 +01:00 |
|
Alejandro Celaya
|
c3ab871366
|
Exposed new short URLs list filtering params
|
2022-12-10 19:59:30 +01:00 |
|
Alejandro Celaya
|
42a5296f93
|
Added new params to short URLs list to filter out 'disabled' short ones
|
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
|
6bce219eb3
|
Added test to cover searching short URLs by default domain
|
2022-12-08 20:32:48 +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
|
0aab1bdc4e
|
Added test for findMostRecentOrphanVisit
|
2022-12-04 20:42:28 +01:00 |
|
Alejandro Celaya
|
55c9773a02
|
Added logic to import orphan visits
|
2022-12-04 20:35:38 +01:00 |
|
Alejandro Celaya
|
4b66aaba5c
|
Updated to latest shlink-importer
|
2022-12-04 12:28:44 +01:00 |
|
Alejandro Celaya
|
f459a99e7e
|
Added db tests to phpstan checks
|
2022-10-24 20:14:48 +02: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
|
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 |
|