Alejandro Celaya
|
0c1ecd3caa
|
Created DropDefaultDomainFromQueryMiddlewareTest
|
2020-02-02 19:13:32 +01:00 |
|
Alejandro Celaya
|
c07c37f7bd
|
Created middleware to drop domain from query when it is the default one
|
2020-02-02 19:03:43 +01:00 |
|
Alejandro Celaya
|
fe652c67f4
|
Covered with API tests getting invalid short URLs by short code and domain
|
2020-02-02 13:15:08 +01:00 |
|
Alejandro Celaya
|
297985cf01
|
Ensured trying to fetch a short URL for any operation through the API results in 404 if it does not match with porovided domain
|
2020-02-02 12:58:26 +01:00 |
|
Alejandro Celaya
|
e87d4d61bc
|
Added API test for editing tags with and without domain
|
2020-02-02 10:53:49 +01:00 |
|
Alejandro Celaya
|
e58f2a384e
|
Added API test for visits with and without domain
|
2020-02-02 10:46:38 +01:00 |
|
Alejandro Celaya
|
881002634a
|
Added API tests for short URL deletion with domain
|
2020-02-02 10:28:10 +01:00 |
|
Alejandro Celaya
|
aa80c2bb82
|
Updated API tests so that fixture short URLs are created with matching short codes and different domains
|
2020-02-02 09:51:17 +01:00 |
|
Alejandro Celaya
|
1a8e4cdfd7
|
Exposed domain on short URLs
|
2020-02-02 08:57:04 +01:00 |
|
Alejandro Celaya
|
6858dc4785
|
Updated setting short URL tags so that it accepts providing the domain
|
2020-02-01 22:59:21 +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
|
732bb06c62
|
Updated short URL deletion so that it accepts the domain
|
2020-02-01 18:06:50 +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
|
fd82de31c0
|
Fixed the way ShortUrlIdentifier is created from requests, on different request scopes
|
2020-02-01 12:54:10 +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
|
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
|
6ff5a532ea
|
Added extra API test covering complex order by for short URL lists
|
2020-01-28 11:20:48 +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
|
240d2588f9
|
Extracted some private functions ase helper global functions
|
2020-01-28 09:41:48 +01:00 |
|
Alejandro Celaya
|
4ebd48b2b0
|
Created new service to resolve short URLs
|
2020-01-26 19:21:51 +01:00 |
|
Alejandro Celaya
|
1f9a912c04
|
Added API tests covering the edition of short URL meta with resetted values
|
2020-01-26 09:29:04 +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
|
09e3464426
|
Ensured CrossDomainMiddleware always returns empty responses with success status on OPTIONS requests
|
2020-01-11 20:36:17 +01:00 |
|
Alejandro Celaya
|
2b544ad141
|
Refactored Rest ConfigProvider so that it appends the health action with and without version
|
2020-01-07 18:07:51 +01:00 |
|
Alejandro Celaya
|
36d5e057d0
|
Ensured the health action is registered bit with and without version
|
2020-01-06 23:32:43 +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
|
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
|
339121fbb1
|
Removed PathVersionMiddleware as routes without version are not longer supported
|
2019-12-31 16:26:00 +01:00 |
|
Alejandro Celaya
|
5c90a7c7a7
|
Removed remaining deprecated elements
|
2019-12-31 16:05:02 +01:00 |
|
Alejandro Celaya
|
434b56fa8c
|
Removed several deprecated components
|
2019-12-31 15:38:37 +01:00 |
|
Alejandro Celaya
|
bd6243b2ac
|
Updated to problem-details 1.1, removing custom code
|
2019-12-30 22:42:29 +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
|
b17bcb6c93
|
Updated LocateShortUrlVisit so that it dispatches a VisitLocated event
|
2019-12-28 13:07:11 +01:00 |
|
Alejandro Celaya
|
4886825564
|
Improved NotifyVisitToWebHooksTest to kill more mutants
|
2019-12-28 10:43:13 +01:00 |
|
Alejandro Celaya
|
79cd3ba912
|
Created NotifyVisitToWebhooksTest
|
2019-12-27 20:32:21 +01:00 |
|
Alejandro Celaya
|
75b91dc26b
|
Hardcoded different creation dates for fixture short URLs to avoid random API test failures
|
2019-12-18 15:26:23 +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
|
8ad8b08aa4
|
Improved ListShortUrlsActionTest covering different scenarios in which date ranges are provided
|
2019-12-16 21:55:48 +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
|
99fd5f937e
|
Fixed existing tests and coding styles
|
2019-12-16 15:16:18 +01:00 |
|
Alejandro Medina
|
a28e7987e6
|
fixup! Add date range filter to list urls endpoint parameters
|
2019-12-14 18:32:58 -03:00 |
|
Alejandro Medina
|
f9ba322547
|
Add date range filter to list urls endpoint parameters
|
2019-12-14 13:55:03 -03: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
|
05451e3d1a
|
Handled tag conflict from rename tag action
|
2019-12-06 21:03:27 +01:00 |
|
Alejandro Celaya
|
7f43890713
|
Improved CreateShortUrlAction test so that it cover more mutants
|
2019-12-01 12:26:31 +01:00 |
|
Alejandro Celaya
|
57070ef155
|
Improved Rest's ConfigProvider test to kill more mutants
|
2019-12-01 12:04:31 +01:00 |
|
Alejandro Celaya
|
fc5904e743
|
Improved BodyParserMiddlewareTest to kill more mutants
|
2019-12-01 10:58:48 +01:00 |
|
Alejandro Celaya
|
46c0620236
|
More test improvements trying to increase mutation score
|
2019-12-01 10:47: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
|
d83d2f82bd
|
Added more strict checks on API errors tests
|
2019-11-27 20:48:35 +01:00 |
|
Alejandro Celaya
|
fffb2872ef
|
Replaced hardcoded error response by the use of a problem details action
|
2019-11-26 22:18:55 +01:00 |
|
Alejandro Celaya
|
3b56fc3760
|
Refactored and fixed unit tests
|
2019-11-26 22:12:52 +01:00 |
|
Alejandro Celaya
|
5213faa0a1
|
Converted VerifyAuthenticationException into a problem details exception
|
2019-11-26 22:03:40 +01:00 |
|
Alejandro Celaya
|
6f4e5175da
|
Converted MissingAuthenticationException into a problem details exception
|
2019-11-26 21:43:29 +01:00 |
|
Alejandro Celaya
|
f502eb0195
|
Added new test for the case in which an invalid URL is provided
|
2019-11-26 21:33:22 +01:00 |
|
Alejandro Celaya
|
509c9fe2e8
|
Improved AuthenticationMiddleware API tests
|
2019-11-26 21:29:25 +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
|
cdd36b6712
|
Created BackwardsCompatibleProblemDetailsMiddlewareTest
|
2019-11-24 13:24:52 +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
|
a0510d6a69
|
Removed content-based-error-handler in preparation for the problem details module
|
2019-11-22 18:01:38 +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
|
b3b67b051d
|
Created API tests for errors when updating tags
|
2019-11-21 19:03:34 +01:00 |
|
Alejandro Celaya
|
8607d58e18
|
Created API tests for errors when editting short URL tags
|
2019-11-21 18:49:55 +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
|
9096318968
|
Created API tests for errors when deleting short URLs
|
2019-11-20 20:38:19 +01:00 |
|
Alejandro Celaya
|
ba6e8c4092
|
Created API tests for errors when editing a short URL
|
2019-11-20 20:31:18 +01:00 |
|
Alejandro Celaya
|
98b6dba05d
|
Removed generic error handling from action that will usually be handled by ErrorHandler middleware
|
2019-11-20 20:21:02 +01:00 |
|
Alejandro Celaya
|
84c4631124
|
Deleted specific factory by replacing it by ConfigAbstractFactory
|
2019-11-20 20:18:21 +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
|
264b8c2a9e
|
Added support for IDN
|
2019-11-16 10:06:55 +01:00 |
|
Alejandro Celaya
|
39ac2efe26
|
Updated to latest shlink-common with bug fixes
|
2019-11-01 17:16:56 +01:00 |
|
Alejandro Celaya
|
5361f33cc1
|
Some more refactorings
|
2019-11-01 09:52:56 +01:00 |
|
Alejandro Celaya
|
b5e4da847a
|
Allowed port number on domain field when creating shotr URLs
|
2019-10-20 10:30:11 +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
|
f31dc6c6e5
|
Added missing return type hints
|
2019-10-02 20:15:14 +02:00 |
|
Alejandro Celaya
|
f067d0e831
|
Allowed to provide the domain when creating a short URL
|
2019-10-02 20:13:25 +02:00 |
|
Alejandro Celaya
|
8da6b336f5
|
Added API test which checks short URLs with a domain are parsed as such
|
2019-10-01 20:24:11 +02:00 |
|
Alejandro Celaya
|
6720d12ab8
|
Removed use of Interop container
|
2019-08-12 18:59:02 +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
|
97a362617d
|
Added new API test for Options requests
|
2019-08-11 14:21:35 +02:00 |
|
Alejandro Celaya
|
24e708b7e1
|
Removered registered options middleware
|
2019-08-11 14:02:25 +02:00 |
|
Alejandro Celaya
|
334cc231dc
|
Final changes done on Common module
|
2019-08-11 13:44:42 +02:00 |
|
Alejandro Celaya
|
8f929c0ee3
|
Dropped Integrations module and created LICENSE files for new modules
|
2019-08-11 13:20:18 +02:00 |
|
Alejandro Celaya
|
53243d1764
|
Moved WrongIpException to IpGeolocation module
|
2019-08-10 23:26:39 +02:00 |
|
Alejandro Celaya
|
0c26198b55
|
Improved tests to reach 75% MSI
|
2019-08-08 17:06:20 +02:00 |
|
Alejandro Celaya
|
a304cca3b6
|
Improved ListShortUrlsActionTest
|
2019-08-08 16:43:47 +02:00 |
|
Alejandro Celaya
|
aff1df32f2
|
Updated to coding-standard library v1.2.2
|
2019-08-01 19:49:54 +02:00 |
|
Alejandro Celaya
|
46a27a9d0a
|
Added meta property to ShortUrlDataTransformer
|
2019-07-08 18:23:38 +02:00 |
|
Alejandro Celaya
|
f45e34cfcf
|
Documented deprecated endpoint
|
2019-05-05 09:52:49 +02:00 |
|
Alejandro Celaya
|
320c8e2d6b
|
Ensured accepted methods on CORS requests are dynamically fetched from route match when possible
|
2019-05-05 09:45:35 +02:00 |
|
Alejandro Celaya
|
988de0b96e
|
Updated edit short URL endpoint to be used with patch instead of put
|
2019-05-05 09:21:57 +02:00 |
|
Alejandro Celaya
|
4b556cd79f
|
Updated to shlinkio coding standard 1.1.0
|
2019-02-26 22:56:43 +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
|
2175b8a7bb
|
Improved tests to increase MSI to 70%
|
2019-02-16 21:58:14 +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
|
810b25ff14
|
Added API tests covering creating short URLs with new findIfExists param
|
2019-02-03 11:01:38 +01:00 |
|
Alejandro Celaya
|
4c46aaead8
|
Improved API tests and added test for short URLs creation
|
2019-02-02 11:05:28 +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
|
d6a7a6ce66
|
Created new API test
|
2019-01-27 12:36:22 +01:00 |
|
Alejandro Celaya
|
05c7672de3
|
Improved API tests by adding fixtures
|
2019-01-27 12:14:22 +01:00 |
|
Alejandro Celaya
|
76d8fd1023
|
Improved how API tests are executed
|
2019-01-27 10:54:04 +01:00 |
|
Alejandro Celaya
|
558e259b84
|
Minor refactorings
|
2019-01-27 10:30:38 +01:00 |
|
Alejandro Celaya
|
22d61fead7
|
Prepared configs for API tests
|
2019-01-26 10:19:20 +01:00 |
|
Alejandro Celaya
|
144a5415da
|
Handled connection exceptions in Health action
|
2018-12-29 13:50:42 +01:00 |
|
Alejandro Celaya
|
d58e24bce5
|
Created health action related tests
|
2018-12-29 11:54:28 +01:00 |
|
Alejandro Celaya
|
0f86123ccb
|
Finished health action implementation
|
2018-12-29 11:54:28 +01:00 |
|
Alejandro Celaya
|
3f65ef998c
|
Created HealthAction
|
2018-12-29 11:54:28 +01:00 |
|
Alejandro Celaya
|
32070b1fa7
|
Do not use ServerRequestFactory::fromGlobals in tests
|
2018-12-25 23:19:36 +01:00 |
|
Alejandro Celaya
|
a28c1d17c5
|
Moved entities mappings from annotations to external config files
|
2018-12-16 12:08:03 +01:00 |
|
Alejandro Celaya
|
b876870bd8
|
Encapsulated in VisitsParams how the itemsPerPage param is handled
|
2018-11-29 08:02:22 +01:00 |
|
Alejandro Celaya
|
d0e0aea0f1
|
Updated visits to support pagination
|
2018-11-28 20:39:08 +01:00 |
|
Alejandro Celaya
|
b0f250ed8a
|
Created factory method to build VisitParams from a raw dataset
|
2018-11-28 19:58:45 +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
|
d4d65bdf37
|
Added missing X-Api-Key header to cross domain middleware
|
2018-11-18 17:03:50 +01:00 |
|
Alejandro Celaya
|
90732a4fad
|
Removed translations from Rest module
|
2018-11-18 16:28:04 +01:00 |
|
Alejandro Celaya
|
fd6d180eba
|
Created chainIpLocationResolver
|
2018-11-11 21:28:42 +01:00 |
|
Alejandro Celaya
|
521f6f2b18
|
Added functional-php library
|
2018-11-02 10:54:42 +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
|
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
|
787b791651
|
Replaced hardcoded exceptions concatenations by PSR approach
|
2018-10-20 12:50:10 +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
|
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
|
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
|
9d8fb055b1
|
Updated translations
|
2018-09-15 18:03:54 +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
|
07165f344f
|
Normalized entities adding missing type hints and removing superfluous comments
|
2018-09-15 10:03:42 +02:00 |
|
Alejandro Celaya
|
f3c92f4110
|
Updated short URL creation responses to include more information
|
2018-09-12 20:32:58 +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
|
5be5e0bc60
|
Fixed coding styles
|
2018-07-31 19:53:59 +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
|
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
|
91d350b12f
|
Removed path workaround in PathVersionMiddleware and simplified code
|
2018-04-07 08:31:03 +02:00 |
|
Alejandro Celaya
|
fe9ab20cbb
|
Applied some improvements
|
2018-03-27 23:57:29 +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
|
cf8b778711
|
Updated language files
|
2018-01-21 09:40:38 +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
|
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
|
db956a1f40
|
Fixed all possible PHPStan errors
|
2017-12-27 16:23:54 +01:00 |
|
Alejandro Celaya
|
4f3995ea80
|
Fixed phpstan errors in ListKeysCommand
|
2017-12-27 15:56:26 +01: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
|
a1c8c51f70
|
Updated translations
|
2017-10-21 20:21:08 +02:00 |
|
Alejandro Celaya
|
6bbe66e8f1
|
Improved CreateShortcodeActiontest
|
2017-10-21 20:16:39 +02:00 |
|
Alejandro Celaya
|
5f0d281255
|
Updated create shortcode action to accept the custom slug
|
2017-10-21 20:09:30 +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
|
2d85a207d1
|
Removed comented translations
|
2017-10-13 12:31:44 +02:00 |
|
Alejandro Celaya
|
0df8f17e7b
|
Added new translations
|
2017-10-13 12:30:54 +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
|
391ef5c323
|
Added return typehint
|
2017-10-12 11:59:22 +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
|
e53ffc8d43
|
Migrated templates to plates
|
2017-10-12 10:03:20 +02:00 |
|
Alejandro Celaya
|
01a4f9f867
|
Removed any remaining reference to AnnotatedFactory
|
2017-09-30 12:13:47 +02:00 |
|
Alejandro Celaya
|
f3389d3738
|
Updated language files
|
2017-07-16 09:40:34 +02:00 |
|
Alejandro Celaya
|
c8368c9098
|
Updated language files
|
2017-07-15 12:16:15 +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
|
575509c45b
|
Created CreateTagsActiontest
|
2017-07-15 09:12:07 +02:00 |
|
Alejandro Celaya
|
563e654b99
|
Created DeleteTagsActionTest
|
2017-07-15 09:10:09 +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
|
5c7962966d
|
Created ListTagsActionTest
|
2017-07-07 13:28:58 +02:00 |
|
Alejandro Celaya
|
95ec7e0afa
|
Registered action to list tags
|
2017-07-07 13:12:45 +02:00 |
|
Alejandro Celaya
|
486ea10c3c
|
Renamed EditTagsAction to EditShortcodeTagsAction
|
2017-07-07 11:45:20 +02:00 |
|
Alejandro Celaya
|
52478ca60a
|
Returned all allowed methods until fast route router is fixed
|
2017-04-14 13:27:41 +02:00 |
|
Alejandro Celaya
|
62b49dcb19
|
Set cross domain allow-methods header with the same value as the allow header
|
2017-04-14 12:55:59 +02:00 |
|
Alejandro Celaya
|
a365faef9c
|
Removed requirement of OPTIONS on every route
|
2017-04-14 12:52:24 +02:00 |
|
Alejandro Celaya
|
ec4a413a5b
|
Removed options bypass in actions in favor of implicit options middleware
|
2017-04-13 09:45:31 +02:00 |
|
Alejandro Celaya
|
596d1ee797
|
Registered implicit options middleware
|
2017-04-13 09:43:11 +02:00 |
|
Alejandro Celaya
|
2e5a7d76df
|
Migrated rest actions to psr-15 middleware
|
2017-03-25 10:04:48 +01:00 |
|
Alejandro Celaya
|
288249d0b8
|
Renamed JsonErrorHandler to JsonErrorResponseGenerator
|
2017-03-25 09:46:29 +01:00 |
|
Alejandro Celaya
|
cd47aae902
|
Migrated CrossDomainMiddleware to psr-15 middleware
|
2017-03-25 09:44:34 +01:00 |
|
Alejandro Celaya
|
9bd18ee041
|
Migrated CheckAuthenticationMiddleware to psr-15 middleware
|
2017-03-25 09:37:13 +01:00 |
|
Alejandro Celaya
|
22c76df8e6
|
Migrated BodyParserMiddleware to psr-15 middleware
|
2017-03-25 09:22:00 +01:00 |
|
Alejandro Celaya
|
d1018b6da7
|
Fixed tests
|
2017-03-24 21:38:43 +01:00 |
|
Alejandro Celaya
|
fe7928ae0e
|
Fixed JsonErrorHandler and prevented AuthorizationMiddleware to eat exceptions
|
2017-03-24 21:31:55 +01:00 |
|
Alejandro Celaya
|
f6c39285c9
|
Updated to expressive 2 and used new error handling system
|
2017-03-24 21:10:25 +01:00 |
|
Alejandro Celaya
|
0e2a289f9f
|
Updated to phpunit 6
|
2017-03-24 20:34:18 +01:00 |
|
Alejandro Celaya
|
de9d9d8667
|
Updated PathVersionMiddleware so that it is only applied to rest routes
|
2017-01-21 20:12:12 +01:00 |
|
Alejandro Celaya
|
a15b17e08b
|
Fixed regression bug while processing versionning for rest paths
|
2016-10-23 10:29:54 +02: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
|
18ae541c93
|
Improved body parsing on BodyParserMiddleware
|
2016-10-22 22:17:04 +02:00 |
|
Alejandro Celaya
|
31594d47b3
|
Created PathVersionMiddlewareTest
|
2016-10-22 18:52:40 +02:00 |
|
Alejandro Celaya
|
42f86a4a24
|
Added versioning to API endpoints, allowing not to pass the version which will default to v1
|
2016-10-22 18:46:53 +02:00 |
|
Alejandro Celaya
|
47a2c18c7e
|
Added the ability to filter by tag in shotcodes:list command
|
2016-10-22 13:11:24 +02:00 |
|
Alejandro Celaya
|
52bb14bd66
|
Implemented filtering by tags in ListShortcodesAction
|
2016-10-22 13:04:17 +02:00 |
|
Alejandro Celaya
|
543c0e62d0
|
Added search term filtering to short codes list
|
2016-10-22 12:40:51 +02:00 |
|
Alejandro Celaya
|
cf60440288
|
Fixed possible PHP errors being missed while checking REST auth
|
2016-08-29 12:43:02 +02:00 |
|
Alejandro Celaya
|
a9f480ca99
|
Fixed error while checking an API key that doesn't exist
|
2016-08-28 09:46:11 +02:00 |
|
Alejandro Celaya
|
4bd67d5f98
|
Fixed cross domain middleware not exposing the Authorization header
|
2016-08-27 13:00:41 +02:00 |
|
Alejandro Celaya
|
b13c95cf1a
|
Placed cross domain middleware as the first one for rest requests
|
2016-08-21 21:21:31 +02:00 |
|
Alejandro Celaya
|
ad6ef22b72
|
Updated languages
|
2016-08-21 18:17:39 +02:00 |
|
Alejandro Celaya
|
3376725152
|
Created EditTagsActiontest
|
2016-08-21 18:06:34 +02:00 |
|
Alejandro Celaya
|
d7b18776f1
|
Improved error response in edit tag request
|
2016-08-21 17:55:26 +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
|
372488cbb4
|
Created middleware to parse PUT request bodies in rest requests
|
2016-08-21 13:52:15 +02:00 |
|
Alejandro Celaya
|
b6fee0ebaf
|
Added option to set tags while creating short code from rest API
|
2016-08-21 13:07:12 +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
|
a2c2bc166c
|
Removed wrong spaces
|
2016-08-20 19:11:20 +02:00 |
|
Alejandro Celaya
|
e52983c5d9
|
Updated translations
|
2016-08-18 17:28:04 +02:00 |
|
Alejandro Celaya
|
00c56ca594
|
Fixed tests
|
2016-08-15 09:52:44 +02:00 |
|
Alejandro Celaya
|
566ee7ef6f
|
Finished custom config command
|
2016-08-14 10:30:43 +02:00 |
|
Alejandro Celaya
|
8f4d305982
|
Added ErrorHandler package dependency and remove local files
|
2016-08-12 17:54:32 +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
|
3bd4f506e0
|
Updated status returned in REST endpoints to be 404 when something is not found
|
2016-08-08 09:46:40 +02:00 |
|
Alejandro Celaya
|
2a089f05b1
|
Updated languages
|
2016-08-07 20:21:38 +02:00 |
|
Alejandro Celaya
|
258f954a38
|
Deleted rest token related classes
|
2016-08-07 19:57:23 +02:00 |
|
Alejandro Celaya
|
7b0beb3b8c
|
Updated CheckAuthenticationMiddleware to work with JWT and the Authorization header
|
2016-08-07 19:53:14 +02:00 |
|
Alejandro Celaya
|
9573e9f4ef
|
Updated AuthenticateAction to generate and return a JWT
|
2016-08-07 19:13:40 +02:00 |
|
Alejandro Celaya
|
a60080b1ce
|
Created JWTService and related classes
|
2016-08-07 14:44:33 +02:00 |
|
Alejandro Celaya
|
1d92e87d50
|
Updated AuthenticateAction to use the APiKeyService instead of the RestTokenService
|
2016-08-07 10:26:34 +02:00 |
|
Alejandro Celaya
|
dd1bc49b79
|
Added method to ApiKeyService to list api keys
|
2016-08-06 18:08:09 +02:00 |
|
Alejandro Celaya
|
74777c2234
|
Created command to generate a new api key
|
2016-08-06 18:07:48 +02:00 |
|
Alejandro Celaya
|
99d7e6dd7d
|
Fixed AuthenticateAction not working with only one group of params
|
2016-08-06 13:24:06 +02:00 |
|
Alejandro Celaya
|
7b746f76b0
|
Created APiKeyService and tests
|
2016-08-06 13:18:27 +02:00 |
|
Alejandro Celaya
|
2767a14101
|
Created ApiKey entity
|
2016-08-06 12:50:44 +02:00 |
|
Alejandro Celaya
|
30988b10d1
|
Added Laravel's env helper
|
2016-08-01 14:36:43 +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
|
3d5e5d5df9
|
Created ResolveUrlActionTest
|
2016-07-31 16:24:00 +02:00 |
|
Alejandro Celaya
|
08f6d2de78
|
Created ListShortcodesActionTest
|
2016-07-31 16:16:26 +02:00 |
|
Alejandro Celaya
|
c6b7515285
|
Created GetVisitsActionTest
|
2016-07-31 16:10:16 +02:00 |
|
Alejandro Celaya
|
04e0a192ad
|
Created CreateShortcodeActionTest
|
2016-07-31 15:58:18 +02:00 |
|
Alejandro Celaya
|
878518ced7
|
Created AuthenticateActionTest
|
2016-07-31 13:33:55 +02:00 |
|
Alejandro Celaya
|
6f7e4f7e7f
|
Created RestUtilsTest
|
2016-07-31 13:18:36 +02:00 |
|
Alejandro Celaya
|
f701e65f75
|
Created RestTokenServiceTest
|
2016-07-31 13:14:06 +02:00 |
|
Alejandro Celaya
|
ef6f4fba66
|
Improved CheckAuthenticationMiddlewareTest
|
2016-07-31 13:01:08 +02:00 |
|
Alejandro Celaya
|
f904f79c18
|
Created CheckAuthenticationMiddlewareTest
|
2016-07-30 23:26:49 +02:00 |
|
Alejandro Celaya
|
41939b790d
|
Added more Rest module tests
|
2016-07-30 23:17:13 +02:00 |
|
Alejandro Celaya
|
e345c2bbfe
|
Moved error handler classes from Expressive namespace to ErrorHandler namespace
|
2016-07-30 13:51:52 +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
|
75e744838c
|
Created content based error handler which allows managing errors in a different way depending on the Accepted content type from the client
|
2016-07-27 20:17:23 +02:00 |
|
Alejandro Celaya
|
f3d2cf5e15
|
Deleted ResponseTypeMiddleware which is not ussable anymore
|
2016-07-26 19:10:43 +02:00 |
|
Alejandro Celaya
|
a81dba58bd
|
Defined custom NotFoundMiddleware for rest routes
|
2016-07-26 19:10:01 +02:00 |
|
Alejandro Celaya
|
83f29080c6
|
Improved the way rest errors are catched
|
2016-07-26 11:05:17 +02:00 |
|
Alejandro Celaya
|
0ef1e416c6
|
Created middleware to catch rest errors and return JSON responses
|
2016-07-26 09:54:13 +02:00 |
|
Alejandro Celaya
|
cd5bbcd60a
|
Reused middleware to check Accept-Language header on any HTTP related middleware
|
2016-07-21 16:59:27 +02:00 |
|
Alejandro Celaya
|
e42469b090
|
Added translations for error messages returned by the REST API
|
2016-07-21 16:41:16 +02:00 |
|
Alejandro Celaya
|
06868f782b
|
Created middleware for rest that reads the language from the Accept-Language header
|
2016-07-21 16:20:27 +02:00 |
|
Alejandro Celaya
|
3ba51c5390
|
Improved visits REST endpoint path
|
2016-07-21 10:16:36 +02:00 |
|
Alejandro Celaya
|
0ef9db0bdf
|
Added option to filter by date in visits REST endpoint
|
2016-07-21 10:13:09 +02:00 |
|
Alejandro Celaya
|
06fa33877b
|
Moved some exceptions from core to common
|
2016-07-20 10:13:53 +02:00 |
|
Alejandro Celaya
|
e28e984278
|
Improved CrossDomainMiddleware by allowing the same origin that was requested
|
2016-07-19 22:38:14 +02:00 |
|
Alejandro Celaya
|
839329d627
|
Improved CrossDomainMiddleware preventing headers to be injected on non-CORS requests
|
2016-07-19 20:20:18 +02:00 |
|
Alejandro Celaya
|
f917697b8e
|
Added first tests to Rest module
|
2016-07-19 18:19:05 +02:00 |
|
Alejandro Celaya
|
ab9c2f728a
|
Created Core module
|
2016-07-19 18:01:39 +02:00 |
|
Alejandro Celaya
|
ba06ad44bd
|
Created Common module
|
2016-07-19 17:38:41 +02:00 |
|
Alejandro Celaya
|
8fc88171ee
|
Moved AuthenticationException to Rest module
|
2016-07-19 17:27:55 +02:00 |
|
Alejandro Celaya
|
170c96b8ef
|
Fixed config files names
|
2016-07-19 17:12:50 +02:00 |
|
Alejandro Celaya
|
55f954f50f
|
Created Rest module
|
2016-07-19 17:07:59 +02:00 |
|