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 |
|
Alejandro Celaya
|
906dfe60f8
|
Simplified code to render not-foubnd templates by infering the template to be used inside NotFoundHandler
|
2019-11-02 18:49:24 +01:00 |
|
Alejandro Celaya
|
01f60614ef
|
Removed hardcoded route names for core routes and used action class names instead
|
2019-11-02 18:36:15 +01:00 |
|
Alejandro Celaya
|
eeb5306883
|
Moved all logic to redirect to specific URLs when a 404 is found to the NotFoundHandler
|
2019-11-02 18:33:26 +01:00 |
|
Alejandro Celaya
|
24c3a3e84c
|
Defined new options for new redirect configuration
|
2019-11-02 17:23:21 +01:00 |
|
Alejandro Celaya
|
8b9663aea0
|
Created DeprecatedConfigParserTest
|
2019-11-02 17:04:49 +01:00 |
|
Alejandro Celaya
|
b59f4e2805
|
Defined new configs for not found redirects
|
2019-11-02 11:30:09 +01:00 |
|
Alejandro Celaya
|
39ac2efe26
|
Updated to latest shlink-common with bug fixes
|
2019-11-01 17:16:56 +01:00 |
|
Alejandro Celaya
|
ad906000c7
|
Removed typehint making phpstan throw false positive
|
2019-11-01 10:04:25 +01:00 |
|
Alejandro Celaya
|
5361f33cc1
|
Some more refactorings
|
2019-11-01 09:52:56 +01:00 |
|
Alejandro Celaya
|
1937f3ea22
|
Trying to automatically persist tags
|
2019-10-26 09:01:51 +02:00 |
|
Alejandro Celaya
|
9b767ee9f3
|
Updated to shlink-ip-geolocation v1.1
|
2019-10-25 20:00:26 +02:00 |
|
Alejandro Celaya
|
f784ee5b28
|
Fixed unit tests
|
2019-10-22 19:52:28 +02:00 |
|
Alejandro Celaya
|
cd6f067fe5
|
Ensured domain is taken into account when generating QR codes
|
2019-10-22 19:43:53 +02:00 |
|
Alejandro Celaya
|
b5e4da847a
|
Allowed port number on domain field when creating shotr URLs
|
2019-10-20 10:30:11 +02:00 |
|
Alejandro Celaya
|
b8cdc29d8f
|
Increased long URL size in DB to 2048 characters
|
2019-10-20 09:53:11 +02:00 |
|
Alejandro Celaya
|
0f5e4e7fa2
|
Updated common and qr-code
|
2019-10-15 19:06:37 +02:00 |
|
Alejandro Celaya
|
5bd7b53e0a
|
Added more tests for new logics
|
2019-10-11 11:28:53 +02:00 |
|
Alejandro Celaya
|
9538f474de
|
Added logic to check if a short code is in use and regenerate it otherwise
|
2019-10-11 11:09:33 +02:00 |
|
Alejandro Celaya
|
8f2e78c946
|
Moved logic to generate random short codes to external function
|
2019-10-11 09:35:09 +02:00 |
|
Alejandro Celaya
|
2f09ff456c
|
Updated logic to generate random short codes, increasing entropy
|
2019-10-11 09:14:25 +02:00 |
|
Alejandro Celaya
|
e0d20bf8ff
|
Updated to coding styles v2
|
2019-10-05 17:26:10 +02:00 |
|
Alejandro Celaya
|
636df2a736
|
Read request's authority when tracking a visit and passed it down
|
2019-10-04 21:36:54 +02:00 |
|
Alejandro Celaya
|
baf3093893
|
Added support for domain param to command and action to resolve a short URL
|
2019-10-04 21:17:02 +02:00 |
|
Alejandro Celaya
|
8d3a49a319
|
Fixed issue with postgres when fetching resultset ordering by nullable column
|
2019-10-04 18:07:26 +02:00 |
|
Alejandro Celaya
|
eced1af21d
|
Added more database cases covering different combinations of finding short URL by short code and domain
|
2019-10-04 17:34:34 +02:00 |
|
Alejandro Celaya
|
49c3c9bec1
|
Ensured domain is taken into account when looking for a short URL
|
2019-10-04 17:21:22 +02:00 |
|
Alejandro Celaya
|
2ffaabe594
|
Added option to define domain to GenerateShortUrlCommand
|
2019-10-02 20:29:13 +02:00 |
|
Alejandro Celaya
|
f31dc6c6e5
|
Added missing return type hints
|
2019-10-02 20:15:14 +02:00 |
|
Alejandro Celaya
|
f067d0e831
|
Allowed to provide the domain when creating a short URL
|
2019-10-02 20:13:25 +02:00 |
|
Alejandro Celaya
|
a892f72425
|
Added migration to make the combination of slug+domain unique
|
2019-10-02 20:01:15 +02:00 |
|
Alejandro Celaya
|
25f64a2fc4
|
Added check for domain when matching an existing short URL
|
2019-10-01 22:15:11 +02:00 |
|
Alejandro Celaya
|
fd1fe90731
|
Created tests for new domain resolvers
|
2019-10-01 22:00:46 +02:00 |
|
Alejandro Celaya
|
495643f4f1
|
Ensured domain is taken into account when checking if a slug is in use
|
2019-10-01 21:42:35 +02:00 |
|
Alejandro Celaya
|
8da6b336f5
|
Added API test which checks short URLs with a domain are parsed as such
|
2019-10-01 20:24:11 +02:00 |
|
Alejandro Celaya
|
d0bb86ca8f
|
Added simple way to resolve domains from entity manager when creating a short URL
|
2019-10-01 20:16:27 +02:00 |
|
Alejandro Celaya
|
1085809fa5
|
Moved code to convert a ShortUrl into a full link as string to the entity itself
|
2019-09-30 20:01:36 +02:00 |
|
Alejandro Celaya
|
7b1857dcda
|
Added entities config for domains
|
2019-09-30 19:42:27 +02:00 |
|
Alejandro Celaya
|
8d74e0c3ff
|
Fixed undefined-index errors in BasePathPrefixerTest
|
2019-09-13 20:46:49 +02:00 |
|
Alejandro Celaya
|
bc07d77d06
|
Removed duplicated code from BasePathPrefixer
|
2019-09-13 20:22:41 +02:00 |
|
Alejandro Celaya
|
6e38457655
|
Created BasePathPrefixerTest
|
2019-09-13 20:17:30 +02:00 |
|
Alejandro Celaya
|
d7a3aeb0a2
|
Created a config prost-processor which adds the base path on every applicable configuration
|
2019-09-13 20:03:53 +02:00 |
|
Alejandro Celaya
|
01d62b7aea
|
Removed escape characters no longer needed in templates
|
2019-09-12 19:45:24 +02:00 |
|
Alejandro Celaya
|
7b0ccc9f69
|
Removed references to anything related with translations
|
2019-09-12 08:09:17 +02:00 |
|
Alejandro Celaya
|
56d0383170
|
Increased referer length to 1024 and ensured values are cropped before trying to insert in database
|
2019-08-24 10:25:43 +02:00 |
|
Alejandro Celaya
|
971b7967de
|
Installed EventDispatcher module from external library
|
2019-08-12 20:54:30 +02:00 |
|
Alejandro Celaya
|
b732f1df0d
|
Moved IpGeolocation module to external library
|
2019-08-12 20:00:15 +02:00 |
|
Alejandro Celaya
|
6720d12ab8
|
Removed use of Interop container
|
2019-08-12 18:59:02 +02:00 |
|
Alejandro Celaya
|
d767c415d1
|
Deleted local Common module and used external one
|
2019-08-12 18:34:52 +02:00 |
|
Alejandro Celaya
|
0e535123ae
|
Used TestUtils module from external library
|
2019-08-11 21:22:27 +02:00 |
|
Alejandro Celaya
|
d96023d063
|
Used class from shlink-installer instead of duplicated local version
|
2019-08-11 20:34:55 +02:00 |
|
Alejandro Celaya
|
095f075ca9
|
Moved PreviewGenerationException to PreviewGenerator module
|
2019-08-11 19:47:15 +02:00 |
|
Alejandro Celaya
|
47ea4218d0
|
Created PreviewGenerator module
|
2019-08-11 19:38:46 +02:00 |
|
Alejandro Celaya
|
7c349e42fd
|
Created TestUtils module
|
2019-08-11 16:30:46 +02:00 |
|
Alejandro Celaya
|
cb715c0877
|
Decoupled Common module from any other module
|
2019-08-11 14:29:22 +02:00 |
|
Alejandro Celaya
|
97a362617d
|
Added new API test for Options requests
|
2019-08-11 14:21:35 +02:00 |
|
Alejandro Celaya
|
24e708b7e1
|
Removered registered options middleware
|
2019-08-11 14:02:25 +02:00 |
|
Alejandro Celaya
|
583a684b03
|
Created SluggerFilterTest
|
2019-08-11 13:54:21 +02:00 |
|
Alejandro Celaya
|
fe8465261f
|
Moved ResponseUtilsTrait to Response subnamespace
|
2019-08-11 13:48:19 +02:00 |
|
Alejandro Celaya
|
334cc231dc
|
Final changes done on Common module
|
2019-08-11 13:44:42 +02:00 |
|
Alejandro Celaya
|
848d574f68
|
Moved too concrete class from Common to Core
|
2019-08-11 13:33:42 +02:00 |
|
Alejandro Celaya
|
8f929c0ee3
|
Dropped Integrations module and created LICENSE files for new modules
|
2019-08-11 13:20:18 +02:00 |
|
Alejandro Celaya
|
15bd839940
|
Improved README files
|
2019-08-11 13:06:10 +02:00 |
|
Alejandro Celaya
|
0323e0d17d
|
Simplified IpAddressMiddlewareFactory and decoupled from Core module
|
2019-08-11 10:22:19 +02:00 |
|
Alejandro Celaya
|
5fa4fa0225
|
Moved some elements in Common module to more proper locations
|
2019-08-10 23:58:21 +02:00 |
|
Alejandro Celaya
|
986c165815
|
Moved RuntimeException to IpGeolocation module
|
2019-08-10 23:30:47 +02:00 |
|
Alejandro Celaya
|
53243d1764
|
Moved WrongIpException to IpGeolocation module
|
2019-08-10 23:26:39 +02:00 |
|
Alejandro Celaya
|
4aed8e6b59
|
Moved ShlinkTable class to CLI module
|
2019-08-10 23:16:34 +02:00 |
|
Alejandro Celaya
|
16653d60ed
|
Enhanced CacheFactory to support redis and allow optional APCu
|
2019-08-10 17:44:09 +02:00 |
|
Alejandro Celaya
|
c9be89647c
|
Updated RedisFactory so that it loads redis config from cache.redis too
|
2019-08-10 17:12:22 +02:00 |
|
Alejandro Celaya
|
64916dafac
|
Fixed coding styles
|
2019-08-10 14:16:19 +02:00 |
|
Alejandro Celaya
|
02ca843944
|
Created function to abstract how to load config from a glob pattern
|
2019-08-10 14:09:42 +02:00 |
|
Alejandro Celaya
|
3520ab6b18
|
Moved Ip resolvers to the Resolver subnamespace
|
2019-08-10 13:56:06 +02:00 |
|
Alejandro Celaya
|
30314fd532
|
Moved all ip-geolocation related stuff to its own module
|
2019-08-10 13:43:52 +02:00 |
|
Alejandro Celaya
|
b7cc460844
|
Deprecated previews generation
|
2019-08-09 18:12:33 +02:00 |
|
Alejandro Celaya
|
0c26198b55
|
Improved tests to reach 75% MSI
|
2019-08-08 17:06:20 +02:00 |
|
Alejandro Celaya
|
a304cca3b6
|
Improved ListShortUrlsActionTest
|
2019-08-08 16:43:47 +02:00 |
|
Alejandro Celaya
|
564b65c8ca
|
Created ValidationExceptionTest
|
2019-08-08 16:20:37 +02:00 |
|
Alejandro Celaya
|
1349079f59
|
Updated TaskRunner and ListenerProvider so that they are lazyly created, preventing the Swoole server to be created more than once
|
2019-08-08 14:12:54 +02:00 |
|
Alejandro Celaya
|
38016b3ba3
|
Created delegator factory that injects logger on services implementing LoggerAware, and used it for locks factory
|
2019-08-08 13:42:14 +02:00 |
|
Alejandro Celaya
|
6b8ca3e611
|
Updated SimplifiedConfigParser so that it properly converts the redis_servers keys and aliases the store as a side effect
|
2019-08-07 18:45:28 +02:00 |
|
Alejandro Celaya
|
73fd348490
|
Ensured Redis lock store is wrapped into a retry adapter
|
2019-08-07 17:37:24 +02:00 |
|
Alejandro Celaya
|
04389fc8b0
|
Added support in RedisFactory to provide servers as a comma-separated string
|
2019-08-07 17:01:09 +02:00 |
|
Alejandro Celaya
|
0f8dd1effb
|
Added post processing mapping to define the lock store to be used
|
2019-08-07 16:16:53 +02:00 |
|
Alejandro Celaya
|
7aa246b550
|
Created RedisFactoryTest
|
2019-08-07 16:07:17 +02:00 |
|
Alejandro Celaya
|
1e294fe1bc
|
Created RedisFactory which will create the redis adapter for the redis lock
|
2019-08-07 14:17:15 +02:00 |
|
Alejandro Celaya
|
dcfb12f454
|
Moved some classes to proper namespaces
|
2019-08-07 13:50:38 +02:00 |
|
Alejandro Celaya
|
8985a6932f
|
Created MigrateDatabaseCommandTest
|
2019-08-06 21:06:14 +02:00 |
|
Alejandro Celaya
|
c04f0af56f
|
Created command to run migrations with a lock
|
2019-08-06 20:48:48 +02:00 |
|
Alejandro Celaya
|
bc3fc59b1e
|
Fixed error on new database creation command when database platform is sqlite
|
2019-08-06 20:16:16 +02:00 |
|
Alejandro Celaya
|
749671c230
|
Created CreateDatabaseCommandTest
|
2019-08-06 18:40:32 +02:00 |
|
Alejandro Celaya
|
e79c41d753
|
Created NoDbNameConnectionFactoryTest
|
2019-08-06 17:30:28 +02:00 |
|
Alejandro Celaya
|
a575f2eced
|
Created new service which is the database connection but without the dbname, and used in in create db command
|
2019-08-05 18:48:33 +02:00 |
|
Alejandro Celaya
|
b68e262eac
|
Implemented how the CreateDatabaseCommand checks if the database tables exist
|
2019-08-05 10:16:58 +02:00 |
|
Alejandro Celaya
|
f78fa58cf1
|
Updated CreateDatabaseCommand to create the empty database if it does not exist
|
2019-08-05 10:08:59 +02:00 |
|
Alejandro Celaya
|
3916b06e7c
|
Added improvements and new steps to CreateDatabaseCommand
|
2019-08-04 21:31:37 +02:00 |
|
Alejandro Celaya
|
7fa1f1c63c
|
Created empoty locked command to create shlink database
|
2019-08-04 11:30:35 +02:00 |
|
Alejandro Celaya
|
7ed85e8916
|
Moved locking logic for CLI commands to a common abstract class
|
2019-08-04 11:16:46 +02:00 |
|
Alejandro Celaya
|
bfd2ce782c
|
Created ReopeningEntityManagerTest
|
2019-08-02 19:53:19 +02:00 |
|
Alejandro Celaya
|
f99053d251
|
Created ReopeningEntityManagerDelegatorTest
|
2019-08-02 19:33:31 +02:00 |
|
Alejandro Celaya
|
bdc93a45b5
|
Created EntityManagerDecorator to handle the automatic reopening, and removed this behavior from ClosDbConnectionMiddleware
|
2019-08-02 19:28:10 +02:00 |
|
Alejandro Celaya
|
aff1df32f2
|
Updated to coding-standard library v1.2.2
|
2019-08-01 19:49:54 +02:00 |
|
Alejandro Celaya
|
9cb316bdfa
|
Added more headers to inspect while looking for the remote IP address
|
2019-08-01 18:27:43 +02:00 |
|
Alejandro Celaya
|
f5878a5e7b
|
Ensured EntityManager is reopened by CloseDbConnectionMiddleware after an error closed it
|
2019-07-31 20:54:41 +02:00 |
|
Alejandro Celaya
|
406de16a0d
|
Ensured database connection is closed even if an error is thrown during dispatch process
|
2019-07-31 20:08:46 +02:00 |
|
Alejandro Celaya
|
a6727c5382
|
Fixed coding styles
|
2019-07-23 22:09:38 +02:00 |
|
Alejandro Celaya
|
173bfbd300
|
Updated tests to fit current implementations
|
2019-07-23 22:04:01 +02:00 |
|
Alejandro Celaya
|
999beef349
|
Fixed GeolocationDbUpdater so that it does not try to interact with the reader if the file does not exist, preventing later errors
|
2019-07-23 17:07:40 +02:00 |
|
Alejandro Celaya
|
c6fdd8a59f
|
Improvements and ensured LocateVisitsCommand does not swallow exceptions
|
2019-07-23 16:41:32 +02:00 |
|
Alejandro Celaya
|
4c76df91ce
|
Added ConfigProviderTest for EventDispatcher module
|
2019-07-20 12:16:31 +02:00 |
|
Alejandro Celaya
|
a1c7e7d5da
|
Updated tests
|
2019-07-20 12:11:07 +02:00 |
|
Alejandro Celaya
|
f28540a53e
|
Updated GeolocationDbUpdater so that it handles a lock which prevents the db to be updated in parallel
|
2019-07-20 11:30:26 +02:00 |
|
Alejandro Celaya
|
e0e522c3f5
|
Updated LocateShortUrlVisit listener so that it updates geolite db is needed
|
2019-07-20 11:21:00 +02:00 |
|
Alejandro Celaya
|
37e286df48
|
Created more tests
|
2019-07-20 10:47:12 +02:00 |
|
Alejandro Celaya
|
bc99ee6ebe
|
Created EventListenerTaskTest
|
2019-07-19 21:16:09 +02:00 |
|
Alejandro Celaya
|
7e8126a421
|
Added AsyncEventListenerTest
|
2019-07-19 21:06:34 +02:00 |
|
Alejandro Celaya
|
af4ee8f7ec
|
Created TaskRunnerTest
|
2019-07-19 20:59:06 +02:00 |
|
Alejandro Celaya
|
af40e8de5c
|
Improved ListenerProviderFactoryTest
|
2019-07-19 20:28:56 +02:00 |
|
Alejandro Celaya
|
d086131630
|
Moved all event-dispatching stuff to its own module
|
2019-07-19 19:54:39 +02:00 |
|
Alejandro Celaya
|
bccc177414
|
Created task running system based on event listener which are transparently cast into tasks
|
2019-07-18 19:07:07 +02:00 |
|
Alejandro Celaya
|
0dfadcbb4a
|
Added package to delegate the execution of event listeners to a swoole task worker
|
2019-07-14 10:46:31 +02:00 |
|
Alejandro Celaya
|
4380b62715
|
Fixed event handler not being properly registered as a service
|
2019-07-13 15:47:19 +02:00 |
|
Alejandro Celaya
|
91698034e7
|
Added event dispatcher to track when a short URL is visited
|
2019-07-13 12:04:21 +02:00 |
|
Alejandro Celaya
|
46a27a9d0a
|
Added meta property to ShortUrlDataTransformer
|
2019-07-08 18:23:38 +02:00 |
|
Alejandro Celaya
|
f45e34cfcf
|
Documented deprecated endpoint
|
2019-05-05 09:52:49 +02:00 |
|
Alejandro Celaya
|
320c8e2d6b
|
Ensured accepted methods on CORS requests are dynamically fetched from route match when possible
|
2019-05-05 09:45:35 +02:00 |
|
Alejandro Celaya
|
988de0b96e
|
Updated edit short URL endpoint to be used with patch instead of put
|
2019-05-05 09:21:57 +02:00 |
|
Alejandro Celaya
|
479760c0ee
|
Created config post processor that parses a simplified config to what shlink expects
|
2019-04-18 10:37:38 +02:00 |
|
Alejandro Celaya
|
4084e3f0d8
|
Removed superfluous option from command tester
|
2019-04-14 22:20:58 +02:00 |
|
Alejandro Celaya
|
4866fe241e
|
Updated LocateVisitsCommand to update the database if needed
|
2019-04-14 18:00:19 +02:00 |
|
Alejandro Celaya
|
6613cb5c60
|
Updated amount of days to wait for the GeoLite2 database to be updated
|
2019-04-14 13:18:03 +02:00 |
|
Alejandro Celaya
|
0f48dd567f
|
Registered GeolocationDbUpdater service and added callable which is invoked when db is going to be updated
|
2019-04-14 11:19:21 +02:00 |
|
Alejandro Celaya
|
b24511b7b5
|
Created service that updated GeoLite database when it is older than 7 days
|
2019-04-14 10:54:01 +02:00 |
|
Alejandro Celaya
|
935562acc9
|
Created exception to handle cases in which downloading a new geolite db fails
|
2019-04-14 10:10:20 +02:00 |
|
Alejandro Celaya
|
feb67e76f0
|
Updated commands
|
2019-04-14 09:10:00 +02:00 |
|
Alejandro Celaya
|
f27058e255
|
Updated lang files
|
2019-04-14 08:59:55 +02:00 |
|
Alejandro Celaya
|
6ddbbb4ba0
|
Restyled error templates and removed copyright
|
2019-04-14 08:57:48 +02:00 |
|
Alejandro Celaya
|
68f38fd9fe
|
Dropped support for all caches other than APCu and Array
|
2019-04-11 22:36:50 +02:00 |
|
Alejandro Celaya
|
734fdf83c1
|
Added test covering the case in which fetching existing short URLs, more than one result is found
|
2019-03-30 07:45:57 +01:00 |
|
Alejandro Celaya
|
2906d42f97
|
Updated how existing short URLs are checked, so that not only the first one matching the slug or url is checked
|
2019-03-30 07:36:57 +01:00 |
|
Alejandro Celaya
|
34ff831473
|
Added support to ignore errors in UpdateDbCommand
|
2019-03-16 11:08:12 +01:00 |
|
Alejandro Celaya
|
6fa255386b
|
Defined config to run database tests against mysql and postgres
|
2019-03-05 20:36:35 +01:00 |
|
Alejandro Celaya
|
0f81c3ab92
|
Fixed error when using postgres in a SELECT count query where a ORDER BY was added by mistake
|
2019-03-05 13:50:44 +01:00 |
|
Alejandro Celaya
|
4b556cd79f
|
Updated to shlinkio coding standard 1.1.0
|
2019-02-26 22:56:43 +01:00 |
|
Alejandro Celaya
|
0b4c334163
|
Fixed typo
|
2019-02-26 22:42:33 +01:00 |
|
Alejandro Celaya
|
312fc0984b
|
Fixed mutation score by provideing more tests
|
2019-02-26 22:41:04 +01:00 |
|
Alejandro Celaya
|
30bf1c2641
|
Added tests for new cases with non-locatable addresses
|
2019-02-26 22:31:07 +01:00 |
|
Alejandro Celaya
|
2d1d7357a3
|
Given more semantic cases in which a visit cannot be located
|
2019-02-26 21:39:45 +01:00 |
|
Alejandro Celaya
|
d2fad0128f
|
Fixed bug missing unprocessed visits while iterating and updating, while drastically improving the performance
|
2019-02-23 09:58:02 +01:00 |
|
Alejandro Celaya
|
091ea974eb
|
Simplified implementation iterating unlocated visits
|
2019-02-23 07:29:07 +01:00 |
|
Alejandro Celaya
|
7d4de590e5
|
Created ImplicitLoopPaginatorTest
|
2019-02-22 19:53:10 +01:00 |
|
Alejandro Celaya
|
292937b962
|
Updated VisitRepository::findUnlocatedVisits methods so that it paginates the amount of elements loaded in memory
|
2019-02-22 19:31:03 +01:00 |
|
Alejandro Celaya
|
38cc83a4ee
|
Removed uneeded inline type hints
|
2019-02-17 20:32:18 +01:00 |
|
Alejandro Celaya
|
687a1cc9c7
|
Reduced amount of dead lines in tests
|
2019-02-17 20:28:34 +01:00 |
|
Alejandro Celaya
|
1bcd03b150
|
Renamed method
|
2019-02-17 13:21:07 +01:00 |
|
Alejandro Celaya
|
e2abe23895
|
Defined stricter model to represent one geo location
|
2019-02-17 13:01:21 +01:00 |
|
Alejandro Celaya
|
580050cb7d
|
Updated to phpstan 0.11
|
2019-02-17 10:06:34 +01:00 |
|
Alejandro Celaya
|
eab5659163
|
Added status codes returned by CLI commands
|
2019-02-16 23:21:40 +01:00 |
|
Alejandro Celaya
|
c0130c997a
|
Deprecated commands to generate secret and charset
|
2019-02-16 22:53:49 +01:00 |
|
Alejandro Celaya
|
ce7d2d1fb0
|
Fixed coding styles
|
2019-02-16 22:04:11 +01:00 |
|
Alejandro Celaya
|
2175b8a7bb
|
Improved tests to increase MSI to 70%
|
2019-02-16 21:58:14 +01:00 |
|
Alejandro Celaya
|
6c0893cdf8
|
Improved tests to increase MSI to 69%
|
2019-02-16 21:24:32 +01:00 |
|
Alejandro Celaya
|
b8cb38ae5c
|
Updated testing tools
|
2019-02-16 10:53:45 +01:00 |
|
Alejandro Celaya
|
672321abab
|
Removed class which is now part of the installer package
|
2019-02-04 20:16:29 +01:00 |
|
Alejandro Celaya
|
2059b4050b
|
Removed installer and used external package instead
|
2019-02-04 20:14:59 +01:00 |
|
Alejandro Celaya
|
abbc66ac07
|
Unified config for installer tool
|
2019-02-03 13:12:17 +01:00 |
|
Alejandro Celaya
|
2d18ef5cee
|
Updated installer so that it no longer asks for a charset and instead just generates one
|
2019-02-03 13:02:12 +01:00 |
|
Alejandro Celaya
|
04d4d4a8d7
|
Updated GenerateShortUrlCommand to accept the findIfExists flag
|
2019-02-03 12:11:22 +01:00 |
|
Alejandro Celaya
|
810b25ff14
|
Added API tests covering creating short URLs with new findIfExists param
|
2019-02-03 11:01:38 +01:00 |
|
Alejandro Celaya
|
c4fd8d5120
|
Implemented feature to optionally return an existing short url when all provided params match an existing one
|
2019-02-03 09:40:32 +01:00 |
|
Alejandro Celaya
|
772494f46f
|
Moved process of sluggifying custom slug to a filter
|
2019-02-03 08:17:27 +01:00 |
|
Alejandro Celaya
|
594e7da256
|
Created new findIfExists meta param
|
2019-02-02 11:05:28 +01:00 |
|
Alejandro Celaya
|
49668547d7
|
Fixed typo
|
2019-02-02 11:05:28 +01:00 |
|
Alejandro Celaya
|
4c46aaead8
|
Improved API tests and added test for short URLs creation
|
2019-02-02 11:05:28 +01:00 |
|
Alejandro Celaya
|
d61f5faf59
|
Refactored UrlShortener public method to receibe DTOs instead of primitive params
|
2019-02-02 11:05:28 +01:00 |
|
Alejandro Celaya
|
5756609531
|
Deleted deprecated constant
|
2019-02-02 11:05:28 +01:00 |
|
Alejandro Celaya
|
d289c62532
|
Fixed config file being deleted by mistake by build script
|
2019-01-28 10:52:05 +01:00 |
|
Alejandro Celaya
|
d6a7a6ce66
|
Created new API test
|
2019-01-27 12:36:22 +01:00 |
|
Alejandro Celaya
|
05c7672de3
|
Improved API tests by adding fixtures
|
2019-01-27 12:14:22 +01:00 |
|
Alejandro Celaya
|
76d8fd1023
|
Improved how API tests are executed
|
2019-01-27 10:54:04 +01:00 |
|
Alejandro Celaya
|
558e259b84
|
Minor refactorings
|
2019-01-27 10:30:38 +01:00 |
|
Alejandro Celaya
|
22d61fead7
|
Prepared configs for API tests
|
2019-01-26 10:19:20 +01:00 |
|
Alejandro Celaya
|
c4af1471f0
|
Simplified and united configs for tests
|
2019-01-26 09:42:08 +01:00 |
|
Alejandro Celaya
|
87ba7a7179
|
Updated structure for tests config files
|
2019-01-26 09:09:57 +01:00 |
|
Alejandro Celaya
|
687d8d91a9
|
Changed references to functional tests by database tests
|
2019-01-20 21:49:07 +01:00 |
|
Alejandro Celaya
|
144a5415da
|
Handled connection exceptions in Health action
|
2018-12-29 13:50:42 +01:00 |
|
Alejandro Celaya
|
d58e24bce5
|
Created health action related tests
|
2018-12-29 11:54:28 +01:00 |
|
Alejandro Celaya
|
0f86123ccb
|
Finished health action implementation
|
2018-12-29 11:54:28 +01:00 |
|
Alejandro Celaya
|
3f65ef998c
|
Created HealthAction
|
2018-12-29 11:54:28 +01:00 |
|
Alejandro Celaya
|
32070b1fa7
|
Do not use ServerRequestFactory::fromGlobals in tests
|
2018-12-25 23:19:36 +01:00 |
|
Alejandro Celaya
|
58dbee10c5
|
Used DQL for non-dynamic query in VisitRepository
|
2018-12-19 14:36:03 +01:00 |
|
Alejandro Celaya
|
f8207994dc
|
Removed superfluous method docs
|
2018-12-19 14:31:52 +01:00 |
|
Alejandro Celaya
|
2030401859
|
Migrated non-dynamic query to DQL in ShortUrlRepository
|
2018-12-19 14:29:43 +01:00 |
|
Alejandro Celaya
|
a28c1d17c5
|
Moved entities mappings from annotations to external config files
|
2018-12-16 12:08:03 +01:00 |
|
Alejandro Celaya
|
97a9289d5f
|
Created ShlinkTableTest
|
2018-12-08 14:11:14 +01:00 |
|
Alejandro Celaya
|
1983fc9b67
|
Added current page message in list short urls CLI command
|
2018-12-08 12:16:39 +01:00 |
|
Alejandro Celaya
|
bb40d84212
|
Used ShlinkTable on every location rendering a CLI table
|
2018-12-08 12:12:11 +01:00 |
|
Alejandro Celaya
|
46a35c553e
|
Created class to wrap CLI table rendering behavior
|
2018-12-08 11:32:16 +01:00 |
|
Alejandro Celaya
|
080943e810
|
Updated how Symfony commands are used to fulfill API from v4.2
|
2018-12-08 10:34:04 +01:00 |
|
Alejandro Celaya
|
c0bdd8fc77
|
Removed concept of execution context and piped CloseDbConnectionMiddleware always
|
2018-12-07 19:46:46 +01:00 |
|
Alejandro Celaya
|
737137b19f
|
Added favicon
|
2018-12-07 09:17:31 +01:00 |
|
Alejandro Celaya
|
a562bc661d
|
Improved CacheFactory class
|
2018-12-06 21:05:11 +01:00 |
|
Alejandro Celaya
|
7c5825d1bc
|
Removed custom AccessLogFactory by updating to zend-expressive-swoole 2.2
|
2018-12-05 21:26:19 +01:00 |
|
Alejandro Celaya
|
3faf6e967f
|
Updated changelog adding v1.15
|
2018-12-02 19:15:58 +01:00 |
|
Alejandro Celaya
|
a7a5667301
|
Improved repository tests
|
2018-12-02 19:13:49 +01:00 |
|
Alejandro Celaya
|
d7e89ebdae
|
Ensured custom slugs are case sensitive
|
2018-12-01 21:38:29 +01:00 |
|
Alejandro Celaya
|
b876870bd8
|
Encapsulated in VisitsParams how the itemsPerPage param is handled
|
2018-11-29 08:02:22 +01:00 |
|
Alejandro Celaya
|
1d4ef4e9a4
|
Ensured pagination params in visits list are properly parsed to integer
|
2018-11-28 20:53:04 +01:00 |
|
Alejandro Celaya
|
d0e0aea0f1
|
Updated visits to support pagination
|
2018-11-28 20:39:08 +01:00 |
|
Alejandro Celaya
|
b0f250ed8a
|
Created factory method to build VisitParams from a raw dataset
|
2018-11-28 19:58:45 +01:00 |
|
Alejandro Celaya
|
45254606d4
|
Added DTO used to pass filtering params to VisitsTracker
|
2018-11-27 21:09:27 +01:00 |
|
Alejandro Celaya
|
282ffef200
|
Ensured different loggers are used for swoole and for the app regular logs
|
2018-11-25 17:14:03 +01:00 |
|
Alejandro Celaya
|
f0330e9ae3
|
Ensured CloseDbConnectionMiddleware clears the entity manager
|
2018-11-24 13:24:43 +01:00 |
|
Alejandro Celaya
|
ccbc6c7a75
|
Created middleware which closes DB connection after every request
|
2018-11-24 12:55:00 +01:00 |
|
Alejandro Celaya
|
2fc2ad98aa
|
Updated config so that shlink logger dynamically uses standard output when running with swoole
|
2018-11-24 09:38:00 +01:00 |
|
Alejandro Celaya
|
16590b2dbb
|
Prepared project to support both swoole and regular app servers with fast cgi
|
2018-11-24 08:43:48 +01:00 |
|
Alejandro Celaya
|
f40349479e
|
Used more strict types in UrlShortener private methods
|
2018-11-24 07:52:57 +01:00 |
|
Alejandro Celaya
|
5abd9d1a40
|
Made test properties to be private instead of protected
|
2018-11-20 19:37:22 +01:00 |
|
Alejandro Celaya
|
0ae5a53d86
|
Enforced property types comments in one line
|
2018-11-20 19:30:27 +01:00 |
|
Alejandro Celaya
|
09add5fbff
|
Moved locale middleware to before the not found handler, so that it never gets executed otherwise
|
2018-11-18 20:15:37 +01:00 |
|
Alejandro Celaya
|
e30f49a791
|
Simplified error templates
|
2018-11-18 20:04:12 +01:00 |
|
Alejandro Celaya
|
64737b741b
|
Removed CLI language param from installation
|
2018-11-18 19:55:23 +01:00 |
|
Alejandro Celaya
|
d4d65bdf37
|
Added missing X-Api-Key header to cross domain middleware
|
2018-11-18 17:03:50 +01:00 |
|
Alejandro Celaya
|
90732a4fad
|
Removed translations from Rest module
|
2018-11-18 16:28:04 +01:00 |
|
Alejandro Celaya
|
c5015f5828
|
Removed translations from CLI module
|
2018-11-18 16:02:52 +01:00 |
|
Alejandro Celaya
|
b8faa6714a
|
Increased MSI to 65% (for sure this time)
|
2018-11-17 19:32:31 +01:00 |
|
Alejandro Celaya
|
f48f98f4d7
|
Updated changelog for v1.14.1
|
2018-11-17 19:27:00 +01:00 |
|
Alejandro Celaya
|
79b2a0839f
|
Increased MSI to 65%
|
2018-11-17 19:23:49 +01:00 |
|
Alejandro Celaya
|
6094d17718
|
Increased MSI to 64%
|
2018-11-17 18:40:53 +01:00 |
|
Alejandro Celaya
|
d2ed7d6417
|
Increased MSI to 62%
|
2018-11-17 18:06:21 +01:00 |
|
Alejandro Celaya
|
a705ef21a9
|
Increased MSI to 61%
|
2018-11-17 17:36:22 +01:00 |
|
Alejandro Celaya
|
ed3883b52c
|
Updated translations
|
2018-11-17 14:29:54 +01:00 |
|
Alejandro Celaya
|
dd2cffeee9
|
Reused ProcessVisitsCommand name as the lock name
|
2018-11-17 14:16:45 +01:00 |
|
Alejandro Celaya
|
1ceabf3bc3
|
Added locking capabilities to process visits command
|
2018-11-17 14:11:16 +01:00 |
|
Alejandro Celaya
|
0aae0d888c
|
Moved visits iteration logic from command to service to allow lazy loading of entries in resultset
|
2018-11-17 09:42:15 +01:00 |
|
Alejandro Celaya
|
1bc01057f3
|
Reduced the number of arguments in private method
|
2018-11-17 08:02:42 +01:00 |
|
Alejandro Celaya
|
c1906606c6
|
Updated VisitService to have a method which locates visits and allows entity manager to be cleared
|
2018-11-17 07:47:42 +01:00 |
|
Alejandro Celaya
|
1363194909
|
Improved code in LoggerFactory
|
2018-11-17 07:31:51 +01:00 |
|
Alejandro Celaya
|
4745a37549
|
Used a lower level on phpstan to avoid errors produced by Symfony 4.1.5 new phpdocs
|
2018-11-16 16:44:48 +01:00 |
|
Alejandro Celaya
|
9964d3e24b
|
Added progress bar to command downloading new GeoLite2 database file
|
2018-11-12 21:30:30 +01:00 |
|
Alejandro Celaya
|
58e8c8e182
|
Updated spanish translations
|
2018-11-12 21:04:02 +01:00 |
|
Alejandro Celaya
|
c7339f6cfa
|
Created an EmptyIpLocationResolver which always returns an empty resolution and can be used as a fallback while resolving IP addresses
|
2018-11-12 20:58:14 +01:00 |
|
Alejandro Celaya
|
1aa78f766a
|
Added step to download GeoLite2 db during installation
|
2018-11-12 20:51:53 +01:00 |
|
Alejandro Celaya
|
bf56e6adaf
|
Created UpdateDbCommandTest
|
2018-11-12 20:37:30 +01:00 |
|
Alejandro Celaya
|
e915b7e499
|
Updated GeoLite2 db reader service so that it is lazily created
|
2018-11-12 20:22:42 +01:00 |
|
Alejandro Celaya
|
de0470d200
|
Created command to update GeoLite2 database
|
2018-11-12 20:06:12 +01:00 |
|
Alejandro Celaya
|
3d7cf6992e
|
Created service to update geolite2 database file
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
06db082e3f
|
Updated translations
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
4a383cecaf
|
Set chain IP resolver as the default IP resolver
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
9a0f9207be
|
Fixed region resolved in GeoLite2
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
0e3a0a1eec
|
Created chain IP resolver which wrapps multiple resolver to fallback until one is capable of resolving an address
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
fd6d180eba
|
Created chainIpLocationResolver
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
d152e2ef9a
|
Removed the concept of API limits in IP location resolvers
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
b530cf4461
|
Created new namespace for IP geolocation elements
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
bbe85cde31
|
Migrated to GeoLite2 for IP location resolution
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
4070b1e23d
|
Updated user agent column in visits table to have a length of 512
|
2018-11-10 19:01:59 +01:00 |
|
Alejandro Celaya
|
a71245b883
|
Improved UrlShortenerConfigCustomizerTest covering new config options
|
2018-11-04 12:05:22 +01:00 |
|
Alejandro Celaya
|
057f88a36a
|
Added new not found short url config to installer
|
2018-11-04 11:58:35 +01:00 |
|
Alejandro Celaya
|
313927827d
|
Updated RedirectAction so that it makes use of the not found short url options
|
2018-11-03 12:10:02 +01:00 |
|
Alejandro Celaya
|
3eddacdff8
|
Created options to enable redirection to external page when short code is not found
|
2018-11-03 11:37:43 +01:00 |
|
Alejandro Celaya
|
bfb96b0ae8
|
Fixed coding style
|
2018-11-02 12:07:13 +01:00 |
|
Alejandro Celaya
|
f64920e510
|
Replaced some array_map by Functional\map
|
2018-11-02 12:05:01 +01:00 |
|
Alejandro Celaya
|
664dc333ac
|
Used select_keys function in place of custom pick function
|
2018-11-02 11:08:20 +01:00 |
|
Alejandro Celaya
|
521f6f2b18
|
Added functional-php library
|
2018-11-02 10:54:42 +01:00 |
|
Alejandro Celaya
|
951d08f914
|
Improved public API in Visit entity, reducing anemic model
|
2018-10-28 16:20:54 +01:00 |
|
Alejandro Celaya
|
8e1e8ba7de
|
Improved public API in ShortUrl entity, reducing anemic model
|
2018-10-28 16:00:54 +01:00 |
|
Alejandro Celaya
|
877b098b09
|
Improved public API in ApiKey entity, reducing anemic model
|
2018-10-28 15:24:41 +01:00 |
|
Alejandro Celaya
|
e046eddda9
|
Improved public API in VisitLocation entity, reducing anemic model
|
2018-10-28 15:13:45 +01:00 |
|
Alejandro Celaya
|
084b1169d7
|
Improved public API in Tag entity, avoiding anemic model
|
2018-10-28 14:38:43 +01:00 |
|
Alejandro Celaya
|
025135b8c6
|
Added all missing use statements from global functions and constants
|
2018-10-28 08:34:02 +01:00 |
|
Alejandro Celaya
|
77d810b735
|
Replaced all FQ global function and constants by explicit imports
|
2018-10-28 08:24:06 +01:00 |
|
Alejandro Celaya
|
e1222de05b
|
Explicitly imported global functions in UrlShortener
|
2018-10-28 08:07:33 +01:00 |
|
Alejandro Celaya
|
787b791651
|
Replaced hardcoded exceptions concatenations by PSR approach
|
2018-10-20 12:50:10 +02:00 |
|
Alejandro Celaya
|
2eca0da852
|
Updated logger to properly format exceptions using processors
|
2018-10-20 12:37:35 +02:00 |
|
Alejandro Celaya
|
9e49604ce2
|
Replaced usages of mt_rand by random_int
|
2018-10-20 09:21:26 +02:00 |
|
Alejandro Celaya
|
55e021ba20
|
Added snake case column names to VisitLocation entity
|
2018-10-20 09:10:27 +02:00 |
|
Alejandro Celaya
|
98e3e22896
|
Moved global functions to handle array paths to a wrapper class
|
2018-10-20 08:00:33 +02:00 |
|
Alejandro Celaya
|
44f0011445
|
Moved logic to create a visitor from a request to the visitor itself
|
2018-10-18 20:24:25 +02:00 |
|
Alejandro Celaya
|
545094cddf
|
Used middleware from library to actually find visitor IP addresses
|
2018-10-18 20:19:29 +02:00 |
|
Alejandro Celaya
|
99f45d8853
|
Installed and registered new middleware to process IP addresses from request
|
2018-10-18 19:53:50 +02:00 |
|
Alejandro Celaya
|
5be7f839f3
|
Ensured visits with empty remote address are not tried to be located
|
2018-10-18 19:22:24 +02:00 |
|
Alejandro Celaya
|
1e4de7fec4
|
Forced explicit string casting when hydrating a VisitLocation from an array
|
2018-10-16 18:25:03 +02:00 |
|
Alejandro Celaya
|
75f6160432
|
Improved ApplicationConfigCustomizer while asking for visits threshold
|
2018-10-06 12:02:06 +02:00 |
|
Alejandro Celaya
|
5337eb48e7
|
Added missing type hint
|
2018-10-06 11:43:34 +02:00 |
|
Alejandro Celaya
|
86c30ee731
|
Added new visits_threshold config to installation
|
2018-10-06 11:41:26 +02:00 |
|
Alejandro Celaya
|
0525639329
|
Created CustomizableAppConfigTest
|
2018-10-06 11:19:02 +02:00 |
|
Alejandro Celaya
|
0d9c7282df
|
Used constants when possible when parsing app config
|
2018-10-06 11:12:42 +02:00 |
|
Alejandro Celaya
|
3b95925217
|
Fixed consig customizer tests
|
2018-10-06 10:05:25 +02:00 |
|
Alejandro Celaya
|
fa595f7aa3
|
Fixed non-existing keys not being set with default values in imported config
|
2018-10-06 09:40:18 +02:00 |
|
Alejandro Celaya
|
ff80f32f72
|
Created json_encode function which always maps to array and converts errors into exceptions
|
2018-10-05 19:19:44 +02:00 |
|
Alejandro Celaya
|
e55dbef2fc
|
Replaced in_array by contains
|
2018-10-05 18:52:42 +02:00 |
|
Alejandro Celaya
|
ebf2e459e8
|
Refactored Databa config customizer so that it uses new structure
|
2018-10-05 18:43:39 +02:00 |
|
Alejandro Celaya
|
1b5081ae21
|
Refactored Language and UrlShortener config customizers
|
2018-10-03 18:55:20 +02:00 |
|
Alejandro Celaya
|
d5736756f7
|
Ensured asking for previous shlink path is a mandatory question when updating shlink
|
2018-09-30 18:26:52 +02:00 |
|
Alejandro Celaya
|
757cf2e193
|
Updated ApplicationConfigCustomizer to support new keys in the future
|
2018-09-30 18:20:27 +02:00 |
|
Alejandro Celaya
|
3c3ef6fa05
|
Fixed installer tests
|
2018-09-30 11:14:38 +02:00 |
|
Alejandro Celaya
|
3282bfd03b
|
Ensured symfony/console stays in v4.1.4, since the next one throws a lot of phpstan errors
|
2018-09-30 11:02:01 +02:00 |
|
Alejandro Celaya
|
df74a04085
|
Fixed coding style
|
2018-09-30 09:47:47 +02:00 |
|
Alejandro Celaya
|
8323b87076
|
Ensured required config options cannot be left empty
|
2018-09-30 09:40:43 +02:00 |
|
Alejandro Celaya
|
48f01921e1
|
Used modern PHP features in CustomizableAppCOnfig
|
2018-09-30 09:04:00 +02:00 |
|
Alejandro Celaya
|
0183c8a4b7
|
Migrated from standard datetime objects to chronos objects
|
2018-09-29 12:52:32 +02:00 |
|
Alejandro Celaya
|
a81fd497d4
|
Updated Rest translations
|
2018-09-29 10:09:12 +02:00 |
|
Alejandro Celaya
|
49cca5cd69
|
Removed FQCN
|
2018-09-29 10:07:10 +02:00 |
|
Alejandro Celaya
|
f92cff6241
|
Removed not used translator config
|
2018-09-29 10:05:13 +02:00 |
|
Alejandro Celaya
|
d5392a5f59
|
Added missing void return type hint
|
2018-09-29 09:55:13 +02:00 |
|
Alejandro Celaya
|
a65ce649ac
|
Created new Installer module and moved everything from CLI there
|
2018-09-29 09:52:32 +02:00 |
|
Alejandro Celaya
|
5ecfe9f0f0
|
Implemented ApiKeyHeaderPlugin
|
2018-09-29 08:34:47 +02:00 |
|
Alejandro Celaya
|
0f5fb066d1
|
Converted AuthenticationpluginManager in a plain plugin manager and encasulated in new service adding extra behavior
|
2018-09-29 08:16:40 +02:00 |
|
Alejandro Celaya
|
8e61639598
|
Created system of authentication plugins
|
2018-09-28 22:08:01 +02:00 |
|
Alejandro Celaya
|
e88468d867
|
Renamed CheckAuthenticationMiddleware to just AuthenticationMiddleware
|
2018-09-24 23:07:10 +02:00 |
|
Alejandro Celaya
|
80fe3a73e2
|
More classes renamed and fixes for usage of the short code concept in place of short URL
|
2018-09-20 20:38:51 +02:00 |
|
Alejandro Celaya
|
7ab993b764
|
Created and registered middleware which replaces short-code from short-url on rest paths
|
2018-09-20 20:27:34 +02:00 |
|
Alejandro Celaya
|
622edd2ed1
|
Renamed rest middlewares to use the short-url concept instead of the short-code concept
|
2018-09-20 20:00:53 +02:00 |
|
Alejandro Celaya
|
1f5faee356
|
Renamed rest actions to use the short-url concept instead of the short-code concept
|
2018-09-20 19:55:24 +02:00 |
|
Alejandro Celaya
|
d4168bebc6
|
Ensured install tool knows the install command is the only one
|
2018-09-16 18:48:10 +02:00 |
|
Alejandro Celaya
|
13c3629cd6
|
Updated few translations
|
2018-09-16 18:37:54 +02:00 |
|
Alejandro Celaya
|
1eff9801e8
|
Updated references to short code and replaced them to short URL where appropriate
|
2018-09-16 18:36:02 +02:00 |
|
Alejandro Celaya
|
9d8fb055b1
|
Updated translations
|
2018-09-15 18:03:54 +02:00 |
|
Alejandro Celaya
|
9651b3d692
|
Created command to delete short URLs
|
2018-09-15 17:57:12 +02:00 |
|
Alejandro Celaya
|
5714a8f884
|
Created action to delete short URLs
|
2018-09-15 12:56:17 +02:00 |
|
Alejandro Celaya
|
159529937d
|
Created specific service to delete short URLs
|
2018-09-15 11:54:58 +02:00 |
|
Alejandro Celaya
|
394d9ff4d2
|
Defined config and implementation to delete short URLs
|
2018-09-15 11:01:28 +02:00 |
|
Alejandro Celaya
|
07165f344f
|
Normalized entities adding missing type hints and removing superfluous comments
|
2018-09-15 10:03:42 +02:00 |
|
Alejandro Celaya
|
4f2146dd9c
|
Replaced commands namespace shortcode by short-code, using the old one as an alias
|
2018-09-14 19:38:52 +02:00 |
|
Alejandro Celaya
|
9d9b61cf14
|
Fixed message displayed during installation process
|
2018-09-14 19:18:10 +02:00 |
|
Alejandro Celaya
|
9d7db96e4b
|
Added country name to console comand that lists visits
|
2018-09-14 19:12:23 +02:00 |
|
Alejandro Celaya
|
3d0bca2781
|
Finally dropped the hashing of the address
|
2018-09-14 19:04:40 +02:00 |
|
Alejandro Celaya
|
ffb54c4f7a
|
Fixed typehint
|
2018-09-13 23:52:22 +02:00 |
|
Alejandro Celaya
|
a01031303f
|
Created migration which parses existing IP addresses, generating hashes and droping already used IPs
|
2018-09-13 23:50:09 +02:00 |
|
Alejandro Celaya
|
7808f6d182
|
Added remoteAddrHash field to Visit entity
|
2018-09-13 22:46:28 +02:00 |
|
Alejandro Celaya
|
a0c3b9412f
|
Updated system to obfuscate IP addresses before persisting them
|
2018-09-13 22:36:28 +02:00 |
|
Alejandro Celaya
|
a33151248d
|
Removed duplicated code by using a utils trait
|
2018-09-12 20:40:32 +02:00 |
|
Alejandro Celaya
|
038ba3b006
|
Fixed wrong typehint
|
2018-09-12 20:34:36 +02:00 |
|
Alejandro Celaya
|
f3c92f4110
|
Updated short URL creation responses to include more information
|
2018-09-12 20:32:58 +02:00 |
|
Alejandro Celaya
|
c2dd5b8c47
|
Ensured same long URL can be used multiple times for different short URLs
|
2018-09-11 19:44:33 +02:00 |
|
Alejandro Celaya
|
0c03a4b7ff
|
Added v1.11.0 to changelog
|
2018-08-13 16:29:40 +02:00 |
|
Alejandro Celaya
|
5d6d13c95f
|
Updated API docs including new response structure
|
2018-08-13 16:17:43 +02:00 |
|
Alejandro Celaya
|
563021bdc1
|
Updated resolve short url action to return all data for that short url
|
2018-08-11 10:40:44 +02:00 |
|
Alejandro Celaya
|
2d6d35a398
|
Added shortUrl field to serialized ShortUrl objects, both from CLI and REST
|
2018-08-10 23:14:45 +02:00 |
|
Alejandro Celaya
|
416c56dee2
|
Added new spanish translations
|
2018-08-04 16:37:54 +02:00 |
|
Alejandro Celaya
|
080965e166
|
Improved ShortUrlRepositoryTest covering listing case with filter by tag and search term at the same time
|
2018-08-04 16:21:01 +02:00 |
|
Alejandro Celaya
|
c7239aaca2
|
Fixed duplicated join with same table performed while filtering short codes by search term and tags
|
2018-08-04 16:15:09 +02:00 |
|
Alejandro Celaya
|
110e8cb78d
|
Added test to cover new IP resolution API limits
|
2018-08-04 15:50:02 +02:00 |
|
Alejandro Celaya
|
ed859767a8
|
Updated IpLocation resolver to be able to provide limits in order to apply sleeps
|
2018-08-02 23:02:48 +02:00 |
|
Alejandro Celaya
|
3883ed15c4
|
Fixed short codes DB length too short
|
2018-08-01 20:40:24 +02:00 |
|
Alejandro Celaya
|
a79c1f580e
|
Fixed visits count multiplied by the number of tags when ordering and filtering by text
|
2018-08-01 20:31:54 +02:00 |
|
Alejandro Celaya
|
f4b569c245
|
Improved code
|
2018-08-01 20:28:05 +02:00 |
|
Alejandro Celaya
|
899771cc2e
|
Fixed geolocation by switching to different API
|
2018-07-31 20:24:13 +02:00 |
|
Alejandro Celaya
|
863803b614
|
Fixed tests failing with new typehints
|
2018-07-31 19:59:41 +02:00 |
|
Alejandro Celaya
|
5be5e0bc60
|
Fixed coding styles
|
2018-07-31 19:53:59 +02:00 |
|
Alejandro Celaya
|
0b8e305533
|
Improved error management in process visits command
|
2018-07-31 19:42:33 +02:00 |
|
Alejandro Celaya
|
d5b78f2a7e
|
Fixed date fields not properly parsed depending if originally they were datetimes or strings
|
2018-07-28 18:57:24 +02:00 |
|
Alejandro Celaya
|
c79ca1d13c
|
Fixed phpstan issues
|
2018-07-04 20:28:05 +02:00 |
|
Alejandro Celaya
|
87c4851d7e
|
Simplified ListKeysCommand reducing cyclomatic complexity on nested callbacks
|
2018-07-04 20:24:13 +02:00 |
|
Alejandro Celaya
|
c7e49f223f
|
Fixed filtered lists not being properly paginated
|
2018-06-18 20:38:25 +02:00 |
|
Alejandro Celaya
|
6e79b4ba7b
|
Fixed php binary used in child commands while installkation not properly inherited
|
2018-06-18 20:14:51 +02:00 |
|
Alejandro Celaya
|
f78a7f12a9
|
Improved paginator properties
|
2018-06-17 18:29:40 +02:00 |
|
Alejandro Celaya
|
b0dbb2dae4
|
Updated CreateShortCodeContentNegotiationMiddleware so that query parameter takes precedence over Accept header
|
2018-05-07 11:17:10 +02:00 |
|
Alejandro Celaya
|
1437ff48ce
|
Ensured all core actions log errors
|
2018-05-07 10:58:49 +02:00 |
|
Alejandro Celaya
|
63294f20ee
|
Updated language files
|
2018-05-06 12:36:07 +02:00 |
|
Alejandro Celaya
|
d8acc3c247
|
Removed unused use statement
|
2018-05-06 12:34:21 +02:00 |
|
Alejandro Celaya
|
52d8ffa212
|
Improved CreateShortCodeContentNegotiationMiddleware sho that it takes into account the case in which an error is returned from next middleware
|
2018-05-06 12:28:22 +02:00 |
|
Alejandro Celaya
|
9d890f4227
|
Created CreateShortCodeContentNegotiationMiddleware
|
2018-05-03 19:04:40 +02:00 |
|
Alejandro Celaya
|
0932d04907
|
Fixed tests namespaces to match their subject under test
|
2018-05-03 18:34:45 +02:00 |
|
Alejandro Celaya
|
1f78b5c524
|
Improved CreateShortCodeContentNegotiationMiddleware so that it can determine the format based on a query partameter
|
2018-05-03 18:32:32 +02:00 |
|
Alejandro Celaya
|
59f10619ba
|
Created middleware used with short codes creation actions to handle content negotiation
|
2018-05-03 18:26:31 +02:00 |
|
Alejandro Celaya
|
75b8175824
|
Fixed coding styles in config file
|
2018-05-03 18:05:16 +02:00 |
|
Alejandro Celaya
|
8a74ef2a33
|
Moved action to subnamespace
|
2018-05-03 18:04:00 +02:00 |
|
Alejandro Celaya
|
d05ac5ce9d
|
Moved action to subnamespace
|
2018-05-03 18:03:10 +02:00 |
|
Alejandro Celaya
|
3100fffa2b
|
Moved action to subnamespace
|
2018-05-03 18:02:45 +02:00 |
|
Alejandro Celaya
|
6bbacb1017
|
Moved action to subnamespace
|
2018-05-03 18:01:57 +02:00 |
|
Alejandro Celaya
|
4403dc5df9
|
Moved action to subnamespace
|
2018-05-03 18:00:32 +02:00 |
|
Alejandro Celaya
|
fdc637c23d
|
Moved action to subnamespace
|
2018-05-03 17:59:28 +02:00 |
|
Alejandro Celaya
|
b99d662417
|
Created SingleStepCreateShortCodeActionTest
|
2018-05-03 17:57:43 +02:00 |
|
Alejandro Celaya
|
eb9a964c66
|
Removed unused use statement
|
2018-05-03 13:34:13 +02:00 |
|
Alejandro Celaya
|
e5ef8d7f8c
|
Created action which allows short URLs to be created on a single API request
|
2018-05-03 13:21:43 +02:00 |
|
Alejandro Celaya
|
28650aee2b
|
Fixed case sensitivity errors
|
2018-05-03 12:19:51 +02:00 |
|
Alejandro Celaya
|
a2294704e6
|
Split try catch to prevent undefined variables
|
2018-05-01 19:38:44 +02:00 |
|
Alejandro Celaya
|
e5e1aa2ff4
|
Defined abstract action which handles short codes generations
|
2018-05-01 19:35:12 +02:00 |
|
Alejandro Celaya
|
2f5290b9d3
|
Moved whitelisted routes in CheckAuthenticationMiddleware to external configuration
|
2018-05-01 18:36:42 +02:00 |
|
Alejandro Celaya
|
ef3c4aadf2
|
Moved most of rest routes config to their actions
|
2018-05-01 18:28:37 +02:00 |
|
Alejandro Celaya
|
c9ce56eea5
|
Added public method in AbstractRestAction which builds route definition
|
2018-05-01 18:16:44 +02:00 |
|
Alejandro Celaya
|
4fee656f96
|
Prepared version 1.9.0
|
2018-05-01 10:10:19 +02:00 |
|
Alejandro Celaya
|
8793a67ce9
|
Reduced the number of includes by pointing to dcotrine scripts with extension
|
2018-04-07 08:37:41 +02:00 |
|
Alejandro Celaya
|
91d350b12f
|
Removed path workaround in PathVersionMiddleware and simplified code
|
2018-04-07 08:31:03 +02:00 |
|
Alejandro Celaya
|
aca89f9abe
|
Updated links to doctrine CLI scripts to avoid depending on symlinks
|
2018-04-07 08:21:34 +02:00 |
|
Alejandro Celaya
|
fe9ab20cbb
|
Applied some improvements
|
2018-03-27 23:57:29 +02:00 |
|
Alejandro Celaya
|
6935b2ebe2
|
Updated system so that NotFoundDelegate is used
|
2018-03-26 20:37:04 +02:00 |
|
Alejandro Celaya
|
3dcc510da1
|
Updated to symfony 4
|
2018-03-26 20:32:12 +02:00 |
|
Alejandro Celaya
|
210b08b61f
|
Created PixelActionTest
|
2018-03-26 20:17:38 +02:00 |
|
Alejandro Celaya
|
42fe4bd5ce
|
Created new action to track visits, which returns an empty pixel
|
2018-03-26 20:13:03 +02:00 |
|
Alejandro Celaya
|
1b2a0820e5
|
Updated to phpunit 7 and dropped dbunit dependency
|
2018-03-26 19:09:10 +02:00 |
|
Alejandro Celaya
|
9b8be3e5b8
|
Fixed phpstan errors
|
2018-03-26 19:05:26 +02:00 |
|
Alejandro Celaya
|
a27b01b895
|
Fixed tests
|
2018-03-26 19:02:41 +02:00 |
|
Alejandro Celaya
|
16dd1838aa
|
Updated to expressive 3
|
2018-03-26 18:49:28 +02:00 |
|
Alejandro Celaya
|
f788d6872f
|
Added infection to the build matrix
|
2018-03-26 18:16:59 +02:00 |
|
Alejandro Celaya
|
4d0fc1da07
|
Fixed PathVersionMiddleware not being properly propagated
|
2018-03-26 17:53:22 +02:00 |
|
Alejandro Celaya
|
ee2233c6dd
|
Updated PathVersionMiddleware to single-pass middleware
|
2018-03-26 17:36:58 +02:00 |
|
Bruce Weirdan
|
dff2ad3740
|
define property to please scrutinizer
|
2018-03-21 12:13:03 +02:00 |
|
Bruce Weirdan
|
f7e63710e4
|
updated tests to fix deprecations
also fixed cs errors in middleware-pipeline
|
2018-03-21 02:05:55 +02:00 |
|
Alejandro Celaya
|
c3d555ef3c
|
Added missing null coalescing operator
|
2018-01-21 10:01:18 +01:00 |
|
Alejandro Celaya
|
cf8b778711
|
Updated language files
|
2018-01-21 09:40:38 +01:00 |
|
Alejandro Celaya
|
1e79969c3b
|
Made visits not to be tracked if query param has been provided
|
2018-01-14 09:24:33 +01:00 |
|
Alejandro Celaya
|
5fd34e03fc
|
Added new app config param to allow disabling short URL visits tracking
|
2018-01-14 09:13:49 +01:00 |
|
Alejandro Celaya
|
ce9d6642d4
|
Fixed edit short code action not being properly registered
|
2018-01-07 21:13:06 +01:00 |
|
Alejandro Celaya
|
6f7ce709ca
|
Fixed PhpStan error
|
2018-01-07 20:46:28 +01:00 |
|
Alejandro Celaya
|
84094a51a2
|
Implemented EditShortCodeAction
|
2018-01-07 20:45:05 +01:00 |
|
Alejandro Celaya
|
7ba9eb8e2c
|
Fixed coding styles
|
2018-01-07 20:08:07 +01:00 |
|
Alejandro Celaya
|
e8a0c5484c
|
Added test for ShortUrlMeta
|
2018-01-07 20:07:12 +01:00 |
|
Alejandro Celaya
|
0521227127
|
Tested new method to update short URLs metadata
|
2018-01-07 20:00:21 +01:00 |
|
Alejandro Celaya
|
fac9455a1e
|
Created method to updated already created short URLs
|
2018-01-07 19:51:25 +01:00 |
|
Alejandro Celaya
|
3243ade4fd
|
Improved error message when installation fails
|
2017-12-31 19:31:35 +01:00 |
|
Alejandro Celaya
|
da21eb4a5c
|
Removed return type incompatible with PHP 7.0
|
2017-12-31 19:24:22 +01:00 |
|
Alejandro Celaya
|
5ec6d538db
|
Improved and simplified ProcessVisitsCommand thanks to SymfonyStyle
|
2017-12-31 19:13:42 +01:00 |
|
Alejandro Celaya
|
08228d9d98
|
Improved and simplified RenameTagCommand thanks to SymfonyStyle
|
2017-12-31 19:10:27 +01:00 |
|
Alejandro Celaya
|
7856d64299
|
Improved and simplified ListTagsCommand thanks to SymfonyStyle
|
2017-12-31 19:08:10 +01:00 |
|
Alejandro Celaya
|
057bbae729
|
Improved and simplified DeleteTagCommand thanks to SymfonyStyle
|
2017-12-31 19:06:04 +01:00 |
|
Alejandro Celaya
|
09b161304c
|
Improved and simplified CreateTagCommand thanks to SymfonyStyle
|
2017-12-31 19:03:41 +01:00 |
|
Alejandro Celaya
|
a60c45ca4d
|
Simplified and improved ResolveUrlCommand with SymfonyStyle
|
2017-12-31 18:58:11 +01:00 |
|
Alejandro Celaya
|
89ed84ce28
|
Removed unused use statements
|
2017-12-31 18:38:25 +01:00 |
|
Alejandro Celaya
|
a6c547c4da
|
Improved and simplified ListShortcodesCommand with SymfonyStyle
|
2017-12-31 18:37:39 +01:00 |
|
Alejandro Celaya
|
3e2c5abaa4
|
Improved GetVisitsCommand by using SymfonyStyle
|
2017-12-31 18:17:58 +01:00 |
|
Alejandro Celaya
|
c202b3e518
|
Improved GenerateShortcodeCommand by using SymfonyStyle
|
2017-12-31 18:12:43 +01:00 |
|
Alejandro Celaya
|
e15b67b5dc
|
Improved GeneratePreviewCommand using SymfonyStyle
|
2017-12-31 18:04:11 +01:00 |
|
Alejandro Celaya
|
7ddc180487
|
Simplified InstallCommand
|
2017-12-31 17:59:50 +01:00 |
|
Alejandro Celaya
|
f3fbfc3692
|
Fixed phpstan error
|
2017-12-31 17:54:01 +01:00 |
|
Alejandro Celaya
|
b289e3bac2
|
Applied more improvements on InstallCommand with SymfonyStyle
|
2017-12-31 17:52:17 +01:00 |
|
Alejandro Celaya
|
4d4aafa6db
|
Fixed config customizer tests
|
2017-12-31 17:45:27 +01:00 |
|
Alejandro Celaya
|
2705070063
|
Renamed tests
|
2017-12-31 17:22:25 +01:00 |
|
Alejandro Celaya
|
5e3770c105
|
Renamed ConfigCustomizerPluginManager to CongigCustomizerManager
|
2017-12-31 17:20:03 +01:00 |
|
Alejandro Celaya
|
0f0213aa87
|
Removed plugin suffix on config ustomizers
|
2017-12-31 17:18:54 +01:00 |
|
Alejandro Celaya
|
0e2ad0dbca
|
Updated ConfigCustomizer api to expect a SymfonyStyle object instead of a set of input and output
|
2017-12-31 17:14:01 +01:00 |
|
Alejandro Celaya
|
d275316acd
|
Applied SymfonyStyle to all installation config customizers
|
2017-12-31 17:07:39 +01:00 |
|
Alejandro Celaya
|
0a681f0efa
|
Simplified UrlShortenerConfigCustomizerPlugin thanks to SymfonyStyle
|
2017-12-31 17:00:26 +01:00 |
|
Alejandro Celaya
|
b17f96043a
|
Simplified and standardized DatabaseConfigCustomizerPlugin thanks to SymfonyStyle
|
2017-12-31 16:53:18 +01:00 |
|
Alejandro Celaya
|
6f9b727673
|
Merge branch 'feature/1.7.0' of github.com:acelaya/shlink into feature/1.7.0
|
2017-12-31 16:29:55 +01:00 |
|
Alejandro Celaya
|
ede4525332
|
Refactored exceptions to properly use package exceptions
|
2017-12-30 21:35:26 +01:00 |
|
Alejandro Celaya
|
4dffc9f0c1
|
Improved and simplified all installation process thanks to symfony style
|
2017-12-28 15:52:10 +01:00 |
|
Alejandro Celaya
|
5de845c258
|
Improved GenerateSecretCommand by using SymfonyStyle
|
2017-12-28 15:17:12 +01:00 |
|
Alejandro Celaya
|
88b9f9fc56
|
Fixed GenerateCharsetCommandTest
|
2017-12-28 14:59:52 +01:00 |
|
Alejandro Celaya
|
0760550767
|
Removed unnecessary type hints
|
2017-12-28 09:48:34 +01:00 |
|
Alejandro Celaya
|
1b94083188
|
Improved GenerateCharsetCommand by using SymfonyStyle
|
2017-12-28 09:48:17 +01:00 |
|
Alejandro Celaya
|
1993d01110
|
Dimplified GenerateKeyCommand by using SymfonyStyle
|
2017-12-27 17:36:07 +01:00 |
|
Alejandro Celaya
|
37fb7e76d9
|
Simplified DisableKeyCommand using SymfonyStyle
|
2017-12-27 17:32:39 +01:00 |
|
Alejandro Celaya
|
cc3362837b
|
Simplified ListKeysCommand using SymfonyStyle
|
2017-12-27 17:28:51 +01:00 |
|
Alejandro Celaya
|
2012cc453c
|
Fixed PHPStan errors due to API inconsistency in EntityManager and EntityManagerInterface
|
2017-12-27 17:22:51 +01:00 |
|
Alejandro Celaya
|
db956a1f40
|
Fixed all possible PHPStan errors
|
2017-12-27 16:23:54 +01:00 |
|
Alejandro Celaya
|
4f3995ea80
|
Fixed phpstan errors in ListKeysCommand
|
2017-12-27 15:56:26 +01:00 |
|
Alejandro Celaya
|
af0ff0f65b
|
Console commands are now lazy loaded
|
2017-12-27 15:37:26 +01:00 |
|
Alejandro Celaya
|
26c455616b
|
Ensured validate_url does not fail when importing config, and instead, it gets a default BC value
|
2017-10-23 13:56:07 +02:00 |
|
Alejandro Celaya
|
781ca39938
|
Fixed merge conflicts
|
2017-10-23 13:28:09 +02:00 |
|
Alejandro Celaya
|
433a5a923d
|
Improved ShortUrlRepositoryTest
|
2017-10-23 13:06:29 +02:00 |
|
Alejandro Celaya
|
501a933d2e
|
Created ShortUrlRepositoryTest
|
2017-10-23 13:03:23 +02:00 |
|
Alejandro Celaya
|
9577a4da4b
|
Refactored ShortUrlRepository to make it more readable
|
2017-10-23 12:36:03 +02:00 |
|
Alejandro Celaya
|
a24688b92a
|
Created VisitRepositoryTest
|
2017-10-23 12:33:46 +02:00 |
|
Alejandro Celaya
|
c522879c64
|
Updated composer check to ru functional tests too
|
2017-10-23 11:29:37 +02:00 |
|
Alejandro Celaya
|
c2feffa50c
|
First version of functional tests working
|
2017-10-23 11:21:00 +02:00 |
|
Alejandro Celaya
|
d7b7db670f
|
Created first common elements for functional tests
|
2017-10-22 18:03:35 +02:00 |
|
Alejandro Celaya
|
9fb07f4039
|
Fixed tests
|
2017-10-22 09:17:19 +02:00 |
|
Alejandro Celaya
|
cb23d38b38
|
Used maxVisits field when creating or fetching a ShortUrl
|
2017-10-22 09:15:37 +02:00 |
|
Alejandro Celaya
|
af7c11665c
|
Added max_visits field to short_urls
|
2017-10-22 09:00:32 +02:00 |
|
Alejandro Celaya
|
a1c8c51f70
|
Updated translations
|
2017-10-21 20:21:08 +02:00 |
|
Alejandro Celaya
|
6bbe66e8f1
|
Improved CreateShortcodeActiontest
|
2017-10-21 20:16:39 +02:00 |
|
Alejandro Celaya
|
5f0d281255
|
Updated create shortcode action to accept the custom slug
|
2017-10-21 20:09:30 +02:00 |
|
Alejandro Celaya
|
fd468cd4e9
|
Added support for custom slug in shortcode command
|
2017-10-21 17:32:05 +02:00 |
|
Alejandro Celaya
|
1f7a94794d
|
Added option to provide custom slug when creating a short url
|
2017-10-21 17:19:02 +02:00 |
|
Alejandro Celaya
|
0232f68b91
|
Updated action and command to create short urls so that it accepts validity dates
|
2017-10-21 12:24:53 +02:00 |
|
Alejandro Celaya
|
070055a8b9
|
Fixed type hints
|
2017-10-21 11:59:31 +02:00 |
|
Alejandro Celaya
|
a3bbd06fe3
|
Updated UrlShortener so that it does not match a short code which is out of the validity dat erange
|
2017-10-21 11:58:20 +02:00 |
|
Alejandro Celaya
|
68b4cfbae0
|
Added valid_since and valid_until columns to shoirt_urls table
|
2017-10-21 11:39:27 +02:00 |
|
Mikolaj Gogula
|
297c88c334
|
Change variable name for validation enabled.
|
2017-10-17 11:44:30 +02:00 |
|
Mikolaj Gogula
|
fef5390a62
|
Codestyle fixes.
|
2017-10-17 11:35:32 +02:00 |
|
Mikolaj Gogula
|
08d18b1dc1
|
Codestyle fixes.
|
2017-10-17 11:33:11 +02:00 |
|
Mikolaj Gogula
|
18d9815e88
|
Added option for enable/disable URL Validation by response status code.
|
2017-10-17 11:03:12 +02:00 |
|
Alejandro Celaya
|
2d85a207d1
|
Removed comented translations
|
2017-10-13 12:31:44 +02:00 |
|
Alejandro Celaya
|
0df8f17e7b
|
Added new translations
|
2017-10-13 12:30:54 +02:00 |
|
Alejandro Celaya
|
29645e77cf
|
Created DottedAccessConfigAbstractFactory
|
2017-10-13 12:27:20 +02:00 |
|
Alejandro Celaya
|
ea76092681
|
Ensured a generic template is used to render generic 404 errors, and a more specific one to render 'invalid short url' errors
|
2017-10-13 12:22:19 +02:00 |
|
Alejandro Celaya
|
c12e13dfd7
|
Created NotFoundDelegateTest
|
2017-10-13 12:02:00 +02:00 |
|
Alejandro Celaya
|
566940349f
|
Created default delegate that returns a JSON response when accepted type is json
|
2017-10-13 11:55:14 +02:00 |
|