Alejandro Celaya
|
6b409b06cc
|
Simplified TagRepository test for tags info list, making it more predictable
|
2022-01-21 22:04:53 +01:00 |
|
Alejandro Celaya
|
361e864415
|
Added fallback ordering to tags list
|
2022-01-21 20:12:16 +01:00 |
|
Alejandro Celaya
|
afca66d655
|
Added tests covering tags info with counted ordering and limit
|
2022-01-21 19:58:56 +01:00 |
|
Alejandro Celaya
|
33a6c9fda7
|
Added support to order tags with stats by short URLs or visits count. In a non-performant way
|
2022-01-21 19:52:25 +01:00 |
|
Alejandro Celaya
|
a198484ab6
|
Updated test utils lib
|
2022-01-21 19:21:30 +01:00 |
|
Alejandro Celaya
|
7202605fc8
|
Created EnvVarsTest
|
2022-01-20 20:40:34 +01:00 |
|
Alejandro Celaya
|
747dac531d
|
Added a more strict way to handle valid and expected env vars
|
2022-01-20 20:16:37 +01:00 |
|
Alejandro Celaya
|
d0546a2ea2
|
Split spec to join ApiKey spec with short URLs, into inlined and regular versions
|
2022-01-18 20:14:24 +01:00 |
|
Alejandro Celaya
|
9e9621e7b2
|
Standardized how inlined or regular specs are applied to query builders
|
2022-01-18 20:06:32 +01:00 |
|
Alejandro Celaya
|
d39f3b4265
|
Enhanced TagRepositoryTest and replaced inlined quoting by doctrine connection quoting
|
2022-01-18 19:50:48 +01:00 |
|
Alejandro Celaya
|
dc430bae10
|
Refactored method in ShortUrlsRepository
|
2022-01-17 20:21:35 +01:00 |
|
Alejandro Celaya
|
661b07e12f
|
Refactored ShortUrlRepository to wrap args into DTOs
|
2022-01-17 20:10:41 +01:00 |
|
Alejandro Celaya
|
492eba3a8b
|
Fixed duplicated slashes generated in path when doing not-found redirects with placeholders
|
2022-01-16 15:54:22 +01:00 |
|
Alejandro Celaya
|
77fee1390f
|
Renamed class to a more appropriate name
|
2022-01-16 15:41:20 +01:00 |
|
Alejandro Celaya
|
bfb54189b8
|
Moved some config to the proper namespace, now that config is no longer part of the public contract
|
2022-01-16 15:34:13 +01:00 |
|
Alejandro Celaya
|
7c1f705e64
|
Created NonOrphanVisitsPaginatorAdapter test
|
2022-01-16 12:29:36 +01:00 |
|
Alejandro Celaya
|
fe1fa7689a
|
Created endpoint to list non-orphan visits
|
2022-01-16 12:24:02 +01:00 |
|
Alejandro Celaya
|
4a3e04ced9
|
Added tests covering count non orphan visits with different combinations of filters
|
2022-01-16 11:44:12 +01:00 |
|
Alejandro Celaya
|
61618250ec
|
Renamed countVisits to countNonOrphanVisits, and updated its signature to expect a VisitsCountFiltering DTO
|
2022-01-16 11:15:39 +01:00 |
|
Alejandro Celaya
|
60c0ca3ae5
|
Changed VisitsCountFiltering and VisitsListFiltering so that they encapsulate an ApiKey instead of a Spec
|
2022-01-16 10:56:37 +01:00 |
|
Alejandro Celaya
|
3436405c55
|
Merge branch 'develop' into feature/all-visits-endpoint
|
2022-01-16 10:23:22 +01:00 |
|
Alejandro Celaya
|
91192a8a8f
|
Updated to latest shlink-installer and shlink-config, ensuring env vars are properly loaded
|
2022-01-15 16:06:24 +01:00 |
|
Alejandro Celaya
|
c6f16b0558
|
Updated to latest installer with support for env vars
|
2022-01-15 11:34:17 +01:00 |
|
Alejandro Celaya
|
976b07cd61
|
Updated to doctrine 2.11
|
2022-01-12 20:48:42 +01:00 |
|
Alejandro Celaya
|
f0fd947046
|
Moved existing paginator adapters that are related with visits to the Visits namespace
|
2022-01-10 22:16:33 +01:00 |
|
Alejandro Celaya
|
7f4ada9c4b
|
Created method in VisitRepository to fetch all non-orphan visits
|
2022-01-10 21:43:32 +01:00 |
|
Alejandro Celaya
|
db4ef328b1
|
Renamed some visits paginator adapters for consistency
|
2022-01-10 20:26:33 +01:00 |
|
Alejandro Celaya
|
2ed475fc76
|
Ensure database fields are created with proper charset and collation in MySQL
|
2022-01-10 14:37:44 +01:00 |
|
Alejandro Celaya
|
34512da2fb
|
Fixed indentation
|
2022-01-10 13:21:12 +01:00 |
|
Alejandro Celaya
|
ce47d8c591
|
Added full support for emojis
|
2022-01-10 13:04:16 +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
|
3b359cfc4f
|
Reduced amount of duplicated code in API tests
|
2022-01-09 17:47:19 +01:00 |
|
Alejandro Celaya
|
a6b1647f27
|
Created TagStatsActionTest
|
2022-01-09 17:37:00 +01:00 |
|
Alejandro Celaya
|
d5851bbb6a
|
Created TagsStats endpoint
|
2022-01-09 17:24:07 +01:00 |
|
Alejandro Celaya
|
95d8d3ef72
|
Added ordering by name support for tags list with stats
|
2022-01-09 13:38:59 +01:00 |
|
Alejandro Celaya
|
1b51a1aedd
|
Added ordering support for tags list when not requesting stats
|
2022-01-09 13:31:08 +01:00 |
|
Alejandro Celaya
|
ff75b3cd1f
|
Enhanced test covering list short URLs with invalid params
|
2022-01-09 11:28:32 +01:00 |
|
Alejandro Celaya
|
2abcaf02e2
|
Standardized ordering field handling and added validation for short URLs list
|
2022-01-09 11:23:27 +01:00 |
|
Alejandro Celaya
|
d0c9f5a776
|
Fixed merge conflicts
|
2022-01-08 17:40:49 +01:00 |
|
Alejandro Celaya
|
2d861b4077
|
Improved performance when loading paginated tags, by using an ugly compound of native queries and DQL
|
2022-01-08 17:25:09 +01:00 |
|
Alejandro Celaya
|
38bea6c086
|
Added edge case tests for SHortUrlMetaTest on title field
|
2022-01-07 14:07:07 +01:00 |
|
Alejandro Celaya
|
562763199a
|
Ensured URL titles are trimmed to avoid error when persisted in database
|
2022-01-07 13:13:45 +01:00 |
|
Alejandro Celaya
|
107c09604a
|
Fixed performance issues on list tags endpoint when requesting it with stats
|
2022-01-06 19:01:00 +01:00 |
|
Alejandro Celaya
|
2b0567b368
|
Fixed typo
|
2022-01-06 18:35:50 +01:00 |
|
Alejandro Celaya
|
d00a56bec0
|
Fixed query to count tags when a search term is present
|
2022-01-06 12:22:05 +01:00 |
|
Alejandro Celaya
|
b3863a3e10
|
Improved TagServiceTest, covering tagsInfo method with params
|
2022-01-06 11:36:08 +01:00 |
|
Alejandro Celaya
|
5559107776
|
Changed namespace for database tests to ShlinkioDbTest
|
2022-01-06 11:01:21 +01:00 |
|
Alejandro Celaya
|
af1cf806f0
|
Created tag paginator adapter tests
|
2022-01-06 10:55:57 +01:00 |
|
Alejandro Celaya
|
0cf33c6119
|
Added DB test for TagsPaginator
|
2022-01-06 10:35:01 +01:00 |
|
Alejandro Celaya
|
b38b8a3365
|
Extended TagRepositoryTest, covering filterings on tags
|
2022-01-06 10:13:37 +01:00 |
|
Alejandro Celaya
|
e998c8434d
|
Extracted tags filtering params to a DTO
|
2022-01-06 09:50:43 +01:00 |
|
Alejandro Celaya
|
4b90cf93d3
|
Created DB-level paginator for tags with stats
|
2022-01-05 23:44:14 +01:00 |
|
Alejandro Celaya
|
3dd4e33758
|
Created DB-level paginator for tags without stats
|
2022-01-05 23:30:35 +01:00 |
|
Alejandro Celaya
|
11a383b7e5
|
Extracted common logic from TagService to a private method
|
2022-01-05 19:25:50 +01:00 |
|
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 |
|
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 |
|