Alejandro Celaya
|
905f51fbd0
|
Added logic to properly map all existing errors from v3 to v2 in the API
|
2022-08-13 17:15:04 +02:00 |
|
Alejandro Celaya
|
cd4fe4362b
|
Created middleware to keep backwards compatibility on errors when using v1 and 2 of the API
|
2022-08-13 16:50:19 +02:00 |
|
Alejandro Celaya
|
16bd368a58
|
Centralized how routes are configured to support multi-segment slugs
|
2022-08-06 09:30:13 +02:00 |
|
Alejandro Celaya
|
fc0d99be41
|
Ensure filtering of custom-slug is different depending on the multi-sement lugsfeature flag
|
2022-08-05 08:38:05 +02:00 |
|
Alejandro Celaya
|
619999d4f8
|
Added feature flag to enable/disable multi-segment support
|
2022-08-04 11:49:33 +02:00 |
|
Alejandro Celaya
|
7acf27dd38
|
Replaced usage of deprecated methods in DateRange class
|
2022-08-04 11:27:33 +02:00 |
|
Alejandro Celaya
|
ba517eeeb5
|
Moved routes config together, and ensure they are loaded last
|
2022-08-04 11:14:26 +02:00 |
|
Alejandro Celaya
|
e8f7daac6f
|
Converted Role constants to enum
|
2022-04-23 18:41:16 +02:00 |
|
Alejandro Celaya
|
bca3e62ced
|
Updated to readonly public props on as many models as possible
|
2022-04-23 14:00:47 +02:00 |
|
Alejandro Celaya
|
af15e31b42
|
Created DomainVisitsActionTest
|
2022-04-23 11:07:10 +02:00 |
|
Alejandro Celaya
|
5a25211371
|
Created NotConfiguredMercureErrorHandlerTest
|
2022-02-20 10:50:21 +01:00 |
|
Alejandro Celaya
|
8adb6596fb
|
Refactored TagInfo to wrap the raw tag name instead of a Tag entity
|
2022-01-23 09:37:02 +01:00 |
|
Alejandro Celaya
|
9e9621e7b2
|
Standardized how inlined or regular specs are applied to query builders
|
2022-01-18 20:06:32 +01:00 |
|
Alejandro Celaya
|
fe1fa7689a
|
Created endpoint to list non-orphan visits
|
2022-01-16 12:24:02 +01:00 |
|
Alejandro Celaya
|
a6b1647f27
|
Created TagStatsActionTest
|
2022-01-09 17:37:00 +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
|
775f58f972
|
Added support for pagination in tags lists
|
2022-01-05 19:12:08 +01:00 |
|
Alejandro Celaya
|
1ff241411b
|
Removed everything that was deprecated
|
2021-12-14 22:21:53 +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
|
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
|
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
|
883ac1007a
|
Updated to provisional hero-common v4.0
|
2021-08-04 18:46:19 +02:00 |
|
Alejandro Celaya
|
9abf611d63
|
Created DomainResirectsAction unit test
|
2021-08-03 18:09:39 +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
|
24a6a0c23f
|
Added test for DomainRedirectCommand
|
2021-07-22 20:48:58 +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
|
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
|
0a5c265b12
|
Extracted ApiKey metadata to the ApiKeyMeta object
|
2021-03-14 09:59:35 +01:00 |
|
KetchupBomb
|
b93b14986e
|
Feature/name api keys
|
2021-03-07 21:30:37 +00:00 |
|
Alejandro Celaya
|
c622804950
|
Fixed unit tests
|
2021-02-26 20:27:41 +01:00 |
|
Alejandro Celaya
|
3f2d38a86a
|
Removed all uses of the 'whitelist' term
|
2021-02-16 15:28:03 +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
|
5278d7668c
|
Added orphan visits count to visits stats endpoint
|
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
|
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
|
cdfd14e63f
|
Deprecated action and endpoint to edit short URL tags
|
2021-01-31 12:24:26 +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
|
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
|
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
|
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
|
da9896a28b
|
Fixed single step shortening endpoint
|
2021-01-21 19:26:19 +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
|
c9ff2b3834
|
Updated services required to initialize API keys with roles
|
2021-01-10 20:05:14 +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
|
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
|
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
|
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
|
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
|
39bda5113b
|
#912 Fixed unit tests
|
2020-11-22 18:11:31 +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
|
27bc8d4823
|
Ensured API key is tracked when creating short URLs from the REST API
|
2020-11-07 10:23:08 +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 |
|
Daniel Londero
|
065d314608
|
Invoke PHPUnit's assertions statically
|
2020-10-04 00:35:14 +02:00 |
|
Alejandro Celaya
|
24aab5cc0e
|
Created unit tests for new Domain-related elements
|
2020-09-27 10:11:41 +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
|
7f39e6d768
|
Created TagVisitsActionTest
|
2020-05-09 10:22:07 +02:00 |
|
Alejandro Celaya
|
91aaffc6db
|
Updated ListTagsActionTest
|
2020-05-08 11:32:06 +02:00 |
|
Alejandro Celaya
|
06c59fe2dd
|
Fixed invalid imports after class refactoring
|
2020-05-08 10:29:24 +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
|
b5947d1642
|
Created more unit tests
|
2020-05-01 11:57:46 +02:00 |
|
Alejandro Celaya
|
5beaab85ac
|
Renamed GetVisitsAction to ShortUrlVisitsAction
|
2020-05-01 11:17:07 +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
|
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
|
31db97228d
|
Created MercureInfoActionTest
|
2020-04-12 14:22:23 +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
|
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
|
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 |
|