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
|
ad1334f289
|
Created database migration which ensures no nulls are present
|
2020-01-10 19:44:35 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
1bf56b658b
|
Improved domain exception tests to cover more possible mutants
|
2019-12-01 10:24:42 +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
|
5266743a0c
|
Added as much additional data as possible to exceptions
|
2019-11-27 20:18:36 +01:00 |
|
Alejandro Celaya
|
3b56fc3760
|
Refactored and fixed unit tests
|
2019-11-26 22:12:52 +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
|
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
|
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
|
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
|
af0ed6135e
|
Updated to latest doctrine versions, solving deprecations
|
2019-11-20 20:03:06 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
d767c415d1
|
Deleted local Common module and used external one
|
2019-08-12 18:34:52 +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
|
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
|
0323e0d17d
|
Simplified IpAddressMiddlewareFactory and decoupled from Core module
|
2019-08-11 10:22:19 +02:00 |
|
Alejandro Celaya
|
53243d1764
|
Moved WrongIpException to IpGeolocation module
|
2019-08-10 23:26:39 +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
|
564b65c8ca
|
Created ValidationExceptionTest
|
2019-08-08 16:20:37 +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
|
0f8dd1effb
|
Added post processing mapping to define the lock store to be used
|
2019-08-07 16:16:53 +02:00 |
|
Alejandro Celaya
|
aff1df32f2
|
Updated to coding-standard library v1.2.2
|
2019-08-01 19:49:54 +02:00 |
|
Alejandro Celaya
|
a1c7e7d5da
|
Updated tests
|
2019-07-20 12:11:07 +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
|
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
|
479760c0ee
|
Created config post processor that parses a simplified config to what shlink expects
|
2019-04-18 10:37:38 +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
|
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
|
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 |
|