Alejandro Celaya
|
3ff9e101a8
|
Added support to print all short URLs at once from CLI
|
2020-07-14 13:00:56 +02:00 |
|
Alejandro Celaya
|
78b838f6b6
|
Used league/uri to validate URLs including deeplinks, and fixed tests
|
2020-06-27 11:14:10 +02:00 |
|
Alejandro Celaya
|
08950f6433
|
Replaced UriInterface by string when creating a short URL
|
2020-06-27 10:48:35 +02:00 |
|
Alejandro Celaya
|
c336bb1901
|
Updated ListTagsCommand so that it displays extended information
|
2020-05-08 12:39:02 +02:00 |
|
Alejandro Celaya
|
06c59fe2dd
|
Fixed invalid imports after class refactoring
|
2020-05-08 10:29:24 +02:00 |
|
Alejandro Celaya
|
626c92460b
|
Enhanced list tags endpoint so that it can also return stats foir every tag
|
2020-05-08 10:15:33 +02:00 |
|
Alejandro Celaya
|
53ba58d7e9
|
Moved initialization of the io object in LocateVisitsCommand to the initialize method
|
2020-03-28 10:37:41 +01:00 |
|
Alejandro Celaya
|
4d39c7041b
|
Improved LocateVisitsCommandtest so that it covers all possible workflows
|
2020-03-28 10:23:34 +01:00 |
|
Alejandro Celaya
|
55778eb810
|
Ensured old visit locations are deleted when relocating a visit that has already been located
|
2020-03-28 09:27:45 +01:00 |
|
Alejandro Celaya
|
fb8ab0b5fe
|
Implemented how to reprocess the locations of all existing visits
|
2020-03-28 09:12:15 +01:00 |
|
Alejandro Celaya
|
fcce18b059
|
Changed VisitLocator signature so that it expects an object implementing an interface instead of two arbitrary callbacks
|
2020-03-28 08:05:15 +01:00 |
|
Alejandro Celaya
|
b8522b8c17
|
Created new method to locate empty visits
|
2020-03-26 22:37:46 +01:00 |
|
Alejandro Celaya
|
4539ab2dcf
|
Moved hardcoded class alias to a namespaced constant
|
2020-03-22 17:42:56 +01:00 |
|
Alejandro Celaya
|
6ddd70d21d
|
Added --no-interaction to commands run internally from shlink DB commands
|
2020-03-15 17:25:39 +01:00 |
|
Alejandro Celaya
|
d32112fe7e
|
Updated shlink packages and installed shlink-config
|
2020-03-15 17:14:37 +01:00 |
|
Alejandro Celaya
|
33a404f051
|
Updated CLI command to create short URLs so that it respects configs for short code length
|
2020-02-18 20:34:48 +01:00 |
|
Alejandro Celaya
|
732bb06c62
|
Updated short URL deletion so that it accepts the domain
|
2020-02-01 18:06:50 +01:00 |
|
Alejandro Celaya
|
5f00d8b732
|
Added domain flag to GetVisitsCommand
|
2020-02-01 17:56:43 +01:00 |
|
Alejandro Celaya
|
279bd12a2d
|
Ensured domain can be passed when fetching visits for a short URL
|
2020-02-01 17:34:16 +01:00 |
|
Alejandro Celaya
|
327d35fe57
|
Created DTO used to transfer props needed to uniquely identify a short URL
|
2020-02-01 11:47:01 +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
|
4ebd48b2b0
|
Created new service to resolve short URLs
|
2020-01-26 19:21:51 +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
|
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
|
f99ca464de
|
Removed old command aliases
|
2019-12-31 16:08:08 +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
|
bfeb915cd2
|
Replaced regular callbacks by arrow functions when possible
|
2019-12-29 23:16:55 +01:00 |
|
Alejandro Celaya
|
b904c6d00d
|
Added property types to some classes
|
2019-12-29 22:27:00 +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
|
a070a68a57
|
Fixed merge conflicts
|
2019-12-06 23:34:50 +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
|
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
|
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
|
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
|
2f1de4a162
|
Renamed InvalidShortCodeException to ShortCodeNotFoundException
|
2019-11-24 23:15:55 +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
|
6b8fc3228e
|
Handled IDN domains also on internal redirections when validating a URL
|
2019-11-16 12:38:45 +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
|
9b767ee9f3
|
Updated to shlink-ip-geolocation v1.1
|
2019-10-25 20:00:26 +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
|
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
|
2ffaabe594
|
Added option to define domain to GenerateShortUrlCommand
|
2019-10-02 20:29:13 +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
|
7b0ccc9f69
|
Removed references to anything related with translations
|
2019-09-12 08:09:17 +02:00 |
|
Alejandro Celaya
|
6720d12ab8
|
Removed use of Interop container
|
2019-08-12 18:59:02 +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
|
848d574f68
|
Moved too concrete class from Common to Core
|
2019-08-11 13:33:42 +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
|
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
|
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
|
aff1df32f2
|
Updated to coding-standard library v1.2.2
|
2019-08-01 19:49:54 +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
|
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
|
46a27a9d0a
|
Added meta property to ShortUrlDataTransformer
|
2019-07-08 18:23: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
|
34ff831473
|
Added support to ignore errors in UpdateDbCommand
|
2019-03-16 11:08:12 +01:00 |
|
Alejandro Celaya
|
4b556cd79f
|
Updated to shlinkio coding standard 1.1.0
|
2019-02-26 22:56:43 +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
|
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
|
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
|
04d4d4a8d7
|
Updated GenerateShortUrlCommand to accept the findIfExists flag
|
2019-02-03 12:11:22 +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
|
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
|
d0e0aea0f1
|
Updated visits to support pagination
|
2018-11-28 20:39:08 +01:00 |
|
Alejandro Celaya
|
45254606d4
|
Added DTO used to pass filtering params to VisitsTracker
|
2018-11-27 21:09:27 +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
|
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
|
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
|
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
|
bf56e6adaf
|
Created UpdateDbCommandTest
|
2018-11-12 20:37:30 +01:00 |
|
Alejandro Celaya
|
de0470d200
|
Created command to update GeoLite2 database
|
2018-11-12 20:06:12 +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
|
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
|
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
|
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
|
5be7f839f3
|
Ensured visits with empty remote address are not tried to be located
|
2018-10-18 19:22:24 +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
|
0183c8a4b7
|
Migrated from standard datetime objects to chronos objects
|
2018-09-29 12:52:32 +02:00 |
|