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
|
f64920e510
|
Replaced some array_map by Functional\map
|
2018-11-02 12:05:01 +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
|
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
|
55e021ba20
|
Added snake case column names to VisitLocation entity
|
2018-10-20 09:10:27 +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
|
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
|
e55dbef2fc
|
Replaced in_array by contains
|
2018-10-05 18:52:42 +02:00 |
|
Alejandro Celaya
|
0183c8a4b7
|
Migrated from standard datetime objects to chronos objects
|
2018-09-29 12:52:32 +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
|
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
|
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
|
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
|
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
|
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
|
5be5e0bc60
|
Fixed coding styles
|
2018-07-31 19:53:59 +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
|
c7e49f223f
|
Fixed filtered lists not being properly paginated
|
2018-06-18 20:38:25 +02:00 |
|
Alejandro Celaya
|
1437ff48ce
|
Ensured all core actions log errors
|
2018-05-07 10:58:49 +02:00 |
|
Alejandro Celaya
|
e5e1aa2ff4
|
Defined abstract action which handles short codes generations
|
2018-05-01 19:35:12 +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
|
42fe4bd5ce
|
Created new action to track visits, which returns an empty pixel
|
2018-03-26 20:13:03 +02:00 |
|
Alejandro Celaya
|
16dd1838aa
|
Updated to expressive 3
|
2018-03-26 18:49:28 +02: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
|
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
|
ede4525332
|
Refactored exceptions to properly use package exceptions
|
2017-12-30 21:35:26 +01:00 |
|
Alejandro Celaya
|
0760550767
|
Removed unnecessary type hints
|
2017-12-28 09:48:34 +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
|
781ca39938
|
Fixed merge conflicts
|
2017-10-23 13:28:09 +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
|
c522879c64
|
Updated composer check to ru functional tests too
|
2017-10-23 11:29:37 +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
|
5f0d281255
|
Updated create shortcode action to accept the custom slug
|
2017-10-21 20:09:30 +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
|
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
|
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
|
566940349f
|
Created default delegate that returns a JSON response when accepted type is json
|
2017-10-13 11:55:14 +02:00 |
|
Alejandro Celaya
|
70264be8e7
|
Fixed coding styles
|
2017-10-12 11:29:11 +02:00 |
|
Alejandro Celaya
|
6208f6f0d5
|
Improved Exception management to be more specific
|
2017-10-12 11:28:45 +02:00 |
|
Alejandro Celaya
|
c422a14c5c
|
Improved coding styles
|
2017-10-12 10:13:20 +02:00 |
|
Alejandro Celaya
|
b93d65ddc1
|
Replaced more ussages of AnnotatedFactory by ConfigAbstractFactory
|
2017-09-30 12:13:47 +02:00 |
|
Alejandro Celaya
|
963d26f59b
|
Created UpdateTagAction
|
2017-07-15 12:04:12 +02:00 |
|
Alejandro Celaya
|
e07c464de8
|
Removed strict declarations
|
2017-07-15 09:15:45 +02:00 |
|
Alejandro Celaya
|
b2d9f2fc01
|
Added Create and Delete tag actions
|
2017-07-15 09:00:53 +02:00 |
|
Alejandro Celaya
|
6717102dd2
|
Updated tag actions namespace
|
2017-07-15 08:31:21 +02:00 |
|
Alejandro Celaya
|
1ba7fc81ac
|
Created ListTagsCommand
|
2017-07-08 13:17:46 +02:00 |
|
Alejandro Celaya
|
5c7962966d
|
Created ListTagsActionTest
|
2017-07-07 13:28:58 +02:00 |
|
Alejandro Celaya
|
c37660f763
|
Created TagService
|
2017-07-07 12:49:41 +02:00 |
|
Alejandro Celaya
|
10da57572f
|
Fixed date format returned by the API
|
2017-04-16 10:27:27 +02:00 |
|
Alejandro Celaya
|
6c87436a96
|
Migrated QrCodeCacheMiddleware to psr-15 middleware
|
2017-03-24 23:34:17 +01:00 |
|
Alejandro Celaya
|
734dac9456
|
Migrated RedirectAction to psr-15 middleware
|
2017-03-24 23:24:11 +01:00 |
|
Alejandro Celaya
|
85ca366893
|
Migrated QrCodeAction to psr-15 middleware
|
2017-03-24 23:19:42 +01:00 |
|
Alejandro Celaya
|
46db736af8
|
Migrated PreviewAction to psr-15 middleware
|
2017-03-24 22:07:28 +01:00 |
|
Alejandro Celaya
|
7530048fbd
|
Removed exception catch that used to return a 500, and now returns a 404 due to a behavior change
|
2017-03-24 21:59:45 +01:00 |
|
Alejandro Celaya
|
4df1af5fd8
|
Fixed searching short URLs list not querying tag names
|
2017-01-22 11:14:25 +01:00 |
|
Alejandro Celaya
|
e59ae654c0
|
Increased number of followed redirects to 15
|
2017-01-22 10:53:41 +01:00 |
|
Alejandro Celaya
|
9ac48bfbc5
|
Added support for ordering in shortcode:list command
|
2016-10-22 23:10:30 +02:00 |
|
Alejandro Celaya
|
85146e5676
|
Added support to order short URL lists
|
2016-10-22 23:02:12 +02:00 |
|
Alejandro Celaya
|
52bb14bd66
|
Implemented filtering by tags in ListShortcodesAction
|
2016-10-22 13:04:17 +02:00 |
|
Alejandro Celaya
|
8b9caf02d2
|
Added tags param to paginable repository adapter
|
2016-10-22 12:57:24 +02:00 |
|
Alejandro Celaya
|
543c0e62d0
|
Added search term filtering to short codes list
|
2016-10-22 12:40:51 +02:00 |
|
Alejandro Celaya
|
15896045f3
|
Removed logic making visits to be returned for 2 days only if no start or end date were provided
|
2016-08-28 19:32:07 +02:00 |
|
Alejandro Celaya
|
1da285a63a
|
Created action to set the togas for a short url
|
2016-08-21 16:52:26 +02:00 |
|
Alejandro Celaya
|
322180bde4
|
Added tag property to json serialization of ShortUrl
|
2016-08-21 12:48:31 +02:00 |
|
Alejandro Celaya
|
1cf6c93007
|
Added option to pass tags when creating a short code from the command line
|
2016-08-21 10:39:00 +02:00 |
|
Alejandro Celaya
|
2b89556c09
|
Allowed to display tags in the shortcode:list command
|
2016-08-21 10:17:17 +02:00 |
|
Alejandro Celaya
|
2ca7ab4ccf
|
Created new entity Tag and migration to create new tables
|
2016-08-21 09:41:21 +02:00 |
|
Alejandro Celaya
|
7d49c1760c
|
Added doctrine migrations and remove platform specific code from entities
|
2016-08-19 14:51:34 +02:00 |
|
Alejandro Celaya
|
60c68c914b
|
Managed error while generating URL previews by throwing an exception
|
2016-08-18 11:17:17 +02:00 |
|
Alejandro Celaya
|
277406c3b8
|
Created action to return preview images
|
2016-08-18 11:10:15 +02:00 |
|
Alejandro Celaya
|
5ca4bc928d
|
Created specific factory for AppOptions to prevent circular dependency with cache
|
2016-08-15 23:40:49 +02:00 |
|
Alejandro Celaya
|
18084433c7
|
Created middleware to cache generated QR codes
|
2016-08-09 13:41:30 +02:00 |
|
Alejandro Celaya
|
8eb279fd28
|
Updated UrlShortener to namespace the cache entries
|
2016-08-09 13:32:33 +02:00 |
|
Alejandro Celaya
|
99b7c77997
|
Created action to generate QR codes
|
2016-08-09 10:25:30 +02:00 |
|
Alejandro Celaya
|
7c5d8cf244
|
Fixed VisitsTracker to take into account the X-Forwarded-For header in case the server is behind a load balabncer or proxy
|
2016-08-09 09:13:39 +02:00 |
|
Alejandro Celaya
|
73a236b3d0
|
Updated VisitsTracker so that the track method expects a Request object to be provided
|
2016-08-09 08:52:06 +02:00 |
|
Alejandro Celaya
|
34753ca7d3
|
Added logger to classes that catch errors in order to log them
|
2016-08-08 12:33:58 +02:00 |
|
Alejandro Celaya
|
f49e9064cd
|
Added cache adapter to the UrlShortener service to cache shortcode-url maps
|
2016-08-08 10:02:52 +02:00 |
|
Alejandro Celaya
|
258f954a38
|
Deleted rest token related classes
|
2016-08-07 19:57:23 +02:00 |
|
Alejandro Celaya
|
a60080b1ce
|
Created JWTService and related classes
|
2016-08-07 14:44:33 +02:00 |
|
Alejandro Celaya
|
ebeaa3c64a
|
Created RedirectActionTest
|
2016-07-30 20:02:48 +02:00 |
|
Alejandro Celaya
|
af9193f721
|
Removed duplicated error handling for 404 errors
|
2016-07-28 09:40:36 +02:00 |
|
Alejandro Celaya
|
36259588db
|
Fixed Action prefix on routable middlewares
|
2016-07-27 20:22:50 +02:00 |
|
Alejandro Celaya
|
a81dba58bd
|
Defined custom NotFoundMiddleware for rest routes
|
2016-07-26 19:10:01 +02:00 |
|
Alejandro Celaya
|
5c8353da02
|
Set collation to utf8_bin in shortCode column of ShortUrl so that the UNIQUE key is case sensitive
|
2016-07-21 18:46:15 +02:00 |
|
Alejandro Celaya
|
bdd2d6f8b2
|
Improved DateRange to check if both wrapped dates are empty
|
2016-07-21 10:03:37 +02:00 |
|
Alejandro Celaya
|
d97287ab0c
|
Added option to filter by date the visits list
|
2016-07-21 09:36:38 +02:00 |
|
Alejandro Celaya
|
dbe1281d2a
|
Created services and command to process visits
|
2016-07-20 19:00:23 +02:00 |
|
Alejandro Celaya
|
06fa33877b
|
Moved some exceptions from core to common
|
2016-07-20 10:13:53 +02:00 |
|
Alejandro Celaya
|
c290bed354
|
Created VisitLocation entity
|
2016-07-20 09:35:46 +02:00 |
|
Alejandro Celaya
|
ab9c2f728a
|
Created Core module
|
2016-07-19 18:01:39 +02:00 |
|