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 |
|