Alejandro Celaya
|
050f83e3bb
|
Wrapped logic to track requests to a new RequestTracker service
|
2021-07-15 17:23:09 +02:00 |
|
Alejandro Celaya
|
32f7b4fbf6
|
Created new middleware that redirects to short URLs with an extra path
|
2021-07-15 16:54:54 +02:00 |
|
Alejandro Celaya
|
265e8cdeaf
|
Refactored tracking actions
|
2021-07-15 13:28:31 +02:00 |
|
Alejandro Celaya
|
d4cad337fc
|
Created component wrapping the logic to determine what's the URL to redirect to for a ShortUrl
|
2021-07-14 16:36:03 +02:00 |
|
Alejandro Celaya
|
9fa32b5b6b
|
Added detection of visits from potential bots
|
2021-05-22 15:09:14 +02:00 |
|
Alejandro Celaya
|
3ef02d46c0
|
Added logic to resolve crawlable short codes
|
2021-05-22 09:34:42 +02:00 |
|
Alejandro Celaya
|
348e34d52e
|
Added new crawlable flag to Short URLs
|
2021-05-22 07:35:47 +02:00 |
|
Alejandro Celaya
|
7280b48cdc
|
Created action to dynamically build the robots.txt
|
2021-05-22 07:15:34 +02:00 |
|
Alejandro Celaya
|
d423d18249
|
Defined new structure for tracking config, together with new options
|
2021-05-16 09:30:15 +02:00 |
|
Alejandro Celaya
|
74ea5969be
|
Created new listener to update the GeoLite db after a visit occurs
|
2021-04-07 16:29:29 +02:00 |
|
Alejandro Celaya
|
c4718e7523
|
Extended error handling on LocateVisit handler
|
2021-04-07 12:53:53 +02:00 |
|
Alejandro Celaya
|
b4d137375a
|
Flipped events triggered when locating a visit, so that geolocation is done synchronously
|
2021-04-07 11:35:02 +02:00 |
|
Alejandro Celaya
|
d72b9cf646
|
Updated to symfony/mercure 0.5
|
2021-04-02 09:46:02 +02:00 |
|
Alejandro Celaya
|
7d6d8e3a68
|
Added support to publish orphan visits in mercure
|
2021-02-11 22:12:38 +01:00 |
|
Alejandro Celaya
|
2fc6fb0a9a
|
Added option to disable orphan visitstracking
|
2021-02-10 20:09:25 +01:00 |
|
Alejandro Celaya
|
5d98316c4e
|
Created new REST API action to list orphan visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
ab9042db24
|
Ensured orphan visits are located ASAP when using swoole
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
15061d3e0d
|
Created new middlewares to track not found visits
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
36be44e7b5
|
Moved VisitsTracker service to Visit namespace
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
f5666c9451
|
Added new columns for extra tracking in visits table
|
2021-02-09 23:09:42 +01:00 |
|
Alejandro Celaya
|
608742c2e2
|
Added helper service to avoid code duplication when resolving short URLs titles
|
2021-02-05 17:59:34 +01:00 |
|
Alejandro Celaya
|
7824dddef7
|
Added tracking to tell if short URL titles were autogenerated or not
|
2021-02-03 19:22:47 +01:00 |
|
Alejandro Celaya
|
430c407106
|
Added support for an optional title field in short URLs
|
2021-02-02 21:20:09 +01:00 |
|
Alejandro Celaya
|
8fa0c95f5a
|
Ensured base path is honored when stringifying short URLs with a custom domain
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
9cddedcdba
|
Extracted logic to stringify ShortUrls to its own service
|
2021-02-01 23:18:52 +01:00 |
|
Alejandro Celaya
|
977058d219
|
Updated short URL edition so that it supports editing tags
|
2021-01-31 12:12:21 +01:00 |
|
Alejandro Celaya
|
2e8f5202d0
|
Moved event objects to a sub-namespace inside Core\EventDispatcher
|
2021-01-17 11:42:35 +01:00 |
|
Alejandro Celaya
|
a01e0ba337
|
Changed logic to list domains to centralize conditions in service
|
2021-01-04 15:02:37 +01:00 |
|
Alejandro Celaya
|
a72dc16d85
|
#917
|
2020-11-27 17:05:13 +01:00 |
|
Alejandro Celaya
|
49ea5cc78b
|
#912 Removed dependency on league/plates
|
2020-11-22 18:03:27 +01:00 |
|
Alejandro Celaya
|
259c52a698
|
#867 Ensured status code config is honored when doing not-found redirects
|
2020-11-10 18:08:25 +01:00 |
|
Alejandro Celaya
|
2732b05834
|
Added mechanisms to be able to provide the API key when creating a short URL
|
2020-11-07 09:34:10 +01:00 |
|
Alejandro Celaya
|
97f89bcede
|
Simplified transactional URL shortening
|
2020-11-06 20:05:57 +01:00 |
|
Alejandro Celaya
|
03a9697298
|
Created ImportedLinksProcessorTest
|
2020-10-25 13:20:34 +01:00 |
|
Alejandro Celaya
|
7c343f42c1
|
Improved how existing imported short URLs are checked by tracking its original short code
|
2020-10-25 11:57:26 +01:00 |
|
Alejandro Celaya
|
786e4f642b
|
Moved short code uniqueness checks to external helper class that is used in UrlShortener and ImportedLinksProcessor
|
2020-10-25 11:16:42 +01:00 |
|
Alejandro Celaya
|
554d9b092f
|
Added import_source column in ShortUrls
|
2020-10-23 12:59:39 +02:00 |
|
Alejandro Celaya
|
33d3837795
|
Added dependency on shlinkio/shlink-importer
|
2020-10-22 18:12:22 +02:00 |
|
Alejandro Celaya
|
76d6d9a7a9
|
Created rest endpoint to list existing domains
|
2020-09-27 09:53:12 +02:00 |
|
Alejandro Celaya
|
68db52679b
|
Added support to serve redirects with status 301 and Cache-Control
|
2020-06-17 19:01:56 +02:00 |
|
Alejandro Celaya
|
8f06e4b20f
|
Replaced references to obfuscate by anonymize
|
2020-05-08 15:43:09 +02:00 |
|
Alejandro Celaya
|
eac468514b
|
Allow to determine if remote addresses should be obfuscated at configuration level
|
2020-05-08 13:10:58 +02:00 |
|
Alejandro Celaya
|
00cac4ba72
|
Created rest test for list tags action
|
2020-05-08 11:51:28 +02:00 |
|
Alejandro Celaya
|
9a78fd1a26
|
Fixed definition of inversed many to many entity relationship
|
2020-05-08 10:25:33 +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
|
867659ea25
|
Created index on visits.date column
|
2020-05-03 19:15:26 +02:00 |
|
Alejandro Celaya
|
1ef10f11cb
|
Created new action to get default visit stats
|
2020-05-01 11:40:02 +02:00 |
|
Alejandro Celaya
|
72d8edf4ff
|
Created event listener that notifies mercure hub for new visits
|
2020-04-12 17:05:59 +02:00 |
|
Alejandro Celaya
|
f915b97606
|
Created decorator for database connection closing and reopening for swoole tasks
|
2020-04-11 18:00:40 +02:00 |
|
Alejandro Celaya
|
551368c30d
|
Ensured QR code action respects configured domain
|
2020-04-09 12:31:03 +02:00 |
|
Alejandro Celaya
|
b8522b8c17
|
Created new method to locate empty visits
|
2020-03-26 22:37:46 +01:00 |
|
Alejandro Celaya
|
c88401ef29
|
Added isEmpty column to VisitLocation
|
2020-03-23 20:42:03 +01:00 |
|
Alejandro Celaya
|
5432eb7b77
|
Added URL validation to ShortUrl edition, as long URL can now be edited
|
2020-03-22 17:22:52 +01:00 |
|
Alejandro Celaya
|
181ff16409
|
Registered PersistenceDomainResolver as a service to avoid instantiating a new one on every ShortUrl creation
|
2020-03-22 17:05:59 +01:00 |
|
Alejandro Celaya
|
682a0768b7
|
Moved check for URL validation config option to the UrlValidator itself
|
2020-03-22 16:58:28 +01:00 |
|
Alejandro Celaya
|
5d1d9dcac3
|
Allowed domain to be provided when editing short URL meta
|
2020-02-01 22:54:21 +01:00 |
|
Alejandro Celaya
|
bd2f488e2c
|
Updated entity mappings so that schema an table prefixes can be eventually provided
|
2020-01-29 10:53:06 +01:00 |
|
Alejandro Celaya
|
96350c8b8f
|
Updated entities mapping config so that they return a function
|
2020-01-29 10:06:42 +01:00 |
|
Alejandro Celaya
|
4ebd48b2b0
|
Created new service to resolve short URLs
|
2020-01-26 19:21:51 +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
|
2151b97bec
|
Project migrated from zend to laminas
|
2020-01-01 21:13:09 +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
|
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
|
21a3d4b66b
|
Updated NotifyVisitToWebHooks so that it waits for all requests to finish
|
2019-12-27 17:07:20 +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
|
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
|
264b8c2a9e
|
Added support for IDN
|
2019-11-16 10:06:55 +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
|
b8cdc29d8f
|
Increased long URL size in DB to 2048 characters
|
2019-10-20 09:53:11 +02:00 |
|
Alejandro Celaya
|
e0d20bf8ff
|
Updated to coding styles v2
|
2019-10-05 17:26:10 +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
|
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
|
7b1857dcda
|
Added entities config for domains
|
2019-09-30 19:42:27 +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
|
47ea4218d0
|
Created PreviewGenerator module
|
2019-08-11 19:38:46 +02:00 |
|
Alejandro Celaya
|
334cc231dc
|
Final changes done on Common module
|
2019-08-11 13:44: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
|
aff1df32f2
|
Updated to coding-standard library v1.2.2
|
2019-08-01 19:49:54 +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
|
6fa255386b
|
Defined config to run database tests against mysql and postgres
|
2019-03-05 20:36:35 +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
|
a28c1d17c5
|
Moved entities mappings from annotations to external config files
|
2018-12-16 12:08:03 +01:00 |
|
Alejandro Celaya
|
d7e89ebdae
|
Ensured custom slugs are case sensitive
|
2018-12-01 21:38:29 +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
|
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
|
545094cddf
|
Used middleware from library to actually find visitor IP addresses
|
2018-10-18 20:19:29 +02:00 |
|
Alejandro Celaya
|
5714a8f884
|
Created action to delete short URLs
|
2018-09-15 12:56:17 +02:00 |
|
Alejandro Celaya
|
394d9ff4d2
|
Defined config and implementation to delete short URLs
|
2018-09-15 11:01:28 +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
|
1437ff48ce
|
Ensured all core actions log errors
|
2018-05-07 10:58:49 +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
|
1e79969c3b
|
Made visits not to be tracked if query param has been provided
|
2018-01-14 09:24:33 +01:00 |
|
Alejandro Celaya
|
781ca39938
|
Fixed merge conflicts
|
2017-10-23 13:28:09 +02:00 |
|
Alejandro Celaya
|
68b4cfbae0
|
Added valid_since and valid_until columns to shoirt_urls table
|
2017-10-21 11:39:27 +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
|
c422a14c5c
|
Improved coding styles
|
2017-10-12 10:13:20 +02:00 |
|
Alejandro Celaya
|
453ca1728e
|
Updated system to use plates instead of twig
|
2017-10-12 09:40:42 +02:00 |
|
Alejandro Celaya
|
b93d65ddc1
|
Replaced more ussages of AnnotatedFactory by ConfigAbstractFactory
|
2017-09-30 12:13:47 +02:00 |
|
Alejandro Celaya
|
c37660f763
|
Created TagService
|
2017-07-07 12:49:41 +02:00 |
|
Alejandro Celaya
|
15247e832e
|
Improved QR code generation route
|
2016-08-18 11:31:04 +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
|
99b7c77997
|
Created action to generate QR codes
|
2016-08-09 10:25:30 +02:00 |
|
Alejandro Celaya
|
a60080b1ce
|
Created JWTService and related classes
|
2016-08-07 14:44:33 +02:00 |
|
Alejandro Celaya
|
270dbc6028
|
Created new entity_manager configuration, dropping old database first level config key
|
2016-08-06 12:40:31 +02:00 |
|
Alejandro Celaya
|
7b1e855e7f
|
Renamed services config files to dependencies
|
2016-07-31 16:32:27 +02:00 |
|
Alejandro Celaya
|
a957f66ed0
|
Renamed services first level config key to dependencies
|
2016-07-31 16:30:05 +02:00 |
|
Alejandro Celaya
|
36259588db
|
Fixed Action prefix on routable middlewares
|
2016-07-27 20:22:50 +02:00 |
|
Alejandro Celaya
|
fb9c7f8eec
|
Used twig extension to load translations on twig templates
|
2016-07-21 16:54:00 +02:00 |
|
Alejandro Celaya
|
dbe1281d2a
|
Created services and command to process visits
|
2016-07-20 19:00:23 +02:00 |
|
Alejandro Celaya
|
39598d8608
|
Moved templates and templates config to Core module
|
2016-07-19 18:32:59 +02:00 |
|
Alejandro Celaya
|
ab9c2f728a
|
Created Core module
|
2016-07-19 18:01:39 +02:00 |
|