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
|
2f42b2d072
|
Added API tests covering pagination for tags
|
2022-01-05 19:16:49 +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
|
9dec05f62d
|
Added API test covering invalid tagsMode
|
2022-01-04 14:42:31 +01:00 |
|
Alejandro Celaya
|
0447aa07fa
|
Added more API tests covering the new tagsMode param on short URLs list
|
2022-01-04 14:34:31 +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
|
277d817429
|
Removed API test which is no longer relevant
|
2021-12-18 18:41:11 +01:00 |
|
Alejandro Celaya
|
203ad7d594
|
Updated dependencies
|
2021-12-16 21:46:52 +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
|
3f3cf5e20e
|
Explicitly required an MSI of 83 for unit tests
|
2021-12-10 14:00:59 +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
|
cbd4b4849f
|
Ensured default domain is stripped when creating short URLs from CLI
|
2021-12-09 10:24:58 +01:00 |
|
Alejandro Celaya
|
f8a48c16f0
|
Renamed GenerateShortUrlCommand to CreateShortUrlCommand
|
2021-12-09 09:45:15 +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
|
a83ae996db
|
Ensured a formatter is resolved
|
2021-11-30 21:47:23 +01:00 |
|
Alejandro Celaya
|
a66ddabe8a
|
Added domain to DeleteShortUrlException
|
2021-11-30 21:38:09 +01:00 |
|
Alejandro Celaya
|
bd3a59e9ca
|
Updated to doctrine-migrations 3.3
|
2021-10-23 15:44:56 +02:00 |
|
Alejandro Celaya
|
a4fde0f9e6
|
Changed mechanism to determine if connection to database worked for health endpoint
|
2021-10-23 13:36:27 +02: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
|
de81e81ecb
|
Created API test for Domain redirects
|
2021-08-03 19:43:30 +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
|
20f70b8b07
|
Created new table with row separators for CLI, to use with multi-line rows
|
2021-08-03 10:21:42 +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
|
b78660c685
|
Updated installer
|
2021-08-02 20:50:35 +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
|
db93498ee6
|
Fixed merge conflicts
|
2021-07-30 18:19:32 +02:00 |
|
Alejandro Celaya
|
7b9ebbbb5f
|
Fixed use of ImplicitOptionsMiddleware with its new signature
|
2021-07-30 18:05:03 +02:00 |
|
Alejandro Celaya
|
8b75ad1e7f
|
Covered detached domains with redirects in domains list API test
|
2021-07-23 13:11:09 +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
|
de5666d262
|
Resolved all phpstan errors
|
2021-07-19 22:47:12 +02:00 |
|
Alejandro Celaya
|
b8fa234dbb
|
Fixed some phpstan errors
|
2021-07-19 18:35:42 +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
|
6d78cd59e9
|
Fixed merge conflicts
|
2021-05-30 13:31:37 +02:00 |
|
Alejandro Celaya
|
bfcccd8c33
|
Added test to check for GeoLite db update disabling based on tracking options
|
2021-05-30 12:36:58 +02:00 |
|
Alejandro Celaya
|
f7d3c73c4a
|
Skip downloading GeoLite db if global tracking or IP tracking are disabled
|
2021-05-30 12:30:03 +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
|
334d95c843
|
Improved test covering ListSHortUrlsCommand with optional tags
|
2021-04-11 11:29:42 +02:00 |
|
Alejandro Celaya
|
5ddac7866b
|
Ensured short URL transformation happens only once per short URL when listing from CLI
|
2021-04-11 11:06:29 +02:00 |
|
Alejandro Celaya
|
a896fbbb90
|
Fixed coding styles
|
2021-04-11 10:50:35 +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
|
86230d9bf3
|
Removed duplicated code during CLI command tests
|
2021-04-08 13:44:24 +02:00 |
|
Alejandro Celaya
|
1f8994ca8b
|
Created DownloadGeoLiteDbCommandTest
|
2021-04-08 13:34:14 +02:00 |
|
Alejandro Celaya
|
f7b6f4ba19
|
Created new command containing the logic to download the GeoLite2 db file
|
2021-04-08 13:12:37 +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 |
|