Alejandro Celaya
|
89f70114e4
|
Fix typo in migration
|
2024-11-24 13:18:32 +01:00 |
|
Alejandro Celaya
|
8274525f75
|
Add redirect_url field to track where a visitor is redirected for a visit
|
2024-11-24 12:53:49 +01:00 |
|
Alejandro Celaya
|
2946b630c5
|
Use IpAddressFactory from akrabat/ip-address-middleware
|
2024-11-22 09:01:27 +01:00 |
|
Alejandro Celaya
|
d7e300e2d5
|
Reduce duplication in actions listing visits
|
2024-11-20 09:48:12 +01:00 |
|
Alejandro Celaya
|
f57f159002
|
Remove no longer used Visit::isLocatable method
|
2024-11-19 09:10:47 +01:00 |
|
Alejandro Celaya
|
fa08014226
|
Make sure IpGeolocationMiddleware skips localhost
|
2024-11-19 09:08:04 +01:00 |
|
Alejandro Celaya
|
8298ef36f8
|
Use more meaningful domain exceptions to represent ApiKeyService thrown errors
|
2024-11-18 09:51:27 +01:00 |
|
Alejandro Celaya
|
178a99b993
|
Fix visits counts not being deleted when deleting short URL or orphan visits
|
2024-11-15 19:22:29 +01:00 |
|
Alejandro Celaya
|
42ff0d5b69
|
Create IpGeolocationMiddlewareTest
|
2024-11-15 10:17:56 +01:00 |
|
Alejandro Celaya
|
6aaea2ac26
|
Simplify logic in RedirectRule when checking geolocation conditions
|
2024-11-15 09:00:59 +01:00 |
|
Alejandro Celaya
|
b5ff568651
|
Use IpGeolocationMiddleware to geolocate visitors instead of LocateVisit event
|
2024-11-15 08:55:43 +01:00 |
|
Alejandro Celaya
|
4a0b7e3fc9
|
Refactor Visitor model and allow a Location object to be passed to it
|
2024-11-14 14:48:18 +01:00 |
|
Alejandro Celaya
|
a6e0916272
|
Add support for city name dynamic redirects
|
2024-11-14 09:58:53 +01:00 |
|
Alejandro Celaya
|
7ddb3e7a70
|
Add tests covering country code validation
|
2024-11-14 09:40:10 +01:00 |
|
Alejandro Celaya
|
fd34332e69
|
Improve ExtraPathRedirectMiddlewareTest
|
2024-11-14 09:28:10 +01:00 |
|
Alejandro Celaya
|
51d838870d
|
Add reference to ISO 3166-1 alpha-2 country codes wikipedia page
|
2024-11-14 09:14:17 +01:00 |
|
Alejandro Celaya
|
4619ebd014
|
After tracking a visit, set its location in the request as attribute
|
2024-11-14 08:21:16 +01:00 |
|
Alejandro Celaya
|
f2371b6124
|
Update RedirectRuleHandlerTest
|
2024-11-13 10:01:52 +01:00 |
|
Alejandro Celaya
|
b5b5f92eda
|
Add validation for country-code redirect conditions
|
2024-11-12 10:25:39 +01:00 |
|
Alejandro Celaya
|
781c083c9f
|
Add new geolocatio-country-code redirect condition type
|
2024-11-12 10:25:39 +01:00 |
|
Alejandro Celaya
|
9a69d06531
|
Update to PHPStan 2.0
|
2024-11-12 10:22:23 +01:00 |
|
Alejandro Celaya
|
7ca605e216
|
Remove unnecessary flush calls when used in wrapInTransaction
|
2024-11-11 09:31:23 +01:00 |
|
Alejandro Celaya
|
48ecef3436
|
Update RequestTracker so that its methods return the new Visit instance, if any
|
2024-11-11 08:58:16 +01:00 |
|
Alejandro Celaya
|
a5a98bd578
|
Update VisitsTracker so that its methods return the new Visit instance, if any
|
2024-11-11 08:51:55 +01:00 |
|
Alejandro Celaya
|
3c6f12aec6
|
Ensure auto-generated name API keys do not throw duplicated name
|
2024-11-09 12:07:07 +01:00 |
|
Alejandro Celaya
|
d228b88e51
|
Lock transaction to avoid race conditions when renaming an API key
|
2024-11-09 11:16:36 +01:00 |
|
Alejandro Celaya
|
95685d958d
|
Update to latest test utils
|
2024-11-09 11:02:10 +01:00 |
|
Alejandro Celaya
|
72f1e243b5
|
Make classes readonly when possible
|
2024-11-09 09:55:51 +01:00 |
|
Alejandro Celaya
|
fca3891819
|
Inject ShortUrlRepository in ShortCodeUniquenessHelper
|
2024-11-09 09:47:47 +01:00 |
|
Alejandro Celaya
|
3ec24e3c67
|
Inject ShortUrlRepository in UrlShortener
|
2024-11-09 09:43:55 +01:00 |
|
Alejandro Celaya
|
532102e662
|
Inject ShortUrlRepository in ShortUrlResolver
|
2024-11-09 09:39:56 +01:00 |
|
Alejandro Celaya
|
102169b6c7
|
Inject DomainRepository in DomainService
|
2024-11-09 09:34:24 +01:00 |
|
Alejandro Celaya
|
dba9302f78
|
Inject TagRepository in TagService, instead of getting it from EntityManager
|
2024-11-09 09:25:01 +01:00 |
|
Alejandro Celaya
|
7e573bdb9b
|
Add tests for RenameApiKeyCOmmand and ApiKeyMeta
|
2024-11-08 09:58:02 +01:00 |
|
Alejandro Celaya
|
6f837b3b91
|
Move logic to determine if a new key has a duplicated name to the APiKeyService
|
2024-11-08 09:03:50 +01:00 |
|
Alejandro Celaya
|
b08c498b13
|
Create command to rename API keys
|
2024-11-08 08:47:49 +01:00 |
|
Alejandro Celaya
|
a661d05100
|
Allow API keys to be renamed
|
2024-11-08 08:25:07 +01:00 |
|
Alejandro Celaya
|
9e6f129de6
|
Make sure a unique name is required by api-key:generate command
|
2024-11-07 14:52:06 +01:00 |
|
Alejandro Celaya
|
4c1ff72438
|
Add method to check if an API exists for a given name
|
2024-11-07 09:55:10 +01:00 |
|
Alejandro Celaya
|
6f95acc202
|
Inject ApiKeyRepository in ApiKeyService
|
2024-11-07 09:34:42 +01:00 |
|
Alejandro Celaya
|
bd73362c94
|
Update api-key:disable command to allow passing a name
|
2024-11-06 20:10:06 +01:00 |
|
Alejandro Celaya
|
f6d70c599e
|
Make name required in ApiKey entity
|
2024-11-06 08:57:10 +01:00 |
|
Alejandro Celaya
|
1b9c8377ae
|
Hash existing API keys, and do checks against the hash
|
2024-11-05 23:27:39 +01:00 |
|
Alejandro Celaya
|
9f6975119e
|
Show only API key name in short URLs list
|
2024-11-05 22:52:01 +01:00 |
|
Alejandro Celaya
|
a094be2b9e
|
Fall back API key names to auto-generated keys
|
2024-11-05 11:26:39 +01:00 |
|
Alejandro Celaya
|
819a535bfe
|
Create migration to set API keys in name column
|
2024-11-05 11:08:11 +01:00 |
|
Alejandro Celaya
|
79c5418ac2
|
Simplify ApiKey entity by exposing key as a readonly prop
|
2024-11-04 14:22:39 +01:00 |
|
Alejandro Celaya
|
eae001a34a
|
Rename ShortUrlWithVisitsSummary to ShortUrlWithDeps
|
2024-11-03 11:38:31 +01:00 |
|
Alejandro Celaya
|
d7ecef94f2
|
Avoid selecting domains for every short URL in list
|
2024-11-03 11:38:31 +01:00 |
|
Alejandro Celaya
|
3f1d61e01e
|
Update to PHP coding standard 2.4.0
|
2024-11-03 11:38:31 +01:00 |
|