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 |
|
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
|
77d06b4b03
|
Renamed argument to have a more clear intention
|
2021-04-07 11:48:01 +02:00 |
|
Alejandro Celaya
|
b4d137375a
|
Flipped events triggered when locating a visit, so that geolocation is done synchronously
|
2021-04-07 11:35:02 +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
|
4ce44034cb
|
Ensured API key name appears in the proper color in the console, for disabled or expired API keys
|
2021-03-14 10:20:05 +01:00 |
|
Alejandro Celaya
|
0a5c265b12
|
Extracted ApiKey metadata to the ApiKeyMeta object
|
2021-03-14 09:59:35 +01:00 |
|
Alejandro Celaya
|
9b55389538
|
First steps to create ApiKeyMeta
|
2021-03-14 09:15:52 +01:00 |
|
KetchupBomb
|
b93b14986e
|
Feature/name api keys
|
2021-03-07 21:30:37 +00:00 |
|
Alejandro Celaya
|
b244c56862
|
Updated to endroid/qr-code 4
|
2021-02-28 16:41:52 +01:00 |
|
Alejandro Celaya
|
0fc123b249
|
Fixed coding styles
|
2021-02-26 20:28:41 +01:00 |
|
Alejandro Celaya
|
c622804950
|
Fixed unit tests
|
2021-02-26 20:27:41 +01:00 |
|
Alejandro Celaya
|
e093480a5b
|
Fixed API tests
|
2021-02-26 20:24:57 +01:00 |
|
Alejandro Celaya
|
1498b72966
|
Updated to happyr/doctrine-specification 2, with some fixes
|
2021-02-26 20:01:16 +01:00 |
|
Alejandro Celaya
|
5ddb6a7f99
|
Added e2e tests covering shortening of twitter URLs with url validatio enabled
|
2021-02-18 21:33:30 +01:00 |
|
Alejandro Celaya
|
8ad34357d3
|
Added User-Agent to UrlValidator, so that remote servers don't consider Shlink a bot
|
2021-02-18 21:27:46 +01:00 |
|
Alejandro Celaya
|
3f2d38a86a
|
Removed all uses of the 'whitelist' term
|
2021-02-16 15:28:03 +01:00 |
|
Alejandro Celaya
|
4e00c950cc
|
Created ProcessRunnerTest
|
2021-02-12 23:23:34 +01:00 |
|
Alejandro Celaya
|
d932f0a204
|
Increased timeout on db commands to 10 minutes
|
2021-02-12 22:59:40 +01:00 |
|
Alejandro Celaya
|
7d6d8e3a68
|
Added support to publish orphan visits in mercure
|
2021-02-11 22:12:38 +01:00 |
|
Alejandro Celaya
|
2fc6fb0a9a
|
Added option to disable orphan visitstracking
|
2021-02-10 20:09:25 +01:00 |
|
Alejandro Celaya
|
a18486cc2e
|
Created OrphanVisits API test
|
2021-02-09 23:56:46 +01:00 |
|
Alejandro Celaya
|
82f4e22f69
|
Created OrphanVisitsActionTest
|
2021-02-09 23:41:51 +01:00 |
|
Alejandro Celaya
|
3497165ebd
|
Created OrphanVisitsPaginatorAdapterTest
|
2021-02-09 23:34:29 +01:00 |
|
Alejandro Celaya
|
d5794a3dcb
|
Created OrphanVisitDataTransformerTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
bd9ec53e7b
|
Added test for VisitsStatsHelper::orphanVisits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
5d98316c4e
|
Created new REST API action to list orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
85dd023c0e
|
Created methods to get orphan visits lists
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
1fbcb44136
|
Enhanced VisitsTrackerTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
ab9042db24
|
Ensured orphan visits are located ASAP when using swoole
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
b01487ac91
|
Ensured IP address is resolved when tracking orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
5278d7668c
|
Added orphan visits count to visits stats endpoint
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
d2e0413a48
|
Added NotFoundTrackerMiddlewareTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
0e165bc7e0
|
Created NotFoundTypeResolverMiddlewareTest
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
55e7f7ccb0
|
Improved VisitRepository tests
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
15061d3e0d
|
Created new middlewares to track not found visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
36be44e7b5
|
Moved VisitsTracker service to Visit namespace
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
1b4e62b823
|
Separated methods to track visits and list visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
12b07bb0ac
|
Created named constructors for Visit entity and added tracking of the visited URL
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
f5666c9451
|
Added new columns for extra tracking in visits table
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
23cffce861
|
Updated Visit entity so that the short URL is nullable
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
383fde488b
|
Added support to define the margin when generating the QR codes
|
2021-02-07 08:32:12 +01:00 |
|
Alejandro Celaya
|
919b567d46
|
Added tests covering new logic to parse GeolLite 2 build epoch param
|
2021-02-06 21:49:49 +01:00 |
|
Alejandro Celaya
|
da65c05c4f
|
Added double check when parsing build epoch from the GeoLite db file in case it is not an integer
|
2021-02-06 21:38:09 +01:00 |
|
Alejandro Celaya
|
de4e677f18
|
Fixed database started for API tests in GitHub workflow
|
2021-02-05 18:33:36 +01:00 |
|
Alejandro Celaya
|
d386e1405c
|
Ensure request is not performed if both title resolution and URL validation are disabled
|
2021-02-05 18:22:54 +01:00 |
|
Alejandro Celaya
|
608742c2e2
|
Added helper service to avoid code duplication when resolving short URLs titles
|
2021-02-05 17:59:34 +01:00 |
|
Alejandro Celaya
|
71e91a541f
|
Allowed to resolve title during short URL edition if it has to
|
2021-02-04 23:02:26 +01:00 |
|
Alejandro Celaya
|
ed18f10b94
|
Added support to order short URLs by title
|
2021-02-04 22:07:54 +01:00 |
|
Alejandro Celaya
|
4330a09793
|
Removed use of deprecated approach for ordering in ListShort
|
2021-02-04 21:33:26 +01:00 |
|
Alejandro Celaya
|
16873201e9
|
Added support to search short URLs by title
|
2021-02-04 21:27:16 +01:00 |
|
Alejandro Celaya
|
2640c7b43c
|
Updated to a shlink-importer version that supports titles
|
2021-02-04 15:24:27 +01:00 |
|
Alejandro Celaya
|
7824dddef7
|
Added tracking to tell if short URL titles were autogenerated or not
|
2021-02-03 19:22:47 +01:00 |
|
Alejandro Celaya
|
0ef1e347e7
|
Enhanced UrlShortenerTest
|
2021-02-03 13:28:51 +01:00 |
|
Alejandro Celaya
|
bfba05c863
|
Enhanced UrlValidatorTest
|
2021-02-03 11:53:08 +01:00 |
|
Alejandro Celaya
|
71f85350da
|
Fixed regex to parse title from URL to consider possible attributes
|
2021-02-03 11:28:40 +01:00 |
|
Alejandro Celaya
|
8b54098299
|
Added option to automatically resolve url titles
|
2021-02-03 11:07:47 +01:00 |
|
Alejandro Celaya
|
356e68ca3e
|
Documented new title prop in swagger docs
|
2021-02-02 21:20:09 +01:00 |
|
Alejandro Celaya
|
430c407106
|
Added support for an optional title field in short URLs
|
2021-02-02 21:20:09 +01:00 |
|
Alejandro Celaya
|
8fa0c95f5a
|
Ensured base path is honored when stringifying short URLs with a custom domain
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
4b4a859722
|
Created ShortUrlStringifierTest
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
9cddedcdba
|
Extracted logic to stringify ShortUrls to its own service
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
c61e1e1c0e
|
Updated EditShortUrlAction so that it returns the parsed short URL instead of an empty response
|
2021-01-31 13:21:23 +01:00 |
|
Alejandro Celaya
|
85bc5ce595
|
Moved transformer to constructor in some actions, to avoid creating it over and over
|
2021-01-31 13:12:56 +01:00 |
|
Alejandro Celaya
|
ef12e90ae7
|
Removed non-used deprecated method and added missing tests
|
2021-01-31 13:05:21 +01:00 |
|
Alejandro Celaya
|
cdfd14e63f
|
Deprecated action and endpoint to edit short URL tags
|
2021-01-31 12:24:26 +01:00 |
|
Alejandro Celaya
|
977058d219
|
Updated short URL edition so that it supports editing tags
|
2021-01-31 12:12:21 +01:00 |
|
Alejandro Celaya
|
c58fa586e1
|
Removed use of deprecated methods in DB tests
|
2021-01-31 11:51:00 +01:00 |
|
Alejandro Celaya
|
1cd6fdeede
|
Centralized logic to normalize tag names and removed references to deprecated setTags method in unit tests
|
2021-01-31 11:09:00 +01:00 |
|
Alejandro Celaya
|
09f25d78b7
|
Refactored API tests fixtures to avoid using deprecated methods
|
2021-01-31 11:01:38 +01:00 |
|
Alejandro Celaya
|
82091c7951
|
Added logic to resolve tags during short URL creation through ShortUrlRelationResolver
|
2021-01-31 10:53:18 +01:00 |
|
Alejandro Celaya
|
7e90fd45a7
|
Renamed ShortUrlInputFilter and added named constructors to it
|
2021-01-31 07:47:58 +01:00 |
|
Alejandro Celaya
|
063ee9c195
|
Inlcuded tags as part of the ShortUrlMeta
|
2021-01-30 19:17:12 +01:00 |
|
Alejandro Celaya
|
3f2bd657e1
|
Used input factory methods from shlink-common when possible
|
2021-01-30 18:58:39 +01:00 |
|
Alejandro Celaya
|
903ef8e249
|
Normalized some filtering
|
2021-01-30 18:24:14 +01:00 |
|
Alejandro Celaya
|
07b12fac3c
|
Refactored short URL creation so that the long URL is part of the ShortUrlMeta
|
2021-01-30 14:18:44 +01:00 |
|
Alejandro Celaya
|
752ded2f80
|
Changed to kebab-case for CLI flags in command tests
|
2021-01-30 11:25:20 +01:00 |
|
Alejandro Celaya
|
158e981970
|
Deprecated camelCase options in rest of CLI commands
|
2021-01-30 11:17:13 +01:00 |
|
Alejandro Celaya
|
96d07c4b4e
|
Deprecated camelCase options in some CLI commands
|
2021-01-30 10:54:11 +01:00 |
|
Alejandro Celaya
|
0cbd965010
|
Fixed merge conflicts
|
2021-01-24 14:21:21 +01:00 |
|
Alejandro Celaya
|
f585cfe02e
|
Fixed CrossDomainMiddleware not inferring proper allowed methods
|
2021-01-24 13:49:57 +01:00 |
|
Alejandro Celaya
|
927fb51313
|
Removed Action sufix from API tests
|
2021-01-24 09:25:36 +01:00 |
|
Alejandro Celaya
|
76aa6502db
|
Changed value returned in Access-Control-Allow-Origin so that it is always set to '*'
|
2021-01-24 09:22:46 +01:00 |
|
Alejandro Celaya
|
55ddc4ae75
|
Replaced laminas-paginator with pagerfanta
|
2021-01-23 14:37:34 +01:00 |
|
Alejandro Celaya
|
4a5cc9a986
|
Added API test for single-step short URL creation action
|
2021-01-21 19:43:34 +01:00 |
|
Alejandro Celaya
|
da9896a28b
|
Fixed single step shortening endpoint
|
2021-01-21 19:26:19 +01:00 |
|
Alejandro Celaya
|
45d162e71a
|
Updated roleName col length in entity metadata definition
|
2021-01-18 17:22:09 +01:00 |
|
Alejandro Celaya
|
2e8f5202d0
|
Moved event objects to a sub-namespace inside Core\EventDispatcher
|
2021-01-17 11:42:35 +01:00 |
|
Alejandro Celaya
|
6b6d751d54
|
Updated to shlinkio/shlink-event-dispatcher 2
|
2021-01-17 11:40:30 +01:00 |
|
Alejandro Celaya
|
c5fc8fbf00
|
Simplified database tests by updating to shlinkio/shlink-test-utils 2
|
2021-01-13 20:21:24 +01:00 |
|
Alejandro Celaya
|
1c75519f9b
|
Displayed 'Admin' as default role in API keys list
|
2021-01-11 20:23:28 +01:00 |
|
Alejandro Celaya
|
fca19f265b
|
Removed duplicated lines in GenerateKeyCommand
|
2021-01-11 20:14:18 +01:00 |
|
Alejandro Celaya
|
75dab92225
|
Improved tests covering ListKeysCommand
|
2021-01-11 17:01:01 +01:00 |
|
Alejandro Celaya
|
9e9d213f20
|
Added roles info to api key generation and api key list
|
2021-01-11 16:32:59 +01:00 |
|
Alejandro Celaya
|
c49a0ca040
|
Added list of roles to print after an API is generated
|
2021-01-11 15:20:26 +01:00 |
|
Alejandro Celaya
|
1f2e16184c
|
Extracted function to render arrays from inside ValidationException
|
2021-01-10 20:28:52 +01:00 |
|
Alejandro Celaya
|
7a19b8765d
|
Created RoleResolverTest
|
2021-01-10 20:24:13 +01:00 |
|
Alejandro Celaya
|
a639a4eb94
|
Added role capabilities to api-key:generate command
|
2021-01-10 20:14:06 +01:00 |
|
Alejandro Celaya
|
c9ff2b3834
|
Updated services required to initialize API keys with roles
|
2021-01-10 20:05:14 +01:00 |
|
Alejandro Celaya
|
34bb023b7d
|
Created API tests to cover deletion and renaming of tags with non-admin API keys
|
2021-01-10 10:28:00 +01:00 |
|
Alejandro Celaya
|
2be0050f3d
|
Improved tag list api test to cover different API key cases
|
2021-01-10 10:17:27 +01:00 |
|
Alejandro Celaya
|
ff1af82ffd
|
Improved tag visits api test to cover different API key cases
|
2021-01-10 10:00:00 +01:00 |
|
Alejandro Celaya
|
13cc70e6d4
|
Added more tags to more fixture short URLs in API keys
|
2021-01-10 09:54:19 +01:00 |
|
Alejandro Celaya
|
fa5934b8b6
|
Improved global visits api test to cover different API key cases
|
2021-01-10 09:36:10 +01:00 |
|
Alejandro Celaya
|
c8eb956778
|
Improved list domains api test to cover different API key cases
|
2021-01-10 09:32:19 +01:00 |
|
Alejandro Celaya
|
5283ee2c6b
|
Moved common data provider for core unit tests to trait
|
2021-01-10 09:31:51 +01:00 |
|
Alejandro Celaya
|
c56d56d38c
|
Added api tests to cover implicit domain when creating short URLs with proper API key
|
2021-01-10 09:09:56 +01:00 |
|
Alejandro Celaya
|
ea05259bbe
|
Improved api tests where a short URL needs to be resolved, covering cases where API key lacks permissions
|
2021-01-10 09:02:05 +01:00 |
|
Alejandro Celaya
|
f17873b527
|
Added api tests for short URLs lists using API keys with permissions
|
2021-01-10 08:49:31 +01:00 |
|
Alejandro Celaya
|
f827186c77
|
Updated API test fixtures to include API keys with roles
|
2021-01-10 08:40:32 +01:00 |
|
Alejandro Celaya
|
380915948b
|
Improved TagRepositoryTest
|
2021-01-09 18:00:08 +01:00 |
|
Alejandro Celaya
|
14eeb91c58
|
Added db test for VisitRepository::countVisits
|
2021-01-09 17:54:04 +01:00 |
|
Alejandro Celaya
|
01dceca9ef
|
Enhanced ShorturlRepository::findOneMatching test to cover ApiKey use cases
|
2021-01-09 14:39:19 +01:00 |
|
Alejandro Celaya
|
ba32366b0b
|
Added tagExists to TagRepositoryTest
|
2021-01-09 13:44:47 +01:00 |
|
Alejandro Celaya
|
bef1b13a33
|
Enhanced DomainRepositoryTest covering API key permissions
|
2021-01-09 13:16:33 +01:00 |
|
Alejandro Celaya
|
caa1ae0de8
|
Added all missing unit tests covering API key permissions
|
2021-01-09 12:38:06 +01:00 |
|
Alejandro Celaya
|
a8b68f07b5
|
Ensured delete/rename tags cannot be done with non-admin API keys
|
2021-01-06 17:31:49 +01:00 |
|
Alejandro Celaya
|
b5710f87e2
|
Created value object to wrap the renaming of a tag
|
2021-01-06 13:11:28 +01:00 |
|
Alejandro Celaya
|
041f231ff2
|
Implemented mechanism to add/remove roles from API keys
|
2021-01-06 10:59:08 +01:00 |
|
Alejandro Celaya
|
f821dea06c
|
Fixed typo on fixture
|
2021-01-05 19:29:42 +01:00 |
|
Alejandro Celaya
|
4b67d41362
|
Applied API role specs to short URL creation
|
2021-01-04 20:15:42 +01:00 |
|
Alejandro Celaya
|
19834f6715
|
Applied API role specs to domains list
|
2021-01-04 15:55:59 +01:00 |
|
Alejandro Celaya
|
262a06f624
|
Renamed method to be more consistent to what it actually does
|
2021-01-04 15:16:51 +01:00 |
|
Alejandro Celaya
|
a01e0ba337
|
Changed logic to list domains to centralize conditions in service
|
2021-01-04 15:02:37 +01:00 |
|
Alejandro Celaya
|
364be2420b
|
Applied API role specs to short URL creation when findIfExists is provided
|
2021-01-04 13:54:38 +01:00 |
|
Alejandro Celaya
|
29cdfaed39
|
Changed ShortUrlMeta so that it expects an ApiKey instance instead of the key as string
|
2021-01-04 13:32:44 +01:00 |
|
Alejandro Celaya
|
24f7fb9c4f
|
Applied API role specs to tags list without stats
|
2021-01-04 12:44:29 +01:00 |
|
Alejandro Celaya
|
68c601a5a8
|
Applied API role specs to global visits
|
2021-01-04 11:27:55 +01:00 |
|
Alejandro Celaya
|
8aa6bdb934
|
Applied API role specs to tag visits
|
2021-01-04 11:14:28 +01:00 |
|
Alejandro Celaya
|
4a1e7b761a
|
Applied API role specs to short URL visits
|
2021-01-03 17:48:32 +01:00 |
|
Alejandro Celaya
|
25ee9b5daf
|
Applied API role specs to single short URL tags edition
|
2021-01-03 16:50:47 +01:00 |
|
Alejandro Celaya
|
fff10ebee4
|
Applied API role specs to single short URL edition
|
2021-01-03 16:41:44 +01:00 |
|
Alejandro Celaya
|
65797b61a0
|
Applied API role specs to single short URL deletion
|
2021-01-03 14:03:10 +01:00 |
|
Alejandro Celaya
|
3e565d3830
|
Removed unnecesary if statements
|
2021-01-03 13:52:08 +01:00 |
|
Alejandro Celaya
|
dc08286a72
|
Applied API role specs to single short URL resolution
|
2021-01-03 13:33:07 +01:00 |
|
Alejandro Celaya
|
940383646b
|
Applied API role specs to short URLs list
|
2021-01-03 13:05:21 +01:00 |
|
Alejandro Celaya
|
6e1d6ab795
|
Changed point in which specs are applied for tags list
|
2021-01-03 12:00:25 +01:00 |
|
Alejandro Celaya
|
df53e6c6f2
|
Created specs for API key roles
|
2021-01-02 20:08:49 +01:00 |
|
Alejandro Celaya
|
7e6882960e
|
Added a system to set roles to API keys
|
2021-01-02 19:35:16 +01:00 |
|
Alejandro Celaya
|
ecf22ae4b6
|
Added happyr/doctrine-specification to support dunamically applying specs to queries
|
2021-01-02 17:14:42 +01:00 |
|
Alejandro Celaya
|
90551ff3bc
|
Added used API key to request
|
2021-01-02 10:34:35 +01:00 |
|
Alejandro Celaya
|
850a5b412c
|
Removed Access-Control-Expose-Headers header from CrossDomainM;iddleware, as it's actually not correct
|
2020-12-31 15:41:02 +01:00 |
|
Alejandro Celaya
|
84331135f7
|
Created API tests for CORS
|
2020-12-31 13:28:06 +01:00 |
|
Alejandro Celaya
|
22124aced7
|
Updated more dependencies for PHP 8 compatibility
|
2020-12-22 09:34:58 +01:00 |
|
Alejandro Celaya
|
b7a0d319b3
|
Updated more dependencies to support PHP8
|
2020-12-04 18:50:00 +01:00 |
|
Alejandro Celaya
|
6bedca4ee6
|
Added more tests covering unicode in custom slugs
|
2020-12-02 18:45:57 +01:00 |
|
Alejandro Celaya
|
7ac1c32ad6
|
Fixed typo
|
2020-12-02 12:02:49 +01:00 |
|
Alejandro Celaya
|
55ea8a6912
|
#896 Added support for unicode characters in custom slugs
|
2020-12-02 12:00:47 +01:00 |
|
Alejandro Celaya
|
f34033aa9c
|
Documented how to provide the unix socket to connect to mysql, maria and postgres databases
|
2020-11-29 19:46:34 +01:00 |
|
Alejandro Celaya
|
1975a35837
|
Updated to lcobucci/json 4.0 stable
|
2020-11-29 12:54:22 +01:00 |
|
Alejandro Celaya
|
4f1ab977a1
|
#917 Added tests covering the different ways to provide sizes to the QR codes
|
2020-11-27 17:42:33 +01:00 |
|
Alejandro Celaya
|
fe59a5ad86
|
#917 Fixed cast to int on QR code action
|
2020-11-27 17:16:54 +01:00 |
|
Alejandro Celaya
|
a72dc16d85
|
#917
|
2020-11-27 17:05:13 +01:00 |
|
Alejandro Celaya
|
39bda5113b
|
#912 Fixed unit tests
|
2020-11-22 18:11:31 +01:00 |
|
Alejandro Celaya
|
49ea5cc78b
|
#912 Removed dependency on league/plates
|
2020-11-22 18:03:27 +01:00 |
|
Alejandro Celaya
|
5485efc9ae
|
#901 Fixed condition type
|
2020-11-21 08:51:30 +01:00 |
|
Alejandro Celaya
|
8d3ceaf462
|
#901 Ensured only domains in use are returned to lists
|
2020-11-21 08:44:28 +01:00 |
|
Alejandro Celaya
|
fb022eae68
|
#867 Changed use of deprecated functions by their replacements
|
2020-11-10 18:13:24 +01:00 |
|
Alejandro Celaya
|
259c52a698
|
#867 Ensured status code config is honored when doing not-found redirects
|
2020-11-10 18:08:25 +01:00 |
|
Alejandro Celaya
|
deeca582db
|
#867 Small refactoring on NotFoundRedirecthandler
|
2020-11-10 17:30:14 +01:00 |
|
Alejandro Celaya
|
d6395a3de8
|
Deleted everything related with authentication plugins, as shlink only supports API key auth since v2.0.0
|
2020-11-07 12:53:14 +01:00 |
|
Alejandro Celaya
|
fe4e171ecb
|
Removed unused mock
|
2020-11-07 10:30:25 +01:00 |
|
Alejandro Celaya
|
27bc8d4823
|
Ensured API key is tracked when creating short URLs from the REST API
|
2020-11-07 10:23:08 +01:00 |
|
Alejandro Celaya
|
7c9f572eb1
|
Deleted old domain resolvers and added tests for new short url relation resolvers
|
2020-11-07 09:49:09 +01:00 |
|
Alejandro Celaya
|
2732b05834
|
Added mechanisms to be able to provide the API key when creating a short URL
|
2020-11-07 09:34:10 +01:00 |
|
Alejandro Celaya
|
97f89bcede
|
Simplified transactional URL shortening
|
2020-11-06 20:05:57 +01:00 |
|
Alejandro Celaya
|
1621f3a943
|
Updated dependencies
|
2020-11-02 11:53:14 +01:00 |
|
Alejandro Celaya
|
544836b986
|
Deprecated tags creation
|
2020-11-02 11:05:14 +01:00 |
|
Alejandro Celaya
|
c1529b7d6c
|
Updated to composer 2
|
2020-10-25 17:59:37 +01:00 |
|
Alejandro Celaya
|
de7096010e
|
Created DoctrineBatchHelperTest
|
2020-10-25 13:30:18 +01:00 |
|
Alejandro Celaya
|
03a9697298
|
Created ImportedLinksProcessorTest
|
2020-10-25 13:20:34 +01:00 |
|
Alejandro Celaya
|
fdcf88de67
|
Added database tests for ShortUrlRepository::importedUrlExists
|
2020-10-25 12:06:48 +01:00 |
|
Alejandro Celaya
|
7c343f42c1
|
Improved how existing imported short URLs are checked by tracking its original short code
|
2020-10-25 11:57:26 +01:00 |
|
Alejandro Celaya
|
786e4f642b
|
Moved short code uniqueness checks to external helper class that is used in UrlShortener and ImportedLinksProcessor
|
2020-10-25 11:16:42 +01:00 |
|
Alejandro Celaya
|
b1a073b1ab
|
Ensured uniqueness on imported short URLs short code
|
2020-10-25 10:26:11 +01:00 |
|
Alejandro Celaya
|
2256f6a9e7
|
Added feedback to ImportedLinksProcessor
|
2020-10-24 15:09:46 +02:00 |
|
Alejandro Celaya
|
ec3e7212b2
|
Basic short-úrl import implementation
|
2020-10-24 13:55:54 +02:00 |
|
Alejandro Celaya
|
554d9b092f
|
Added import_source column in ShortUrls
|
2020-10-23 12:59:39 +02:00 |
|
Alejandro Celaya
|
33d3837795
|
Added dependency on shlinkio/shlink-importer
|
2020-10-22 18:12:22 +02:00 |
|
Daniel Londero
|
a8b0c46142
|
Fix typo
|
2020-10-04 00:35:29 +02:00 |
|
Daniel Londero
|
065d314608
|
Invoke PHPUnit's assertions statically
|
2020-10-04 00:35:14 +02:00 |
|
Alejandro Celaya
|
450eea64aa
|
Added support for port option in SimplifiedConfigParser
|
2020-10-03 11:54:31 +02:00 |
|
Alejandro Celaya
|
63a24342e3
|
Created unit test for ListDomainsCommand
|
2020-09-27 12:48:24 +02:00 |
|
Alejandro Celaya
|
073e4eeac8
|
Created command to list domains
|
2020-09-27 12:39:02 +02:00 |
|
Alejandro Celaya
|
06eda073bf
|
Added API test for /domains endpoint
|
2020-09-27 10:23:17 +02:00 |
|
Alejandro Celaya
|
614e1c37f8
|
Added database test for Domainrepository
|
2020-09-27 10:18:49 +02:00 |
|
Alejandro Celaya
|
24aab5cc0e
|
Created unit tests for new Domain-related elements
|
2020-09-27 10:11:41 +02:00 |
|
Alejandro Celaya
|
76d6d9a7a9
|
Created rest endpoint to list existing domains
|
2020-09-27 09:53:12 +02:00 |
|
Alejandro Celaya
|
cfc9a1b772
|
Ensure string casting safety
|
2020-09-24 22:15:26 +02:00 |
|
Alejandro Celaya
|
405369824b
|
Added hability to override URL validation from the CLI
|
2020-09-24 21:54:03 +02:00 |
|
Alejandro Celaya
|
d5eac3b1c3
|
Added validateUrl optional flag for create/edit short URLs
|
2020-09-23 19:19:17 +02:00 |
|
Alejandro Celaya
|
641f35ae05
|
Updated changelog
|
2020-09-23 07:46:25 +02:00 |
|
Alejandro Celaya
|
4e94f07050
|
Added tests for new ShortUrlRepository::findOneMatching method
|
2020-09-23 07:34:36 +02:00 |
|
Alejandro Celaya
|
460ca032d2
|
Drastically improved performance when creating new short URLs with findIfExists by moving logic to DB query
|
2020-09-23 00:22:29 +02:00 |
|
Alejandro Celaya
|
4b7184ac85
|
Added tests for new QR code format
|
2020-09-21 22:54:05 +02:00 |
|
Alejandro Celaya
|
55d9f2a4a1
|
Added support to return the QR code in SVG format
|
2020-09-21 22:48:52 +02:00 |
|
Alejandro Celaya
|
be71a6eeb4
|
Replaced colon by hyphen as the ordering field-dir separator as it's a valid URL character
|
2020-09-21 22:03:43 +02:00 |
|
Alejandro Celaya
|
25fbbee883
|
Added support to order short urls liusts using the <field>:<dir> notaiton as string
|
2020-09-20 13:21:21 +02:00 |
|
Alejandro Celaya
|
714a58945e
|
Fixed access to magic method that no longer exists
|
2020-08-09 10:46:44 +02:00 |
|
Alejandro Celaya
|
87e8ae7af6
|
Moved custom salugs regex to constant
|
2020-08-09 10:24:59 +02:00 |
|
Alejandro Celaya
|
6be0310933
|
Improved command flag description
|
2020-07-14 15:31:18 +02:00 |
|
Alejandro Celaya
|
5f9b629676
|
Added test for short URLs with all items
|
2020-07-14 13:28:38 +02:00 |
|
Alejandro Celaya
|
8e84b0e8ac
|
Ensured page footer on list short URLs is not displayed when printing all URLs
|
2020-07-14 13:14:53 +02:00 |
|
Alejandro Celaya
|
3ff9e101a8
|
Added support to print all short URLs at once from CLI
|
2020-07-14 13:00:56 +02:00 |
|
Alejandro Celaya
|
1401dd9156
|
Fixed issue introduced with league/uri library
|
2020-07-10 23:25:31 +02:00 |
|
Alejandro Celaya
|
73c6c52b2a
|
Updated to guzzle 7
|
2020-06-28 10:06:49 +02:00 |
|
Alejandro Celaya
|
78b838f6b6
|
Used league/uri to validate URLs including deeplinks, and fixed tests
|
2020-06-27 11:14:10 +02:00 |
|
Alejandro Celaya
|
08950f6433
|
Replaced UriInterface by string when creating a short URL
|
2020-06-27 10:48:35 +02:00 |
|
Alejandro Celaya
|
5c163490c7
|
Allowed new redirect config options to be pased as env vars to the docker image
|
2020-06-20 11:21:37 +02:00 |
|
Alejandro Celaya
|
0bea843e7f
|
Added test covering how redirects config works
|
2020-06-20 09:50:56 +02:00 |
|
Alejandro Celaya
|
68db52679b
|
Added support to serve redirects with status 301 and Cache-Control
|
2020-06-17 19:01:56 +02:00 |
|
Alejandro Celaya
|
68919c19b8
|
Added deprecation in BodyParserMiddleware
|
2020-06-08 23:25:54 +02:00 |
|
Alejandro Celaya
|
ee1aa42900
|
Improved titles on error templates
|
2020-06-08 23:25:54 +02:00 |
|
Alejandro Celaya
|
f3f3ef5c18
|
Removed unused import
|
2020-06-08 18:37:45 +02:00 |
|
Alejandro Celaya
|
527faf27a8
|
Changed how visits for a tag are fetched, avoiding thousands of values to be loaded in memory
|
2020-06-08 18:37:22 +02:00 |
|
Alejandro Celaya
|
371f246c41
|
Improved custom slug sluggification, allowing valid URL characters
|
2020-06-08 18:08:53 +02:00 |
|
Alejandro Celaya
|
1fa9896524
|
Fixed error when trying to match creteria on a Short URL with dates
|
2020-05-11 13:12:55 +02:00 |
|
Alejandro Celaya
|
4d346d1fea
|
Created API test for tags visits endpoint
|
2020-05-09 10:31:39 +02:00 |
|
Alejandro Celaya
|
7f39e6d768
|
Created TagVisitsActionTest
|
2020-05-09 10:22:07 +02:00 |
|
Alejandro Celaya
|
9b9de8e290
|
Updated VisitsTrackerTest
|
2020-05-09 10:14:26 +02:00 |
|
Alejandro Celaya
|
e1e3c7f061
|
Created paginator adapter tests
|
2020-05-09 10:10:48 +02:00 |
|
Alejandro Celaya
|
3218f8c283
|
Added Created endpoint to serve visits by tag
|
2020-05-09 09:53:45 +02:00 |
|
Alejandro Celaya
|
f0acce1be0
|
Updated to latest common
|
2020-05-09 09:34:59 +02:00 |
|
Alejandro Celaya
|
dd4b4277c9
|
Added test for VisitRepository tag methods
|
2020-05-08 20:11:37 +02:00 |
|
Alejandro Celaya
|
baf77b6ffb
|
Implemented methods to get paginated list of visits by tag, reusing methods used for short code filtering
|
2020-05-08 19:55:05 +02:00 |
|
Alejandro Celaya
|
5be882a31b
|
Improved parameter definition in some private queries in VisitRepository
|
2020-05-08 19:41:21 +02:00 |
|
Alejandro Celaya
|
8f06e4b20f
|
Replaced references to obfuscate by anonymize
|
2020-05-08 15:43:09 +02:00 |
|
Alejandro Celaya
|
bfdd6e0c50
|
Ensured SimplifiedConfigParser properly handles obfuscate_remote_addr option
|
2020-05-08 13:21:49 +02:00 |
|
Alejandro Celaya
|
eac468514b
|
Allow to determine if remote addresses should be obfuscated at configuration level
|
2020-05-08 13:10:58 +02:00 |
|
Alejandro Celaya
|
7da00fbc8c
|
Updated Visit entity so that the address can be optionally obfuscated
|
2020-05-08 12:58:49 +02:00 |
|
Alejandro Celaya
|
c336bb1901
|
Updated ListTagsCommand so that it displays extended information
|
2020-05-08 12:39:02 +02:00 |
|
Alejandro Celaya
|
00cac4ba72
|
Created rest test for list tags action
|
2020-05-08 11:51:28 +02:00 |
|
Alejandro Celaya
|
91aaffc6db
|
Updated ListTagsActionTest
|
2020-05-08 11:32:06 +02:00 |
|
Alejandro Celaya
|
2e269bcacd
|
Updated TagServiceTest
|
2020-05-08 11:14:39 +02:00 |
|
Alejandro Celaya
|
bdd14427d9
|
Added tests for TagRepository::findTagsWithInfo
|
2020-05-08 11:09:28 +02:00 |
|
Alejandro Celaya
|
06c59fe2dd
|
Fixed invalid imports after class refactoring
|
2020-05-08 10:29:24 +02:00 |
|
Alejandro Celaya
|
9a78fd1a26
|
Fixed definition of inversed many to many entity relationship
|
2020-05-08 10:25:33 +02:00 |
|
Alejandro Celaya
|
626c92460b
|
Enhanced list tags endpoint so that it can also return stats foir every tag
|
2020-05-08 10:15:33 +02:00 |
|
Alejandro Celaya
|
7e0a14493e
|
Documented updates on the tags endpoint to return more detailed information
|
2020-05-08 10:14:38 +02:00 |
|
Alejandro Celaya
|
d5288f756e
|
Fixed entity mapping for visits without a visit location
|
2020-05-03 19:52:40 +02:00 |
|
Alejandro Celaya
|
867659ea25
|
Created index on visits.date column
|
2020-05-03 19:15:26 +02:00 |
|
Alejandro Celaya
|
74ad3553cb
|
Hardcoded types on date fields when filtering visits lists
|
2020-05-03 19:02:13 +02:00 |
|
Alejandro Celaya
|
8b0ce8e6f3
|
Improved performance when loading visits chuncks at high offsets
|
2020-05-03 18:20:01 +02:00 |
|
Alejandro Celaya
|
0e4bccc4bb
|
Cached result of the count query on VisitsPaginatorAdapter
|
2020-05-03 10:44:01 +02:00 |
|
Alejandro Celaya
|
c4ae89a279
|
Removed DISTINCT when counting visits for a short URL
|
2020-05-03 10:22:00 +02:00 |
|
Alejandro Celaya
|
80d41db901
|
Improved performance on query that returns the list of visits for a short URL
|
2020-05-02 22:47:59 +02:00 |
|
Alejandro Celaya
|
aece9e68ba
|
Removed logger dependency from rest actions
|
2020-05-01 12:08:44 +02:00 |
|
Alejandro Celaya
|
b5947d1642
|
Created more unit tests
|
2020-05-01 11:57:46 +02:00 |
|
Alejandro Celaya
|
1ef10f11cb
|
Created new action to get default visit stats
|
2020-05-01 11:40:02 +02:00 |
|
Alejandro Celaya
|
5beaab85ac
|
Renamed GetVisitsAction to ShortUrlVisitsAction
|
2020-05-01 11:17:07 +02:00 |
|
Alejandro Celaya
|
4498386f56
|
Fixed merge conflicts
|
2020-04-30 20:26:00 +02:00 |
|
Alejandro Celaya
|
9190996e54
|
Added support for geolite_license_key config option
|
2020-04-29 19:26:34 +02:00 |
|
Alejandro Celaya
|
15a8305209
|
Fixed random 503 responses from the HealthAction when the database connection injected on it has expired
|
2020-04-25 19:58:49 +02:00 |
|
Alejandro Celaya
|
078c8ea011
|
Changed default mercure token duration to 1 day
|
2020-04-18 11:29:49 +02:00 |
|
Alejandro Celaya
|
6ba6b951bf
|
Changed mercure topics to be dash-cased
|
2020-04-16 22:25:12 +02:00 |
|
Alejandro Celaya
|
18b12ab1e6
|
Updated NotifyVisitToMercure to send both an update for all short URLs and one specific short URL
|
2020-04-14 20:57:25 +02:00 |
|
Alejandro Celaya
|
934fa937b5
|
Updated config parsers for docker image to accept new mercure env vars and configs
|
2020-04-12 20:41:23 +02:00 |
|
Alejandro Celaya
|
7f888c49b4
|
Created MercureUpdatesGeneratorTest
|
2020-04-12 18:01:13 +02:00 |
|
Alejandro Celaya
|
e97dfbfdda
|
Created NotifyVisitToMercureTest
|
2020-04-12 17:50:40 +02:00 |
|
Alejandro Celaya
|
b858d79b9e
|
Fixed mercure hub URL returned by MercureInfoAction
|
2020-04-12 17:50:09 +02:00 |
|
Alejandro Celaya
|
72d8edf4ff
|
Created event listener that notifies mercure hub for new visits
|
2020-04-12 17:05:59 +02:00 |
|
Alejandro Celaya
|
31db97228d
|
Created MercureInfoActionTest
|
2020-04-12 14:22:23 +02:00 |
|
Alejandro Celaya
|
2ffbf03cf8
|
Created action to get mercure integration info
|
2020-04-12 13:59:10 +02:00 |
|
Alejandro Celaya
|
f915b97606
|
Created decorator for database connection closing and reopening for swoole tasks
|
2020-04-11 18:00:40 +02:00 |
|
Alejandro Celaya
|
551368c30d
|
Ensured QR code action respects configured domain
|
2020-04-09 12:31:03 +02:00 |
|
Alejandro Celaya
|
28e0fb049b
|
Added check to ensure DB connection is gracefully recovered on swoole task workers
|
2020-04-09 11:54:54 +02:00 |
|
Alejandro Celaya
|
1980d35691
|
Ensured redirect requests are not tracked when request is performed using method HEAD
|
2020-04-08 23:51:57 +02:00 |
|
Alejandro Celaya
|
11879ea377
|
Ensured tags are not sluggified when using them to filter short URL lists
|
2020-03-29 12:51:39 +02:00 |
|
Alejandro Celaya
|
53ba58d7e9
|
Moved initialization of the io object in LocateVisitsCommand to the initialize method
|
2020-03-28 10:37:41 +01:00 |
|
Alejandro Celaya
|
4d39c7041b
|
Improved LocateVisitsCommandtest so that it covers all possible workflows
|
2020-03-28 10:23:34 +01:00 |
|
Alejandro Celaya
|
c012b4740d
|
Updated VisitLocator test so that it covers all public methods
|
2020-03-28 10:01:09 +01:00 |
|
Alejandro Celaya
|
55778eb810
|
Ensured old visit locations are deleted when relocating a visit that has already been located
|
2020-03-28 09:27:45 +01:00 |
|
Alejandro Celaya
|
fb8ab0b5fe
|
Implemented how to reprocess the locations of all existing visits
|
2020-03-28 09:12:15 +01:00 |
|
Alejandro Celaya
|
fcce18b059
|
Changed VisitLocator signature so that it expects an object implementing an interface instead of two arbitrary callbacks
|
2020-03-28 08:05:15 +01:00 |
|
Alejandro Celaya
|
43a3d469e7
|
Improved how visits with some conditions are fetched from the database, so all internal logic is 100% transparent regardless the purpose
|
2020-03-27 22:01:26 +01:00 |
|
Alejandro Celaya
|
f730c24ecb
|
Created method to return visits with empty location
|
2020-03-26 22:56:53 +01:00 |
|
Alejandro Celaya
|
b8522b8c17
|
Created new method to locate empty visits
|
2020-03-26 22:37:46 +01:00 |
|
Alejandro Celaya
|
c88401ef29
|
Added isEmpty column to VisitLocation
|
2020-03-23 20:42:03 +01:00 |
|
Alejandro Celaya
|
4539ab2dcf
|
Moved hardcoded class alias to a namespaced constant
|
2020-03-22 17:42:56 +01:00 |
|
Alejandro Celaya
|
3beb27acc2
|
Added API tests for the edition of the longURL
|
2020-03-22 17:30:01 +01:00 |
|
Alejandro Celaya
|
5432eb7b77
|
Added URL validation to ShortUrl edition, as long URL can now be edited
|
2020-03-22 17:22:52 +01:00 |
|
Alejandro Celaya
|
181ff16409
|
Registered PersistenceDomainResolver as a service to avoid instantiating a new one on every ShortUrl creation
|
2020-03-22 17:05:59 +01:00 |
|
Alejandro Celaya
|
682a0768b7
|
Moved check for URL validation config option to the UrlValidator itself
|
2020-03-22 16:58:28 +01:00 |
|
Alejandro Celaya
|
4e6836c605
|
Long URLs can now be edited on existing short URLs
|
2020-03-22 14:04:01 +01:00 |
|
Alejandro Celaya
|
fdd8efc12d
|
Added test covering case in which the original address is provided when locating visits
|
2020-03-22 11:12:30 +01:00 |
|
Alejandro Celaya
|
3fef4b4a28
|
Ensured non-obfuscated IP address is passed to event listener which geolocates it
|
2020-03-22 10:48:27 +01:00 |
|
Alejandro Celaya
|
d2c06dd0ab
|
Initialized typed nullable props as null in all entities
|
2020-03-21 14:38:24 +01:00 |
|
Alejandro Celaya
|
6ddd70d21d
|
Added --no-interaction to commands run internally from shlink DB commands
|
2020-03-15 17:25:39 +01:00 |
|
Alejandro Celaya
|
d32112fe7e
|
Updated shlink packages and installed shlink-config
|
2020-03-15 17:14:37 +01:00 |
|
Alejandro Celaya
|
f5c1e12db4
|
Added more tests covering invalid custom slugs
|
2020-03-06 20:01:41 +01:00 |
|
Alejandro Celaya
|
18ceafeb60
|
Ensured only empty strings are checked while verifying empty value on custom slug
|
2020-03-06 19:25:05 +01:00 |
|
Alejandro Celaya
|
67e93a6874
|
Ensured empty values cannot be provided as the custom slug
|
2020-03-06 19:20:33 +01:00 |
|
Alejandro Celaya
|
590fc3fc92
|
Added tests covering redirect simplified config parsing
|
2020-02-25 18:01:06 +01:00 |
|
Jordan Patterson
|
6b1dadc35c
|
fixed incorrect configuration option for base_url_redirect_to
|
2020-02-25 06:47:02 -08:00 |
|
Alejandro Celaya
|
bb231e668b
|
Registered middleware generating request ID
|
2020-02-19 18:58:25 +01:00 |
|
Alejandro Celaya
|
33a404f051
|
Updated CLI command to create short URLs so that it respects configs for short code length
|
2020-02-18 20:34:48 +01:00 |
|
Alejandro Celaya
|
51e130c7a0
|
Added env var that can be used to define default short codes length on docker image
|
2020-02-18 19:34:01 +01:00 |
|
Alejandro Celaya
|
343ee04acb
|
Created middleware which injects default short code length from config when a value was not explicitly provided
|
2020-02-18 19:21:34 +01:00 |
|
Alejandro Celaya
|
9372d1739a
|
Enforced short URLs length to be 4 at least
|
2020-02-18 18:57:24 +01:00 |
|
Alejandro Celaya
|
13555366e3
|
Short code lengths can now be customized
|
2020-02-18 18:54:40 +01:00 |
|
Alejandro Celaya
|
faec758fba
|
Added test to ensure default domain is ignored if provided when creatin a short URL
|
2020-02-08 12:30:47 +01:00 |
|
Alejandro Celaya
|
ccec6e03aa
|
Updated middleware which drops default domain so that it is capable of doing it from parsed body too
|
2020-02-08 12:22:07 +01:00 |
|
Alejandro Celaya
|
8ff913aaf2
|
Ensured search terms are applied to the domain too
|
2020-02-02 20:07:19 +01:00 |
|
Alejandro Celaya
|
ce990c67e3
|
Fixed coding styles
|
2020-02-02 19:19:35 +01:00 |
|
Alejandro Celaya
|
8a0ba11f79
|
Added one more test case for not found URLs on API tests
|
2020-02-02 19:15:14 +01:00 |
|
Alejandro Celaya
|
0c1ecd3caa
|
Created DropDefaultDomainFromQueryMiddlewareTest
|
2020-02-02 19:13:32 +01:00 |
|
Alejandro Celaya
|
c07c37f7bd
|
Created middleware to drop domain from query when it is the default one
|
2020-02-02 19:03:43 +01:00 |
|
Alejandro Celaya
|
fe652c67f4
|
Covered with API tests getting invalid short URLs by short code and domain
|
2020-02-02 13:15:08 +01:00 |
|
Alejandro Celaya
|
297985cf01
|
Ensured trying to fetch a short URL for any operation through the API results in 404 if it does not match with porovided domain
|
2020-02-02 12:58:26 +01:00 |
|
Alejandro Celaya
|
10f79ec01d
|
Created new repository method which will look for short URLs without doing domain fallback
|
2020-02-02 12:44:35 +01:00 |
|
Alejandro Celaya
|
e87d4d61bc
|
Added API test for editing tags with and without domain
|
2020-02-02 10:53:49 +01:00 |
|
Alejandro Celaya
|
e58f2a384e
|
Added API test for visits with and without domain
|
2020-02-02 10:46:38 +01:00 |
|
Alejandro Celaya
|
881002634a
|
Added API tests for short URL deletion with domain
|
2020-02-02 10:28:10 +01:00 |
|
Alejandro Celaya
|
aa80c2bb82
|
Updated API tests so that fixture short URLs are created with matching short codes and different domains
|
2020-02-02 09:51:17 +01:00 |
|
Alejandro Celaya
|
1a8e4cdfd7
|
Exposed domain on short URLs
|
2020-02-02 08:57:04 +01:00 |
|
Alejandro Celaya
|
6858dc4785
|
Updated setting short URL tags so that it accepts providing the domain
|
2020-02-01 22:59:21 +01:00 |
|
Alejandro Celaya
|
5d1d9dcac3
|
Allowed domain to be provided when editing short URL meta
|
2020-02-01 22:54:21 +01:00 |
|
Alejandro Celaya
|
732bb06c62
|
Updated short URL deletion so that it accepts the domain
|
2020-02-01 18:06:50 +01:00 |
|
Alejandro Celaya
|
5f00d8b732
|
Added domain flag to GetVisitsCommand
|
2020-02-01 17:56:43 +01:00 |
|
Alejandro Celaya
|
a3ff545d43
|
Improved VisitsRepositoryTest to cover fetching visits for URL with domain
|
2020-02-01 17:44:37 +01:00 |
|
Alejandro Celaya
|
279bd12a2d
|
Ensured domain can be passed when fetching visits for a short URL
|
2020-02-01 17:34:16 +01:00 |
|
Alejandro Celaya
|
1b2a0d674f
|
Fixed correct short URL being tracked when domain exists
|
2020-02-01 13:03:48 +01:00 |
|
Alejandro Celaya
|
fd82de31c0
|
Fixed the way ShortUrlIdentifier is created from requests, on different request scopes
|
2020-02-01 12:54:10 +01:00 |
|
Alejandro Celaya
|
327d35fe57
|
Created DTO used to transfer props needed to uniquely identify a short URL
|
2020-02-01 11:47:01 +01:00 |
|
Alejandro Celaya
|
bd2f488e2c
|
Updated entity mappings so that schema an table prefixes can be eventually provided
|
2020-01-29 10:53:06 +01:00 |
|
Alejandro Celaya
|
96350c8b8f
|
Updated entities mapping config so that they return a function
|
2020-01-29 10:06:42 +01:00 |
|
Alejandro Celaya
|
7add41d560
|
Ensured BC on dates for short urls params
|
2020-01-28 12:57:21 +01:00 |
|
Alejandro Celaya
|
6ff5a532ea
|
Added extra API test covering complex order by for short URL lists
|
2020-01-28 11:20:48 +01:00 |
|
Alejandro Celaya
|
fccd92497a
|
Added last check on ShortUrlsOrdering which makes sure everything keeps behaving as it used to
|
2020-01-28 11:17:54 +01:00 |
|
Alejandro Celaya
|
452bfea088
|
Created DTOs with implicit validation to wrap short URLs lists params
|
2020-01-28 10:49:55 +01:00 |
|
Alejandro Celaya
|
240d2588f9
|
Extracted some private functions ase helper global functions
|
2020-01-28 09:41:48 +01:00 |
|
Alejandro Celaya
|
b9c7f8e8d4
|
Added unit tests for ShortUrlresolver
|
2020-01-26 19:53:18 +01:00 |
|
Alejandro Celaya
|
f32e7cc7c4
|
Removed tests checking domain logic from ShortUrlRepositoryTest
|
2020-01-26 19:25:41 +01:00 |
|
Alejandro Celaya
|
4ebd48b2b0
|
Created new service to resolve short URLs
|
2020-01-26 19:21:51 +01:00 |
|
Alejandro Celaya
|
1f9a912c04
|
Added API tests covering the edition of short URL meta with resetted values
|
2020-01-26 09:29:04 +01:00 |
|
Alejandro Celaya
|
45151cdde6
|
Standardized how the ShortUrlMeta object is created by exposing a single named constructor
|
2020-01-26 08:42:51 +01:00 |
|
Alejandro Celaya
|
c52794aed6
|
Replaced standard http_build_query by guzzle's build_query, which keeps params with no value
|
2020-01-12 10:28:44 +01:00 |
|
Alejandro Celaya
|
09e3464426
|
Ensured CrossDomainMiddleware always returns empty responses with success status on OPTIONS requests
|
2020-01-11 20:36:17 +01:00 |
|
Alejandro Celaya
|
ad1334f289
|
Created database migration which ensures no nulls are present
|
2020-01-10 19:44:35 +01:00 |
|
Alejandro Celaya
|
2b544ad141
|
Refactored Rest ConfigProvider so that it appends the health action with and without version
|
2020-01-07 18:07:51 +01:00 |
|
Alejandro Celaya
|
36d5e057d0
|
Ensured the health action is registered bit with and without version
|
2020-01-06 23:32:43 +01:00 |
|
Alejandro Celaya
|
9c5f5a46b5
|
Replaced use of deprecated class by a non-deprecated one
|
2020-01-06 23:08:14 +01:00 |
|
Alejandro Celaya
|
886f63d3e4
|
Workarounded doctrine-dbal issue by creating new columns instead of changing column types
|
2020-01-06 22:57:10 +01:00 |
|
Alejandro Celaya
|
7748dd7cef
|
Ensured latitude and longitude are set as float in DB
|
2020-01-06 22:31:00 +01:00 |
|
Alejandro Celaya
|
4fadd523f1
|
Updated config to read redis from config.redis
|
2020-01-05 16:45:14 +01:00 |
|
Alejandro Celaya
|
2151b97bec
|
Project migrated from zend to laminas
|
2020-01-01 21:13:09 +01:00 |
|
Alejandro Celaya
|
50100c251e
|
Updated to coding standard v2.1
|
2020-01-01 20:48:31 +01:00 |
|
Alejandro Celaya
|
d205405dcc
|
Updated DeprecatedConfigParser to remove the secret key
|
2020-01-01 11:27:09 +01:00 |
|
Alejandro Celaya
|
0e04968bc2
|
Changed latitude and longitude to float
|
2019-12-31 23:37:49 +01:00 |
|
Alejandro Celaya
|
0cf1d8d375
|
Changed validate_url to have default value of false
|
2019-12-31 16:30:59 +01:00 |
|
Alejandro Celaya
|
339121fbb1
|
Removed PathVersionMiddleware as routes without version are not longer supported
|
2019-12-31 16:26:00 +01:00 |
|
Alejandro Celaya
|
f99ca464de
|
Removed old command aliases
|
2019-12-31 16:08:08 +01:00 |
|
Alejandro Celaya
|
5c90a7c7a7
|
Removed remaining deprecated elements
|
2019-12-31 16:05:02 +01:00 |
|
Alejandro Celaya
|
434b56fa8c
|
Removed several deprecated components
|
2019-12-31 15:38:37 +01:00 |
|
Alejandro Celaya
|
78b484e657
|
Deleted everything related with previews generation
|
2019-12-31 13:40:38 +01:00 |
|
Alejandro Celaya
|
bd6243b2ac
|
Updated to problem-details 1.1, removing custom code
|
2019-12-30 22:42:29 +01:00 |
|
Alejandro Celaya
|
bf0d9ab7d9
|
Removed not needed null check
|
2019-12-29 23:19:00 +01:00 |
|
Alejandro Celaya
|
bfeb915cd2
|
Replaced regular callbacks by arrow functions when possible
|
2019-12-29 23:16:55 +01:00 |
|
Alejandro Celaya
|
a830420d75
|
Added property types to all non-deprecated classes
|
2019-12-29 22:48:40 +01:00 |
|
Alejandro Celaya
|
b904c6d00d
|
Added property types to some classes
|
2019-12-29 22:27:00 +01:00 |
|
Alejandro Celaya
|
664569a52b
|
Added visits_webhooks option to SimplifiedConfigParser
|
2019-12-28 16:42:21 +01:00 |
|
Alejandro Celaya
|
583985e7ce
|
Moved VisitLocated as a regular event, since async tasks cannot trigger other async tasks
|
2019-12-28 13:50:41 +01:00 |
|
Alejandro Celaya
|
b17bcb6c93
|
Updated LocateShortUrlVisit so that it dispatches a VisitLocated event
|
2019-12-28 13:07:11 +01:00 |
|
Alejandro Celaya
|
4886825564
|
Improved NotifyVisitToWebHooksTest to kill more mutants
|
2019-12-28 10:43:13 +01:00 |
|
Alejandro Celaya
|
79cd3ba912
|
Created NotifyVisitToWebhooksTest
|
2019-12-27 20:32:21 +01:00 |
|
Alejandro Celaya
|
21a3d4b66b
|
Updated NotifyVisitToWebHooks so that it waits for all requests to finish
|
2019-12-27 17:07:20 +01:00 |
|
Alejandro Celaya
|
562b0a0868
|
Used PSR3 logger preprocessor format instead of sprintf when possible
|
2019-12-27 16:15:14 +01:00 |
|
Alejandro Celaya
|
25243a10ec
|
Moved common bootstrapping code to run.php script
|
2019-12-27 14:02:43 +01:00 |
|
Alejandro Celaya
|
3fdba53995
|
Added basic implementation for new webhook events
|
2019-12-27 13:37:59 +01:00 |
|
Alejandro Celaya
|
d67321f187
|
Removed workarounds from UrlValidator that were required for guzzle 6.5.0
|
2019-12-21 16:09:29 +01:00 |
|
Alejandro Celaya
|
75b91dc26b
|
Hardcoded different creation dates for fixture short URLs to avoid random API test failures
|
2019-12-18 15:26:23 +01:00 |
|
Alejandro Celaya
|
f7d09bf173
|
Slight refactoring on ListSHortUrlsCommand
|
2019-12-17 10:11:54 +01:00 |
|
Alejandro Celaya
|
4b113e5781
|
Added tests covering how orderBy is parsed on ListShortUrlsCommand
|
2019-12-17 10:06:54 +01:00 |
|
Alejandro Celaya
|
5616579131
|
Added startDate and endDate params to ListShortUrlsCommand
|
2019-12-17 09:59:54 +01:00 |
|
Alejandro Celaya
|
8142801f1f
|
Updated ListShortUrlsAction api test so that it covers filtering use cases
|
2019-12-16 23:03:32 +01:00 |
|
Alejandro Celaya
|
35eeaf4282
|
Improved repository tests covering fetching and counting filtered short URL lists
|
2019-12-16 22:17:33 +01:00 |
|
Alejandro Celaya
|
8ad8b08aa4
|
Improved ListShortUrlsActionTest covering different scenarios in which date ranges are provided
|
2019-12-16 21:55:48 +01:00 |
|
Alejandro Celaya
|
839ca31821
|
Ensured date range filtering is also passed to the count function on ShortUrlRepository
|
2019-12-16 21:46:27 +01:00 |
|
Alejandro Celaya
|
03a92e5556
|
Fixed trailing method comma which is not compatible with PHP 7.2
|
2019-12-16 15:22:03 +01:00 |
|
Alejandro Celaya
|
99fd5f937e
|
Fixed existing tests and coding styles
|
2019-12-16 15:16:18 +01:00 |
|
Alejandro Medina
|
a28e7987e6
|
fixup! Add date range filter to list urls endpoint parameters
|
2019-12-14 18:32:58 -03:00 |
|
Alejandro Medina
|
f17c46bbed
|
Add date range filter to short url service
|
2019-12-14 15:10:09 -03:00 |
|
Alejandro Medina
|
27008505e5
|
Add date range filter to short url service interface
|
2019-12-14 15:03:39 -03:00 |
|
Alejandro Medina
|
f9ba322547
|
Add date range filter to list urls endpoint parameters
|
2019-12-14 13:55:03 -03:00 |
|
Alejandro Medina
|
661efcb51f
|
Add date range filter to short url repository adapter
|
2019-12-14 12:01:56 -03:00 |
|
Alejandro Medina
|
5928f28699
|
Add date range filter to short url repository
|
2019-12-14 11:58:52 -03:00 |
|
Alejandro Medina
|
1183d65184
|
Add date range filter to short url repository interface
|
2019-12-14 11:58:08 -03:00 |
|
Alejandro Celaya
|
843e943251
|
Updated to guzzle 6.5 and removed custom code
|
2019-12-07 21:01:14 +01:00 |
|
Alejandro Celaya
|
e5f262869c
|
Improved tag conflict docs and tests
|
2019-12-06 23:40:54 +01:00 |
|
Alejandro Celaya
|
a070a68a57
|
Fixed merge conflicts
|
2019-12-06 23:34:50 +01:00 |
|
Alejandro Celaya
|
3e9b775114
|
Fixed failing test
|
2019-12-06 22:45:15 +01:00 |
|
Alejandro Celaya
|
05a64b8d9e
|
Ensured dates parsing does not mask actual validation errors
|
2019-12-06 22:38:22 +01:00 |
|
Alejandro Celaya
|
27aa8f9875
|
Handled rename tag error from command
|
2019-12-06 21:04:52 +01:00 |
|
Alejandro Celaya
|
05451e3d1a
|
Handled tag conflict from rename tag action
|
2019-12-06 21:03:27 +01:00 |
|
Alejandro Celaya
|
b9b3295b52
|
Ensured a specific exception is thrown from TagService when trying to rename a tag to the name of another tag which already exists
|
2019-12-06 20:44:41 +01:00 |
|
Alejandro Celaya
|
f62ed66e26
|
Created TagConflictException
|
2019-12-06 10:20:56 +01:00 |
|
Alejandro Celaya
|
7f43890713
|
Improved CreateShortUrlAction test so that it cover more mutants
|
2019-12-01 12:26:31 +01:00 |
|
Alejandro Celaya
|
57070ef155
|
Improved Rest's ConfigProvider test to kill more mutants
|
2019-12-01 12:04:31 +01:00 |
|
Alejandro Celaya
|
fc5904e743
|
Improved BodyParserMiddlewareTest to kill more mutants
|
2019-12-01 10:58:48 +01:00 |
|
Alejandro Celaya
|
46c0620236
|
More test improvements trying to increase mutation score
|
2019-12-01 10:47:56 +01:00 |
|
Alejandro Celaya
|
1bf56b658b
|
Improved domain exception tests to cover more possible mutants
|
2019-12-01 10:24:42 +01:00 |
|
Alejandro Celaya
|
cf3d763731
|
Replaced monolog-cascade by MonologFactory
|
2019-11-30 17:59:04 +01:00 |
|
Alejandro Celaya
|
e558bb17cb
|
Updated dependencies
|
2019-11-30 17:21:36 +01:00 |
|
Alejandro Celaya
|
3cf1657d54
|
Simplified invalidElements to be a plain list of keys when a ValidationException is cast into a problem details error
|
2019-11-29 18:55:27 +01:00 |
|
Alejandro Celaya
|
5055ddf995
|
Updated CLI commands to just print exception messages when possible
|
2019-11-28 18:47:34 +01:00 |
|
Alejandro Celaya
|
d83d2f82bd
|
Added more strict checks on API errors tests
|
2019-11-27 20:48:35 +01:00 |
|
Alejandro Celaya
|
5266743a0c
|
Added as much additional data as possible to exceptions
|
2019-11-27 20:18:36 +01:00 |
|
Alejandro Celaya
|
fffb2872ef
|
Replaced hardcoded error response by the use of a problem details action
|
2019-11-26 22:18:55 +01:00 |
|
Alejandro Celaya
|
3b56fc3760
|
Refactored and fixed unit tests
|
2019-11-26 22:12:52 +01:00 |
|
Alejandro Celaya
|
5213faa0a1
|
Converted VerifyAuthenticationException into a problem details exception
|
2019-11-26 22:03:40 +01:00 |
|
Alejandro Celaya
|
6f4e5175da
|
Converted MissingAuthenticationException into a problem details exception
|
2019-11-26 21:43:29 +01:00 |
|
Alejandro Celaya
|
f502eb0195
|
Added new test for the case in which an invalid URL is provided
|
2019-11-26 21:33:22 +01:00 |
|
Alejandro Celaya
|
509c9fe2e8
|
Improved AuthenticationMiddleware API tests
|
2019-11-26 21:29:25 +01:00 |
|
Alejandro Celaya
|
13e795d25d
|
Updated ValidationException's base exception
|
2019-11-26 20:58:38 +01:00 |
|
Alejandro Celaya
|
a28ef1f176
|
Converted EntityDoesNotExistException into a problem details exception renamed as TagNotFoundException
|
2019-11-25 19:15:46 +01:00 |
|
Alejandro Celaya
|
0c5eec7e95
|
Replaced the use of EntityDoesNotExistException by ShorturlNotFoundException where applicable
|
2019-11-25 18:54:25 +01:00 |
|
Alejandro Celaya
|
310032e303
|
Converted DeleteShortUrlException into a problem details exception
|
2019-11-24 23:56:02 +01:00 |
|
Alejandro Celaya
|
32b3c72bdf
|
Converted ValidationException into a problem details exception
|
2019-11-24 23:45:40 +01:00 |
|
Alejandro Celaya
|
c1eee2246b
|
Converted NonUniqueSlugException into a problem details exception
|
2019-11-24 23:32:37 +01:00 |
|
Alejandro Celaya
|
0d7d53ab5b
|
Converted InvalidUrlException into a problem details exception
|
2019-11-24 23:24:53 +01:00 |
|
Alejandro Celaya
|
2f1de4a162
|
Renamed InvalidShortCodeException to ShortCodeNotFoundException
|
2019-11-24 23:15:55 +01:00 |
|
Alejandro Celaya
|
cdd36b6712
|
Created BackwardsCompatibleProblemDetailsMiddlewareTest
|
2019-11-24 13:24:52 +01:00 |
|
Alejandro Celaya
|
6f0afe269d
|
Moved InvalidShortCode exception handling to problem details
|
2019-11-24 12:41:12 +01:00 |
|
Alejandro Celaya
|
09321eaa93
|
Updated InvalidShortCodeException to implement ProblemDetails
|
2019-11-23 13:41:07 +01:00 |
|
Alejandro Celaya
|
850259290a
|
Covered new use case on NotFoundRedirectHandlerTest
|
2019-11-23 10:28:58 +01:00 |
|
Alejandro Celaya
|
1bafe54a75
|
Split NotFoundHandler into two different middlewares
|
2019-11-23 10:25:12 +01:00 |
|
Alejandro Celaya
|
89e373f775
|
Moved NotFoundHandler to ErrorHandler namespace
|
2019-11-23 10:11:34 +01:00 |
|
Alejandro Celaya
|
74854b3dac
|
Added zend problem details to the project
|
2019-11-22 19:49:14 +01:00 |
|
Alejandro Celaya
|
a0510d6a69
|
Removed content-based-error-handler in preparation for the problem details module
|
2019-11-22 18:01:38 +01:00 |
|
Alejandro Celaya
|
6ddb60d047
|
Improved ValidationException to avoid polluting the message with invalid data but keeping it on the string representation
|
2019-11-21 20:07:57 +01:00 |
|
Alejandro Celaya
|
b3b67b051d
|
Created API tests for errors when updating tags
|
2019-11-21 19:03:34 +01:00 |
|
Alejandro Celaya
|
8607d58e18
|
Created API tests for errors when editting short URL tags
|
2019-11-21 18:49:55 +01:00 |
|
Alejandro Celaya
|
34e60ec5b8
|
Created API tests for errors when getting short URL visits
|
2019-11-20 20:58:16 +01:00 |
|
Alejandro Celaya
|
d044e1a5b7
|
Created API tests for errors when resolving short URLs
|
2019-11-20 20:44:03 +01:00 |
|
Alejandro Celaya
|
9096318968
|
Created API tests for errors when deleting short URLs
|
2019-11-20 20:38:19 +01:00 |
|
Alejandro Celaya
|
ba6e8c4092
|
Created API tests for errors when editing a short URL
|
2019-11-20 20:31:18 +01:00 |
|
Alejandro Celaya
|
98b6dba05d
|
Removed generic error handling from action that will usually be handled by ErrorHandler middleware
|
2019-11-20 20:21:02 +01:00 |
|
Alejandro Celaya
|
84c4631124
|
Deleted specific factory by replacing it by ConfigAbstractFactory
|
2019-11-20 20:18:21 +01:00 |
|
Alejandro Celaya
|
af0ed6135e
|
Updated to latest doctrine versions, solving deprecations
|
2019-11-20 20:03:06 +01:00 |
|
Alejandro Celaya
|
d030fd1aa6
|
Updated GeolocationDbUpdater to always use a local lock even if redis config is provided
|
2019-11-17 11:09:37 +01:00 |
|
Alejandro Celaya
|
c34d5a35e2
|
Updated database commands so that internal commands are run with mustRun
|
2019-11-17 09:52:45 +01:00 |
|
Alejandro Celaya
|
45ac2c3c51
|
Replaced third party domains used in tests by custom shlink domains
|
2019-11-16 13:37:53 +01:00 |
|
Alejandro Celaya
|
6b8fc3228e
|
Handled IDN domains also on internal redirections when validating a URL
|
2019-11-16 12:38:45 +01:00 |
|
Alejandro Celaya
|
19c1b29f59
|
Added tests for UrlValidator
|
2019-11-16 10:19:25 +01:00 |
|
Alejandro Celaya
|
264b8c2a9e
|
Added support for IDN
|
2019-11-16 10:06:55 +01:00 |
|
Alejandro Celaya
|
705dc2ec39
|
Added forward of query string from short URLs to long one
|
2019-11-13 21:04:44 +01:00 |
|
Alejandro Celaya
|
3b9221c7d2
|
Ensured options for short.url:list command have required values
|
2019-11-13 20:24:59 +01:00 |
|
Alejandro Celaya
|
d4005da35c
|
Added workers nums handling to simplified config parser
|
2019-11-10 12:04:14 +01:00 |
|
Alejandro Celaya
|
9abaa243e0
|
Some extra minor improvements
|
2019-11-02 19:08:07 +01:00 |
|