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
|
7202605fc8
|
Created EnvVarsTest
|
2022-01-20 20:40:34 +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
|
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
|
f0fd947046
|
Moved existing paginator adapters that are related with visits to the Visits namespace
|
2022-01-10 22:16:33 +01:00 |
|
Alejandro Celaya
|
db4ef328b1
|
Renamed some visits paginator adapters for consistency
|
2022-01-10 20:26:33 +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
|
1b51a1aedd
|
Added ordering support for tags list when not requesting stats
|
2022-01-09 13:31:08 +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
|
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
|
b3863a3e10
|
Improved TagServiceTest, covering tagsInfo method with params
|
2022-01-06 11:36:08 +01:00 |
|
Alejandro Celaya
|
af1cf806f0
|
Created tag paginator adapter tests
|
2022-01-06 10:55:57 +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
|
775f58f972
|
Added support for pagination in tags lists
|
2022-01-05 19:12:08 +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
|
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
|
1ff241411b
|
Removed everything that was deprecated
|
2021-12-14 22:21:53 +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
|
de2d87a6d9
|
Unified jobs in ci pipeline as much as possible
|
2021-12-11 10:26:23 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
9f25979b4c
|
Added validation to not found redirects for domain
|
2021-08-03 14:08:36 +02:00 |
|
Alejandro Celaya
|
6860855c71
|
Prevent double flush when editing domain redirects
|
2021-08-03 09:55:21 +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
|
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
|
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
|
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
|
d6e155d874
|
Extracted logic to determine QR code params to its own data object
|
2021-07-13 13:46:01 +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
|
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
|
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
|
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
|
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
|
1efa973507
|
Updated ImportedLinksProcessor to support importing visits if provided
|
2021-04-11 11:44:10 +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 |
|
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
|
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
|
e093480a5b
|
Fixed API tests
|
2021-02-26 20:24:57 +01:00 |
|