Alejandro Celaya
|
25b1138000
|
Fix merge conflicts
|
2023-09-23 09:06:38 +02:00 |
|
Alejandro Celaya
|
3d9b48c5fd
|
Create InitialApiKeyCommand cli test
|
2023-09-23 08:28:57 +02:00 |
|
Alejandro Celaya
|
ba4a66f772
|
Add InitialApiKeyCommand unit test
|
2023-09-23 08:16:22 +02:00 |
|
Alejandro Celaya
|
ec839183e8
|
Add unit test for ApiKeyService::createInitial
|
2023-09-23 08:01:10 +02:00 |
|
Alejandro Celaya
|
637d8334f4
|
New CLI command to create the initial API key idempotently
|
2023-09-21 09:47:21 +02:00 |
|
Alejandro Celaya
|
6db46b50e9
|
Roll back change to allow creating API keys with custom value
|
2023-09-21 08:58:05 +02:00 |
|
Alejandro Celaya
|
f6b1cc7556
|
Test API key creation with custom key
|
2023-09-19 10:14:04 +02:00 |
|
Alejandro Celaya
|
65a0a90a51
|
Allow custom API keys to be created
|
2023-09-19 09:10:17 +02:00 |
|
Alejandro Celaya
|
b17c576a30
|
Fix incorrect timeout in init commands
|
2023-09-11 09:07:18 +02:00 |
|
Alejandro Celaya
|
b747b8448e
|
Update dependencies
|
2023-08-19 12:03:29 +02:00 |
|
Alejandro Celaya
|
965325aa7c
|
Replace traits with static classes in CLI unit tests
|
2023-06-18 10:51:59 +02:00 |
|
Alejandro Celaya
|
bdf2bbd0f1
|
Replace traits with external data providers in Core unit tests
|
2023-06-18 10:41:24 +02:00 |
|
Alejandro Celaya
|
dc4aab2cab
|
Replace traits with external data providers in API tests
|
2023-06-18 10:36:45 +02:00 |
|
Alejandro Celaya
|
cdf5082cff
|
Fix incorrect timeout in init commands
|
2023-06-15 18:53:42 +02:00 |
|
Alejandro Celaya
|
f63b96fd05
|
Fix merge conflicts
|
2023-06-14 18:25:09 +02:00 |
|
Alejandro Celaya
|
a21dcb852a
|
Fix Shlink trying to create SQLite database tables even if they already exist
|
2023-06-14 18:08:39 +02:00 |
|
Alejandro Celaya
|
8e3508f28d
|
Use MercureOptions instead of raw config, where possible
|
2023-06-06 20:25:14 +02:00 |
|
Alejandro Celaya
|
72381f9844
|
Change order to create initial database to avoid permission errors
|
2023-06-04 08:54:08 +02:00 |
|
Alejandro Celaya
|
bd3745118e
|
Add logic to prevent roadrunner/openswoole jobs for tasks that will do nothing
|
2023-06-03 17:56:52 +02:00 |
|
Alejandro Celaya
|
4013ae87dd
|
Change order to create initial database to avoid permission errors
|
2023-06-01 19:27:04 +02:00 |
|
Alejandro Celaya
|
8c94452348
|
Fix CLI tests
|
2023-05-31 09:33:05 +02:00 |
|
Alejandro Celaya
|
be26dd58c3
|
Add API tests to cover usage of orphan visits restricted keys
|
2023-05-31 09:22:40 +02:00 |
|
Alejandro Celaya
|
eaba5edf7f
|
Restrict interaction with orphan visits when API key has that role
|
2023-05-31 09:11:20 +02:00 |
|
Alejandro Celaya
|
12da04ef37
|
Add ApiKey check to tell if it has any role that is short-url restrictive
|
2023-05-30 09:32:44 +02:00 |
|
Alejandro Celaya
|
8b03532ddb
|
Add ORPHAN_VISITS_EXCLUDED API key role
|
2023-05-30 09:15:35 +02:00 |
|
Alejandro Celaya
|
ee6a8ede0a
|
Drop support for PHP 8.1
|
2023-05-29 09:43:12 +02:00 |
|
Alejandro Celaya
|
e85d59c5a4
|
Add locks when creating short URL dependencies, to avoid race condition
|
2023-05-21 18:08:17 +02:00 |
|
Alejandro Celaya
|
618784dc3b
|
Create command to delete all orphan visits
|
2023-05-18 09:35:42 +02:00 |
|
Alejandro Celaya
|
9d64d4ed1d
|
Create abstract base class for commands deleting visits
|
2023-05-18 09:33:15 +02:00 |
|
Alejandro Celaya
|
7f02243c6c
|
Rename short-url:delete-visits to short-url:visits-delete for consistency with other commands
|
2023-05-18 09:19:01 +02:00 |
|
Alejandro Celaya
|
3916c68126
|
Add DeleteOrphanVisitsTest API test
|
2023-05-18 09:09:44 +02:00 |
|
Alejandro Celaya
|
bdfb220126
|
Create REST action to delete orphan visits
|
2023-05-18 09:04:28 +02:00 |
|
Alejandro Celaya
|
abcf2f86be
|
Create service to delete orphan visits
|
2023-05-18 09:01:57 +02:00 |
|
Alejandro Celaya
|
a4d8ebdfc9
|
Create DB logic to delete orphan visits
|
2023-05-18 08:58:07 +02:00 |
|
Alejandro Celaya
|
39095a3098
|
Fix coding styles
|
2023-05-17 08:57:36 +02:00 |
|
Alejandro Celaya
|
c7043af853
|
Create DeleteShortUrlVisitsCommandTest
|
2023-05-16 09:26:29 +02:00 |
|
Alejandro Celaya
|
02a8ef7dd9
|
Create DeleteShortUrlVisitsCommand
|
2023-05-15 09:48:24 +02:00 |
|
Alejandro Celaya
|
6bb8c1b2f5
|
Rename CLI Option namespace to Input
|
2023-05-15 09:02:23 +02:00 |
|
Alejandro Celaya
|
0365728337
|
Create DeleteShortUrlVisitsTest
|
2023-05-14 13:35:15 +02:00 |
|
Alejandro Celaya
|
b8143a5bb4
|
Create VisitDeleterRepositoryTest
|
2023-05-14 13:04:45 +02:00 |
|
Alejandro Celaya
|
531a19dde9
|
Refactor short URL visits deletion layers
|
2023-05-14 13:04:17 +02:00 |
|
Alejandro Celaya
|
69ff7de481
|
Create ShortUrlVisitsDeleterTest
|
2023-05-14 12:32:54 +02:00 |
|
Alejandro Celaya
|
ffc0555c7c
|
Create DeleteShortUrlVisitsActionTest
|
2023-05-14 12:15:35 +02:00 |
|
Alejandro Celaya
|
84a7981dfa
|
Create REST action to delete short URL visits
|
2023-05-14 12:00:08 +02:00 |
|
Alejandro Celaya
|
74069f2d24
|
Skip API tests fetching Twitter during CI
|
2023-05-02 19:51:37 +02:00 |
|
Alejandro Celaya
|
b4b00a57c1
|
Update chrome user agent used for anti-bots
|
2023-05-02 19:40:23 +02:00 |
|
Alejandro Celaya
|
d06e92ffc2
|
Created CLI test for short URL importing
|
2023-04-23 13:26:59 +02:00 |
|
Alejandro Celaya
|
1b83344995
|
Create CLI test checking default domain is ignored even if explicitly provided
|
2023-04-23 11:20:54 +02:00 |
|
Alejandro Celaya
|
cf49393ef2
|
Add --show-domain flag to list short URLs command
|
2023-04-23 11:19:05 +02:00 |
|
Alejandro Celaya
|
c582eba753
|
Make sure short URL domain is resolved as null when default one is provided
|
2023-04-22 19:44:04 +02:00 |
|
Alejandro Celaya
|
4ee9c9bbe3
|
Migrate to shlinkio/shlink-json
|
2023-04-18 23:04:58 +02:00 |
|
Alejandro Celaya
|
ef075fb0ce
|
Fix test when CLI output viewport is too narrow
|
2023-04-12 18:36:28 +02:00 |
|
Alejandro Celaya
|
399c56a097
|
Print warning when trying to create short URL from CLI on openswoole in verbose mode
|
2023-04-12 18:30:02 +02:00 |
|
Alejandro Celaya
|
f078d95588
|
Capture error on real-time update when creating short URL
|
2023-04-12 09:25:01 +02:00 |
|
Alejandro Celaya
|
ae8d31e83f
|
Add test case for deeplink long URLs
|
2023-04-11 17:24:38 +02:00 |
|
Alejandro Celaya
|
72c4052012
|
Be less restrictive when validating long URLs
|
2023-04-10 18:05:57 +02:00 |
|
Alejandro Celaya
|
26f4a969c9
|
Fix memory leak when importing big amounts of visits
|
2023-03-31 09:46:05 +02:00 |
|
Alejandro Celaya
|
71807e698c
|
Update changelog
|
2023-03-25 11:23:01 +01:00 |
|
Alejandro Celaya
|
1d155298c1
|
Fix API tests
|
2023-03-25 11:23:01 +01:00 |
|
Alejandro Celaya
|
4dfc5ae681
|
Fix DB tests
|
2023-03-25 11:23:01 +01:00 |
|
Alejandro Celaya
|
26f237069c
|
Fixed unit tests
|
2023-03-25 11:23:01 +01:00 |
|
Alejandro Celaya
|
b6e1c65c4c
|
Enforce a schema to be provided when short URLs are created
|
2023-03-25 11:23:00 +01:00 |
|
Alejandro Celaya
|
01bcedef7a
|
Simplify how ordering field is resolved in tags list
|
2023-03-04 11:54:30 +01:00 |
|
Alejandro Celaya
|
e51384fcc0
|
Reduce duplicated logic when checking if an API key is admin
|
2023-03-04 10:22:46 +01:00 |
|
Alejandro Celaya
|
1afe08caed
|
Simplify how limits are applied to tags query
|
2023-03-04 09:50:38 +01:00 |
|
Alejandro Celaya
|
7289833928
|
Move join on short URLs to tags sub-query
|
2023-03-03 12:10:41 +01:00 |
|
Alejandro Celaya
|
f4d10df0f3
|
Delete no longer used spec file
|
2023-02-27 09:28:27 +01:00 |
|
Alejandro Celaya
|
652b0df054
|
Use native query builders for all queries/sub-queries in tags list
|
2023-02-27 09:21:11 +01:00 |
|
Alejandro Celaya
|
85c32c3c9a
|
Fix CreateDatabaseCommandTest
|
2023-02-15 18:55:25 +01:00 |
|
Alejandro Celaya
|
40838255a7
|
Make sure database detection is not affected by the existence of foreign tables
|
2023-02-15 08:52:17 +01:00 |
|
Alejandro Celaya
|
3c12a55872
|
Merge branch 'develop' into feature/phpunit-10
|
2023-02-13 11:54:49 +01:00 |
|
Alejandro Celaya
|
e48d0f4f0c
|
Upgrade deps for MSSQL tests
|
2023-02-12 19:08:20 +01:00 |
|
Alejandro Celaya
|
49b6063501
|
Fix ordering on Postgres
|
2023-02-12 13:35:05 +01:00 |
|
Alejandro Celaya
|
76a86c452e
|
Optimize tags list query performance by using more subqueries
|
2023-02-12 13:09:24 +01:00 |
|
Alejandro Celaya
|
41aec15fab
|
Migrate new test to PHPUnit 10
|
2023-02-10 20:45:09 +01:00 |
|
Alejandro Celaya
|
245cb0e35d
|
Fixed merge conflicts
|
2023-02-10 20:44:05 +01:00 |
|
Alejandro Celaya
|
70c1c9f018
|
Fix dependency injected in CrawlingHelper
|
2023-02-10 20:26:18 +01:00 |
|
Alejandro Celaya
|
04bbd471ff
|
Migrate from PHPUnit annotations to native attributes
|
2023-02-09 20:42:18 +01:00 |
|
Alejandro Celaya
|
650a286982
|
Update to PHPUnit 10
|
2023-02-09 09:32:38 +01:00 |
|
Alejandro Celaya
|
a52d0cd419
|
Ensure short_code column is case sensitive in Microsoft SQL server
|
2023-01-30 10:49:47 +01:00 |
|
Alejandro Celaya
|
8afa582aa5
|
Create ShortUrlModeTest
|
2023-01-29 11:32:13 +01:00 |
|
Alejandro Celaya
|
d847c7648e
|
Rename loosely mode to loose mode
|
2023-01-29 10:30:34 +01:00 |
|
Alejandro Celaya
|
621f18bf40
|
Recover DB test only for platforms in which it passes
|
2023-01-28 10:20:57 +01:00 |
|
Alejandro Celaya
|
99c1a59dd4
|
Refactor CustomSlugFilter for simplicity
|
2023-01-28 10:16:53 +01:00 |
|
Alejandro Celaya
|
fdaf5fb2f3
|
Add support for short URL mode in installer, and handle loosely mode in custom slugs
|
2023-01-28 10:06:11 +01:00 |
|
Alejandro Celaya
|
2f83e90c8b
|
Add option to do loosely matches on short URLs when mode is loosely
|
2023-01-26 20:45:36 +01:00 |
|
Alejandro Celaya
|
05acd4ae88
|
Add two modes for short URLs
|
2023-01-25 20:33:07 +01:00 |
|
Alejandro Celaya
|
4ee0032c2a
|
Deprecated validateUrl option on short URL creation/edition
|
2023-01-23 20:30:12 +01:00 |
|
Alejandro Celaya
|
b0b9902f40
|
Add unit test to cover device URLs edition, and fix bug thanks to it
|
2023-01-22 12:18:36 +01:00 |
|
Alejandro Celaya
|
5aa8de11f4
|
Update version on user agent used to validate URLsç
|
2023-01-22 12:00:16 +01:00 |
|
Alejandro Celaya
|
b18c9e495f
|
Add API test for short URL edition with device long URLs
|
2023-01-22 11:47:45 +01:00 |
|
Alejandro Celaya
|
d3590234a3
|
Add API test for short URL creation with device long URLs
|
2023-01-22 11:36:00 +01:00 |
|
Alejandro Celaya
|
39adef8ab8
|
Make it impossible to create a short URL with an empty long URL
|
2023-01-22 11:27:16 +01:00 |
|
Alejandro Celaya
|
13e443880a
|
Allow device long URLs to be removed from short URLs by providing null value
|
2023-01-22 11:03:05 +01:00 |
|
Alejandro Celaya
|
48bd97fe41
|
Return deviceLongUrls as part of the short URL data and document API changes
|
2023-01-21 12:05:54 +01:00 |
|
Alejandro Celaya
|
b1b67c497e
|
Add logic to dynamically resolve the long URL to redirect to based on requesting device
|
2023-01-21 11:15:42 +01:00 |
|
Alejandro Celaya
|
237fb95b4b
|
Update ShortUrlRedirectionBuilder to accept a request object instead of a raw query array
|
2023-01-21 10:37:12 +01:00 |
|
Alejandro Celaya
|
c1b7c6ba6c
|
Updated to shlink-common with support for proxies for entities with public readonly props
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
d8add9291f
|
Removed public readonly prop from entity, as it can cause errors when a proxy is generated
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
a93edf158e
|
Added logic to persist device long URLs while creating/editing a short URL
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
fdadf3ba07
|
Created unit test for DeviceLongUrlsValidator
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
3e26f1113d
|
Extract device long URL validation to its own validation class
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
822652cac3
|
Allow providing device long URLs during short URL edition
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
1447687ebe
|
Add deviceLongUrls to short URL creation
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
12150f775d
|
Created persistence for device long URLs
|
2023-01-21 10:12:52 +01:00 |
|
Alejandro Celaya
|
80e3f01562
|
Replace references to doma.in with s.test
|
2023-01-19 09:05:52 +01:00 |
|
Alejandro Celaya
|
21863e8de6
|
Add support to load openswoole-specific config via env vars
|
2023-01-12 19:39:26 +01:00 |
|
Alejandro Celaya
|
edaf999bf5
|
Fixed constant assignment on enum which is not valid for PHP 8.1
|
2023-01-07 17:09:53 +01:00 |
|
Alejandro Celaya
|
0c1b36d0d4
|
Added config post-processor which sets proper allowed methods based on redirect status codes
|
2023-01-07 13:51:35 +01:00 |
|
Alejandro Celaya
|
a06957e9fa
|
Moved config post-processors to their own sub-namespace
|
2023-01-07 13:04:46 +01:00 |
|
Alejandro Celaya
|
390bc59d99
|
Added support for redirect status code 307 and 308
|
2023-01-07 11:27:15 +01:00 |
|
Alejandro Celaya
|
46b4a21617
|
Fixed missing null check
|
2023-01-02 20:17:29 +01:00 |
|
Alejandro Celaya
|
ce9ec0d738
|
Fixed ordering in tags supporting more fields
|
2023-01-02 19:49:54 +01:00 |
|
Alejandro Celaya
|
961178fd82
|
Added amount of bots, non-bots and total visits to the list of tags with stats
|
2023-01-02 19:28:32 +01:00 |
|
Alejandro Celaya
|
92c80e7833
|
Removed superfluous exception code by using named args
|
2023-01-02 13:47:16 +01:00 |
|
Alejandro Celaya
|
112cbb9039
|
Added API test for malformed request JSON body
|
2023-01-02 13:38:04 +01:00 |
|
Alejandro Celaya
|
812c5f4993
|
Added new handled error for when request body is not valid JSON
|
2023-01-02 13:33:24 +01:00 |
|
Alejandro Celaya
|
e0a9f8120c
|
Fixed unintended change in phpdoc
|
2023-01-02 12:48:23 +01:00 |
|
Alejandro Celaya
|
8ecc241a4b
|
Added API test for the visits stats endpoint
|
2023-01-02 12:45:08 +01:00 |
|
Alejandro Celaya
|
37c8328eed
|
Added split info about bots, non-bots and total visits to the visits stats
|
2023-01-02 12:28:34 +01:00 |
|
Alejandro Celaya
|
c7a2f499e0
|
Added support to order short URLs list by amount of non-bot visits
|
2022-12-16 19:42:46 +01:00 |
|
Alejandro Celaya
|
713f7e7bc9
|
Added missing dock block
|
2022-12-16 18:18:09 +01:00 |
|
Alejandro Celaya
|
1f66ec2af5
|
Fixed API tests
|
2022-12-16 10:53:44 +01:00 |
|
Alejandro Celaya
|
936e5b3b86
|
Fixed PublishingUpdatesGeneratorTest
|
2022-12-16 10:36:09 +01:00 |
|
Alejandro Celaya
|
99f28b569b
|
Created method to get non-bot visits count for a short URL
|
2022-12-16 10:06:39 +01:00 |
|
Alejandro Celaya
|
60ef98b836
|
Extracted method to find crawlable short codes to its own query object
|
2022-12-14 14:38:22 +01:00 |
|
Alejandro Celaya
|
73c8b53882
|
Split some logic from VisitRepository into its own injectable repository
|
2022-12-14 12:28:23 +01:00 |
|
Alejandro Celaya
|
92a83b82a0
|
Split short URL listing capabilities on its own repo and service
|
2022-12-13 19:37:02 +01:00 |
|
Alejandro Celaya
|
229dc93132
|
Fixed typo
|
2022-12-11 18:36:46 +01:00 |
|
Alejandro Celaya
|
0952c488be
|
Added exclusion flags to ListShortUrlsCommand
|
2022-12-11 18:33:40 +01:00 |
|
Alejandro Celaya
|
c4f28b3a32
|
Renamed ShortUrl::fromMeta to ShortUrl::create
|
2022-12-11 18:24:47 +01:00 |
|
Alejandro Celaya
|
201f25e0ad
|
Improved API tests to cover exlucding disabled URLs from lists
|
2022-12-11 13:38:11 +01:00 |
|
Alejandro Celaya
|
0c3523c34a
|
Fixed E2E test suites
|
2022-12-11 13:22:16 +01:00 |
|
Alejandro Celaya
|
0d7a0ee9ea
|
Fixed more coding styles
|
2022-12-11 13:11:43 +01:00 |
|
Alejandro Celaya
|
931bdb0cd7
|
Fixed coding styles
|
2022-12-11 13:03:19 +01:00 |
|
Alejandro Celaya
|
8807a78463
|
Improved performance when filtering out shortUrls which reached their limit by using a sub-query
|
2022-12-11 13:00:06 +01:00 |
|
Alejandro Celaya
|
d832133410
|
Enhanced db tests for expired short urls filtering
|
2022-12-11 12:33:17 +01:00 |
|
Alejandro Celaya
|
cdde59b543
|
Added db test for filtering of disabled short URLs
|
2022-12-11 11:41:37 +01:00 |
|
Alejandro Celaya
|
463dfe9729
|
Added support to filter out expired short URLs from list
|
2022-12-11 10:26:04 +01:00 |
|
Alejandro Celaya
|
805c8c87ba
|
Fixed nasty typo
|
2022-12-10 19:59:30 +01:00 |
|
Alejandro Celaya
|
c3ab871366
|
Exposed new short URLs list filtering params
|
2022-12-10 19:59:30 +01:00 |
|
Alejandro Celaya
|
42a5296f93
|
Added new params to short URLs list to filter out 'disabled' short ones
|
2022-12-10 19:59:30 +01:00 |
|
Alejandro Celaya
|
2047d6b772
|
Merge pull request #1621 from acelaya-forks/feature/default-domain-search
Feature/default domain search
|
2022-12-08 20:43:42 +01:00 |
|
Alejandro Celaya
|
6bce219eb3
|
Added test to cover searching short URLs by default domain
|
2022-12-08 20:32:48 +01:00 |
|
Alejandro Celaya
|
dfcac525bc
|
Enabled search by default domain
|
2022-12-08 20:22:50 +01:00 |
|
Alejandro Celaya
|
f41d947cf7
|
Ensured empty string is ignored as the domain during short URL creation
|
2022-12-07 19:06:05 +01:00 |
|
Alejandro Celaya
|
05d55c4000
|
Added one more case to cover import orphan visits when visits already exist
|
2022-12-05 14:48:24 +01:00 |
|
Alejandro Celaya
|
739f5eb421
|
Added test for orphan visits import
|
2022-12-05 14:42:26 +01:00 |
|
Alejandro Celaya
|
0aab1bdc4e
|
Added test for findMostRecentOrphanVisit
|
2022-12-04 20:42:28 +01:00 |
|
Alejandro Celaya
|
55c9773a02
|
Added logic to import orphan visits
|
2022-12-04 20:35:38 +01:00 |
|