diff --git a/scrutinizer.yml b/.scrutinizer.yml_bak similarity index 95% rename from scrutinizer.yml rename to .scrutinizer.yml_bak index 1b0058f2..5c14e50a 100644 --- a/scrutinizer.yml +++ b/.scrutinizer.yml_bak @@ -39,8 +39,10 @@ build: - cd /home/scrutinizer/build - cp storage/ci/.env.example .env - cp storage/ci/phinx.php.example phinx.php + - command: 'cd ~/ && git clone https://github.com/jbboehr/php-psr.git && cd php-psr && phpize && ./configure && make && make test && sudo make install' + - sed -i '$ a \\nextension=psr.so\n' /home/scrutinizer/.phpenv/versions/7.1.12/etc/php.ini - - command: 'cd ~/ && git clone -q --depth=1 https://github.com/phalcon/cphalcon.git && cd cphalcon/build && ./install' + command: 'cd ~/ && git clone -q --depth=1 https://github.com/phalcon/cphalcon.git -b 4.0.x && cd cphalcon/build && ./install' not_if: 'test -e /home/scrutinizer/cphalcon/build/php7/64bits/modules/phalcon.so' - command: 'cp -v /home/scrutinizer/cphalcon/build/php7/64bits/modules/phalcon.so /home/scrutinizer/.phpenv/versions/7.1.12/lib/php/extensions/no-debug-zts-20160303/' diff --git a/LICENSE b/LICENSE index e054d741..b1590904 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2018 Nikolaos Dimopoulos +Copyright (c) 2011-present, Phalcon Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/api/config/providers.php b/api/config/providers.php index 2061ab48..543d6cdb 100644 --- a/api/config/providers.php +++ b/api/config/providers.php @@ -1,19 +1,28 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -use Niden\Providers\CacheDataProvider; -use Niden\Providers\ConfigProvider; -use Niden\Providers\DatabaseProvider; -use Niden\Providers\ErrorHandlerProvider; -use Niden\Providers\LoggerProvider; -use Niden\Providers\ModelsMetadataProvider; -use Niden\Providers\RequestProvider; -use Niden\Providers\ResponseProvider; -use Niden\Providers\RouterProvider; +use Phalcon\Api\Providers\CacheDataProvider; +use Phalcon\Api\Providers\ConfigProvider; +use Phalcon\Api\Providers\DatabaseProvider; +use Phalcon\Api\Providers\ErrorHandlerProvider; +use Phalcon\Api\Providers\LoggerProvider; +use Phalcon\Api\Providers\ModelsMetadataProvider; +use Phalcon\Api\Providers\RequestProvider; +use Phalcon\Api\Providers\ResponseProvider; +use Phalcon\Api\Providers\RouterProvider; +/** + * Enabled providers. Order does matter + */ return [ ConfigProvider::class, LoggerProvider::class, diff --git a/api/controllers/BaseController.php b/api/controllers/BaseController.php index cc950613..73c3d961 100644 --- a/api/controllers/BaseController.php +++ b/api/controllers/BaseController.php @@ -1,22 +1,29 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ -use function implode; -use Niden\Http\Response; -use Niden\Mvc\Model\AbstractModel; -use Niden\Traits\FractalTrait; -use Niden\Traits\QueryTrait; -use Niden\Traits\ResponseTrait; -use Phalcon\Cache\Backend\Libmemcached as CacheMemcached; +namespace Phalcon\Api\Api\Controllers; + +use Phalcon\Api\Http\Response; +use Phalcon\Api\Traits\FractalTrait; +use Phalcon\Api\Traits\QueryTrait; +use Phalcon\Api\Traits\ResponseTrait; +use Phalcon\Cache; use Phalcon\Config; use Phalcon\Filter; use Phalcon\Mvc\Controller; -use Phalcon\Mvc\Model\MetaData\Libmemcached as ModelsMetadataCache; use Phalcon\Mvc\Micro; +use Phalcon\Mvc\Model\MetaData\Libmemcached as ModelsMetadataCache; use function explode; +use function implode; use function in_array; use function strtolower; use function substr; @@ -24,10 +31,8 @@ /** * Class BaseController * - * @package Niden\Api\Controllers - * * @property Micro $application - * @property CacheMemcached $cache + * @property Cache $cache * @property Config $config * @property ModelsMetadataCache $modelsMetadata * @property Response $response diff --git a/api/controllers/Companies/AddController.php b/api/controllers/Companies/AddController.php index c37f0b92..45a34799 100644 --- a/api/controllers/Companies/AddController.php +++ b/api/controllers/Companies/AddController.php @@ -1,25 +1,31 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\Companies; -use Niden\Constants\Relationships; -use function Niden\Core\appUrl; -use Niden\Exception\ModelException; -use Niden\Http\Response; -use Niden\Models\Companies; -use Niden\Traits\FractalTrait; -use Niden\Transformers\BaseTransformer; -use Niden\Validation\CompaniesValidator; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Models\Companies; +use Phalcon\Api\Traits\FractalTrait; +use Phalcon\Api\Transformers\BaseTransformer; +use Phalcon\Api\Validation\CompaniesValidator; use Phalcon\Filter; use Phalcon\Mvc\Controller; +use function Phalcon\Api\Core\appUrl; /** * Class AddController * - * @package Niden\Api\Controllers\Companies - * * @property Response $response */ class AddController extends Controller diff --git a/api/controllers/Companies/GetController.php b/api/controllers/Companies/GetController.php index d28fb67a..c57d5ec1 100644 --- a/api/controllers/Companies/GetController.php +++ b/api/controllers/Companies/GetController.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\Companies; -use Niden\Api\Controllers\BaseController; -use Niden\Constants\Relationships; -use Niden\Models\Companies; -use Niden\Transformers\CompaniesTransformer; +use Phalcon\Api\Api\Controllers\BaseController; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Companies; +use Phalcon\Api\Transformers\CompaniesTransformer; /** * Class GetController - * - * @package Niden\Api\Controllers\Companies */ class GetController extends BaseController { diff --git a/api/controllers/IndividualTypes/GetController.php b/api/controllers/IndividualTypes/GetController.php index a32878e7..832801f6 100644 --- a/api/controllers/IndividualTypes/GetController.php +++ b/api/controllers/IndividualTypes/GetController.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\IndividualTypes; -use Niden\Api\Controllers\BaseController; -use Niden\Constants\Relationships; -use Niden\Models\IndividualTypes; -use Niden\Transformers\IndividualTypesTransformer; +use Phalcon\Api\Api\Controllers\BaseController; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\IndividualTypes; +use Phalcon\Api\Transformers\IndividualTypesTransformer; /** * Class GetController - * - * @package Niden\Api\Controllers\IndividualTypes */ class GetController extends BaseController { @@ -37,4 +43,3 @@ class GetController extends BaseController /** @var string */ protected $transformer = IndividualTypesTransformer::class; } - diff --git a/api/controllers/Individuals/GetController.php b/api/controllers/Individuals/GetController.php index 6b1cf0ba..7821b91d 100644 --- a/api/controllers/Individuals/GetController.php +++ b/api/controllers/Individuals/GetController.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\Individuals; -use Niden\Api\Controllers\BaseController; -use Niden\Constants\Relationships; -use Niden\Models\Individuals; -use Niden\Transformers\IndividualsTransformer; +use Phalcon\Api\Api\Controllers\BaseController; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Individuals; +use Phalcon\Api\Transformers\IndividualsTransformer; /** * Class GetController - * - * @package Niden\Api\Controllers\Individuals */ class GetController extends BaseController { diff --git a/api/controllers/LoginController.php b/api/controllers/LoginController.php index 1e1572c7..a7f32c15 100644 --- a/api/controllers/LoginController.php +++ b/api/controllers/LoginController.php @@ -1,16 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers; -use Niden\Exception\ModelException; -use Niden\Http\Request; -use Niden\Http\Response; -use Niden\Models\Users; -use Niden\Traits\QueryTrait; -use Niden\Traits\TokenTrait; -use Phalcon\Cache\Backend\Libmemcached; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Http\Request; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Models\Users; +use Phalcon\Api\Traits\QueryTrait; +use Phalcon\Api\Traits\TokenTrait; +use Phalcon\Cache; use Phalcon\Config; use Phalcon\Filter; use Phalcon\Mvc\Controller; @@ -18,9 +26,7 @@ /** * Class LoginController * - * @package Niden\Api\Controllers - * - * @property Libmemcached $cache + * @property Cache $cache * @property Config $config * @property Request $request * @property Response $response diff --git a/api/controllers/ProductTypes/GetController.php b/api/controllers/ProductTypes/GetController.php index 89d5870d..727f0da2 100644 --- a/api/controllers/ProductTypes/GetController.php +++ b/api/controllers/ProductTypes/GetController.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\ProductTypes; -use Niden\Api\Controllers\BaseController; -use Niden\Constants\Relationships; -use Niden\Models\ProductTypes; -use Niden\Transformers\ProductTypesTransformer; +use Phalcon\Api\Api\Controllers\BaseController; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\ProductTypes; +use Phalcon\Api\Transformers\ProductTypesTransformer; /** * Class GetController - * - * @package Niden\Api\Controllers\ProductTypes */ class GetController extends BaseController { @@ -37,4 +43,3 @@ class GetController extends BaseController /** @var string */ protected $transformer = ProductTypesTransformer::class; } - diff --git a/api/controllers/Products/GetController.php b/api/controllers/Products/GetController.php index e57bc891..83b7f745 100644 --- a/api/controllers/Products/GetController.php +++ b/api/controllers/Products/GetController.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\Products; -use Niden\Api\Controllers\BaseController; -use Niden\Constants\Relationships; -use Niden\Models\Products; -use Niden\Transformers\ProductsTransformer; +use Phalcon\Api\Api\Controllers\BaseController; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Products; +use Phalcon\Api\Transformers\ProductsTransformer; /** * Class GetController - * - * @package Niden\Api\Controllers\Products */ class GetController extends BaseController { diff --git a/api/controllers/Users/GetController.php b/api/controllers/Users/GetController.php index 23219fe2..c4fdeb2c 100644 --- a/api/controllers/Users/GetController.php +++ b/api/controllers/Users/GetController.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Api\Controllers\Users; -use Niden\Api\Controllers\BaseController; -use Niden\Constants\Relationships; -use Niden\Models\Users; -use Niden\Transformers\BaseTransformer; +use Phalcon\Api\Api\Controllers\BaseController; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Users; +use Phalcon\Api\Transformers\BaseTransformer; /** * Class GetController - * - * @package Niden\Api\Controllers\Users */ class GetController extends BaseController { diff --git a/api/public/index.php b/api/public/index.php index 80e030bb..9668469a 100644 --- a/api/public/index.php +++ b/api/public/index.php @@ -1,6 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +use Phalcon\Api\Bootstrap\Api; require_once __DIR__ . '/../../library/Core/autoload.php'; diff --git a/cli/cli.php b/cli/cli.php index ddc4525c..156de6fb 100644 --- a/cli/cli.php +++ b/cli/cli.php @@ -1,6 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +use Phalcon\Api\Bootstrap\Cli; require_once __DIR__ . '/../library/Core/autoload.php'; diff --git a/cli/config/providers.php b/cli/config/providers.php index 95031cf2..59a819a4 100644 --- a/cli/config/providers.php +++ b/cli/config/providers.php @@ -1,17 +1,26 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -use Niden\Providers\CacheDataProvider; -use Niden\Providers\CliDispatcherProvider; -use Niden\Providers\ConfigProvider; -use Niden\Providers\DatabaseProvider; -use Niden\Providers\ErrorHandlerProvider; -use Niden\Providers\LoggerProvider; -use Niden\Providers\ModelsMetadataProvider; +use Phalcon\Api\Providers\CacheDataProvider; +use Phalcon\Api\Providers\CliDispatcherProvider; +use Phalcon\Api\Providers\ConfigProvider; +use Phalcon\Api\Providers\DatabaseProvider; +use Phalcon\Api\Providers\ErrorHandlerProvider; +use Phalcon\Api\Providers\LoggerProvider; +use Phalcon\Api\Providers\ModelsMetadataProvider; +/** + * Enabled providers. Order does matter + */ return [ ConfigProvider::class, LoggerProvider::class, diff --git a/cli/tasks/ClearcacheTask.php b/cli/tasks/ClearcacheTask.php index c283a777..42329e16 100755 --- a/cli/tasks/ClearcacheTask.php +++ b/cli/tasks/ClearcacheTask.php @@ -1,22 +1,31 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ -use function in_array; +namespace Phalcon\Api\Cli\Tasks; -use function Niden\Core\appPath; -use Phalcon\Cache\Backend\Libmemcached; +use Phalcon\Cache; use Phalcon\Cli\Task as PhTask; -use const PHP_EOL; +use Phalcon\Config; use RecursiveDirectoryIterator; use RecursiveIteratorIterator; +use function in_array; +use function Phalcon\Api\Core\appPath; +use const PHP_EOL; /** * Class ClearcacheTask * - * @package Niden\Cli\Tasks - * - * @property Libmemcached $cache + * @property Cache $cache + * @property Config $config */ class ClearcacheTask extends PhTask { @@ -69,7 +78,29 @@ private function clearFileCache() private function clearMemCached() { echo 'Clearing data cache' . PHP_EOL; - $options = $this->cache->getOptions(); + + $default = [ + 'servers' => [ + 0 => [ + 'host' => '127.0.0.1', + 'port' => 11211, + 'weight' => 100, + ], + ], + 'client' => [ + \Memcached::OPT_PREFIX_KEY => 'api-', + ], + 'lifetime' => 86400, + 'prefix' => 'data-', + ]; + + $options = $this->config->path('cache.options.libmemcached', null); + if (true !== empty($options)) { + $options = $options->toArray(); + } else { + $options = $default; + } + $servers = $options['servers'] ?? []; $memcached = new \Memcached(); foreach ($servers as $server) { @@ -77,6 +108,8 @@ private function clearMemCached() } $keys = $memcached->getAllKeys(); + // 7.2 countable + $keys = $keys ?: []; echo sprintf('Found %s keys', count($keys)) . PHP_EOL; foreach ($keys as $key) { if ('api-data' === substr($key, 0, 8)) { diff --git a/cli/tasks/MainTask.php b/cli/tasks/MainTask.php index ce74f0d3..1642e147 100755 --- a/cli/tasks/MainTask.php +++ b/cli/tasks/MainTask.php @@ -1,6 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Cli\Tasks; use Phalcon\Cli\Task as PhTask; diff --git a/codeception.yml b/codeception.yml index 08092dd7..54b3f727 100644 --- a/codeception.yml +++ b/codeception.yml @@ -11,10 +11,11 @@ paths: support: tests/_support envs: tests/_envs +# The name of bootstrap that will be used. +# Each bootstrap file should be inside a suite directory. +bootstrap: _bootstrap.php + settings: - # The name of bootstrap that will be used. - # Each bootstrap file should be inside a suite directory. - bootstrap: _bootstrap.php colors: true # Tests (especially functional) can take a lot of memory # We set a high limit for them by default. @@ -54,6 +55,6 @@ modules: # Get params from .env file params: - - .env + - tests/.env.test error_level: "E_ALL" diff --git a/composer.json b/composer.json index 2774a7f8..a6ec2045 100644 --- a/composer.json +++ b/composer.json @@ -1,39 +1,61 @@ { - "require": { - "php": ">= 7.1", - "ext-openssl": "*", - "ext-phalcon": ">=3.2.0 <4.0", - "dariuszp/cli-progress-bar": "^1.0", - "lcobucci/jwt": "^3.2", - "league/fractal": "^0.17.0", - "monolog/monolog": "^1.23", - "psr/log": "^1.0", - "robmorgan/phinx": "^0.9.2", - "vlucas/phpdotenv": "^2.4" - }, - "require-dev": { - "codeception/codeception": "^2.4", - "phalcon/ide-stubs": "^3.3", - "phpstan/phpstan": "^0.9.2", - "squizlabs/php_codesniffer": "^3.2", - "symfony/browser-kit": "3.4", - "symfony/console": "3.4", - "symfony/css-selector": "3.4", - "symfony/debug": "3.4", - "symfony/dom-crawler": "3.4", - "symfony/event-dispatcher": "3.4", - "symfony/config": "3.4", - "symfony/filesystem": "3.4", - "symfony/finder": "3.4", - "symfony/process": "3.4", - "symfony/yaml": "3.4" - }, - "config": { - "preferred-install": "dist", - "sort-packages": true, - "optimize-autoloader": true - }, - "scripts": { - "phpcs": "phpcs --standard=PSR2" - } + "name": "phalcon/rest-api", + "type": "library", + "description": "This is a sample API REST application for the Phalcon PHP Framework", + "keywords": [ + "phalcon", + "framework", + "sample app", + "rest-api", + "rest", + "api" + ], + "homepage": "https://phalcon.io", + "license": "BSD-3-Clause", + "authors": [ + { + "name": "Contributors", + "homepage": "https://github.com/phalcon/rest-api/graphs/contributors" + } + ], + "require": { + "php": ">=7.2", + "ext-openssl": "*", + "ext-json": "*", + "ext-memcached": "*", + "ext-phalcon": "^4.0.0", + "dariuszp/cli-progress-bar": "^1.0", + "lcobucci/jwt": "^3.2", + "league/fractal": "^0.18.0", + "monolog/monolog": "^1.23", + "psr/log": "^1.0", + "robmorgan/phinx": "^0.11", + "vlucas/phpdotenv": "^2.4" + }, + "require-dev": { + "codeception/codeception": "^3.1", + "phalcon/ide-stubs": "^4.0.0", + "phpstan/phpstan": "^0.11", + "squizlabs/php_codesniffer": "^3.4", + "symfony/browser-kit": "4.3", + "symfony/console": "4.3", + "symfony/css-selector": "4.3", + "symfony/debug": "4.3", + "symfony/dom-crawler": "4.3", + "symfony/event-dispatcher": "4.3", + "symfony/config": "4.3", + "symfony/filesystem": "4.3", + "symfony/finder": "4.3", + "symfony/process": "4.3", + "symfony/yaml": "4.3", + "vimeo/psalm": "^3.4" + }, + "config": { + "preferred-install": "dist", + "sort-packages": true, + "optimize-autoloader": true + }, + "scripts": { + "phpcs": "phpcs --standard=PSR2" + } } diff --git a/composer.lock b/composer.lock index 39f60402..b8b45c9e 100644 --- a/composer.lock +++ b/composer.lock @@ -1,25 +1,364 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8bfdb87649583c20f2d0dbfc97a883cc", + "content-hash": "3bdcf2c6ed300b950732f834d72ac9b0", "packages": [ + { + "name": "cakephp/cache", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/cache.git", + "reference": "855a920c479925262575ec5b404010e22049098c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/cache/zipball/855a920c479925262575ec5b404010e22049098c", + "reference": "855a920c479925262575ec5b404010e22049098c", + "shasum": "" + }, + "require": { + "cakephp/core": "^3.6.0", + "php": ">=5.6.0", + "psr/simple-cache": "^1.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Cache\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/cache/graphs/contributors" + } + ], + "description": "Easy to use Caching library with support for multiple caching backends", + "homepage": "https://cakephp.org", + "keywords": [ + "cache", + "caching", + "cakephp" + ], + "time": "2019-11-20T00:00:46+00:00" + }, + { + "name": "cakephp/collection", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/collection.git", + "reference": "3541cdd1739334fcbe301daed8d6cb9458903fdd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/collection/zipball/3541cdd1739334fcbe301daed8d6cb9458903fdd", + "reference": "3541cdd1739334fcbe301daed8d6cb9458903fdd", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Collection\\": "." + }, + "files": [ + "functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/collection/graphs/contributors" + } + ], + "description": "Work easily with arrays and iterators by having a battery of utility traversal methods", + "homepage": "https://cakephp.org", + "keywords": [ + "arrays", + "cakephp", + "collections", + "iterators" + ], + "time": "2019-11-20T00:00:46+00:00" + }, + { + "name": "cakephp/core", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/core.git", + "reference": "e77b155f93fd63d1a944c07f27abc82651377956" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/core/zipball/e77b155f93fd63d1a944c07f27abc82651377956", + "reference": "e77b155f93fd63d1a944c07f27abc82651377956", + "shasum": "" + }, + "require": { + "cakephp/utility": "^3.6.0", + "php": ">=5.6.0" + }, + "suggest": { + "cakephp/cache": "To use Configure::store() and restore().", + "cakephp/event": "To use PluginApplicationInterface or plugin applications." + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Core\\": "." + }, + "files": [ + "functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/core/graphs/contributors" + } + ], + "description": "CakePHP Framework Core classes", + "homepage": "https://cakephp.org", + "keywords": [ + "cakephp", + "core", + "framework" + ], + "time": "2019-11-19T13:39:32+00:00" + }, + { + "name": "cakephp/database", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/database.git", + "reference": "c8a9123e8a393ac122bb0b51b100cafb3d34cece" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/database/zipball/c8a9123e8a393ac122bb0b51b100cafb3d34cece", + "reference": "c8a9123e8a393ac122bb0b51b100cafb3d34cece", + "shasum": "" + }, + "require": { + "cakephp/cache": "^3.6.0", + "cakephp/core": "^3.6.0", + "cakephp/datasource": "^3.6.0", + "cakephp/log": "^3.6.0", + "php": ">=5.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Database\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/database/graphs/contributors" + } + ], + "description": "Flexible and powerful Database abstraction library with a familiar PDO-like API", + "homepage": "https://cakephp.org", + "keywords": [ + "abstraction", + "cakephp", + "database", + "database abstraction", + "pdo" + ], + "time": "2019-11-20T00:00:46+00:00" + }, + { + "name": "cakephp/datasource", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/datasource.git", + "reference": "e2fff5bd4adb650d565c853fb25380657e2d1dbb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/datasource/zipball/e2fff5bd4adb650d565c853fb25380657e2d1dbb", + "reference": "e2fff5bd4adb650d565c853fb25380657e2d1dbb", + "shasum": "" + }, + "require": { + "cakephp/core": "^3.6.0", + "php": ">=5.6.0" + }, + "suggest": { + "cakephp/cache": "If you decide to use Query caching.", + "cakephp/collection": "If you decide to use ResultSetInterface.", + "cakephp/utility": "If you decide to use EntityTrait." + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Datasource\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/datasource/graphs/contributors" + } + ], + "description": "Provides connection managing and traits for Entities and Queries that can be reused for different datastores", + "homepage": "https://cakephp.org", + "keywords": [ + "cakephp", + "connection management", + "datasource", + "entity", + "query" + ], + "time": "2019-11-20T00:00:46+00:00" + }, + { + "name": "cakephp/log", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/log.git", + "reference": "9194c5aebaf30d4e9541e5635fa16f8c373af2f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/log/zipball/9194c5aebaf30d4e9541e5635fa16f8c373af2f3", + "reference": "9194c5aebaf30d4e9541e5635fa16f8c373af2f3", + "shasum": "" + }, + "require": { + "cakephp/core": "^3.6.0", + "php": ">=5.6.0", + "psr/log": "^1.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Log\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/log/graphs/contributors" + } + ], + "description": "CakePHP logging library with support for multiple different streams", + "homepage": "https://cakephp.org", + "keywords": [ + "Streams", + "cakephp", + "log", + "logging" + ], + "time": "2019-11-20T00:00:46+00:00" + }, + { + "name": "cakephp/utility", + "version": "3.8.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/utility.git", + "reference": "e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/utility/zipball/e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9", + "reference": "e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9", + "shasum": "" + }, + "require": { + "cakephp/core": "^3.6.0", + "php": ">=5.6.0" + }, + "suggest": { + "ext-intl": "To use Text::transliterate() or Text::slug()", + "lib-ICU": "To use Text::transliterate() or Text::slug()" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Utility\\": "." + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/utility/graphs/contributors" + } + ], + "description": "CakePHP Utility classes such as Inflector, String, Hash, and Security", + "homepage": "https://cakephp.org", + "keywords": [ + "cakephp", + "hash", + "inflector", + "security", + "string", + "utility" + ], + "time": "2019-11-21T14:18:54+00:00" + }, { "name": "dariuszp/cli-progress-bar", - "version": "1.0.2", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/dariuszp/cli-progress-bar.git", - "reference": "54020a8fc60bf19579bfe0317f17a2848d48991d" + "reference": "1be746082242092ce9e7c735be45f9d9a77be1aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dariuszp/cli-progress-bar/zipball/54020a8fc60bf19579bfe0317f17a2848d48991d", - "reference": "54020a8fc60bf19579bfe0317f17a2848d48991d", + "url": "https://api.github.com/repos/dariuszp/cli-progress-bar/zipball/1be746082242092ce9e7c735be45f9d9a77be1aa", + "reference": "1be746082242092ce9e7c735be45f9d9a77be1aa", "shasum": "" }, + "require-dev": { + "phpunit/phpunit": "^7.4" + }, "type": "library", "autoload": { "psr-4": { @@ -34,40 +373,42 @@ { "name": "Dariusz Półtorak", "email": "poltorak.dariusz@gmail.com" + }, + { + "name": "Mason Phillips", + "email": "math.matrix@icloud.com", + "role": "Contributor" } ], "description": "Cli progress bar", - "time": "2015-11-02T14:38:59+00:00" + "time": "2018-11-24T20:35:59+00:00" }, { "name": "lcobucci/jwt", - "version": "3.2.2", + "version": "3.3.1", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "0b5930be73582369e10c4d4bb7a12bac927a203c" + "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/0b5930be73582369e10c4d4bb7a12bac927a203c", - "reference": "0b5930be73582369e10c4d4bb7a12bac927a203c", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/a11ec5f4b4d75d1fcd04e133dede4c317aac9e18", + "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18", "shasum": "" }, "require": { + "ext-mbstring": "*", "ext-openssl": "*", - "php": ">=5.5" + "php": "^5.6 || ^7.0" }, "require-dev": { - "mdanter/ecc": "~0.3.1", "mikey179/vfsstream": "~1.5", "phpmd/phpmd": "~2.2", "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "~4.5", + "phpunit/phpunit": "^5.7 || ^7.3", "squizlabs/php_codesniffer": "~2.3" }, - "suggest": { - "mdanter/ecc": "Required to use Elliptic Curves based algorithms." - }, "type": "library", "extra": { "branch-alias": { @@ -87,7 +428,7 @@ { "name": "Luís Otávio Cobucci Oblonczyk", "email": "lcobucci@gmail.com", - "role": "developer" + "role": "Developer" } ], "description": "A simple library to work with JSON Web Token and JSON Web Signature", @@ -95,20 +436,20 @@ "JWS", "jwt" ], - "time": "2017-09-01T08:23:26+00:00" + "time": "2019-05-24T18:30:49+00:00" }, { "name": "league/fractal", - "version": "0.17.0", + "version": "0.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/fractal.git", - "reference": "a0b350824f22fc2fdde2500ce9d6851a3f275b0e" + "reference": "4e553dae1a9402adbe11c81430a64675dc97b4fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/fractal/zipball/a0b350824f22fc2fdde2500ce9d6851a3f275b0e", - "reference": "a0b350824f22fc2fdde2500ce9d6851a3f275b0e", + "url": "https://api.github.com/repos/thephpleague/fractal/zipball/4e553dae1a9402adbe11c81430a64675dc97b4fc", + "reference": "4e553dae1a9402adbe11c81430a64675dc97b4fc", "shasum": "" }, "require": { @@ -119,7 +460,7 @@ "illuminate/contracts": "~5.0", "mockery/mockery": "~0.9", "pagerfanta/pagerfanta": "~1.0.0", - "phpunit/phpunit": "~4.0", + "phpunit/phpunit": "^4.8.35 || ^7.5", "squizlabs/php_codesniffer": "~1.5", "zendframework/zend-paginator": "~2.3" }, @@ -159,20 +500,20 @@ "league", "rest" ], - "time": "2017-06-12T11:04:56+00:00" + "time": "2019-05-10T02:16:43+00:00" }, { "name": "monolog/monolog", - "version": "1.23.0", + "version": "1.25.3", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fa82921994db851a8becaf3787a9e73c5976b6f1", + "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1", "shasum": "" }, "require": { @@ -237,20 +578,20 @@ "logging", "psr-3" ], - "time": "2017-06-19T01:22:40+00:00" + "time": "2019-12-20T14:15:16+00:00" }, { - "name": "psr/log", - "version": "1.0.2", + "name": "psr/container", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { @@ -264,7 +605,7 @@ }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -277,46 +618,43 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "log", - "psr", - "psr-3" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], - "time": "2016-10-10T12:19:37+00:00" + "time": "2017-02-14T16:28:37+00:00" }, { - "name": "robmorgan/phinx", - "version": "0.9.2", + "name": "psr/log", + "version": "1.1.2", "source": { "type": "git", - "url": "https://github.com/cakephp/phinx.git", - "reference": "e1698319ad55157c233b658c08f7a10617e797ca" + "url": "https://github.com/php-fig/log.git", + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/phinx/zipball/e1698319ad55157c233b658c08f7a10617e797ca", - "reference": "e1698319ad55157c233b658c08f7a10617e797ca", + "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", + "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", "shasum": "" }, "require": { - "php": ">=5.4", - "symfony/config": "^2.8|^3.0|^4.0", - "symfony/console": "^2.8|^3.0|^4.0", - "symfony/yaml": "^2.8|^3.0|^4.0" - }, - "require-dev": { - "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^4.8.35|^5.7|^6.5" + "php": ">=5.3.0" }, - "bin": [ - "bin/phinx" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, "autoload": { "psr-4": { - "Phinx\\": "src/Phinx" + "Psr\\Log\\": "Psr/Log/" } }, "notification-url": "https://packagist.org/downloads/", @@ -325,16 +663,121 @@ ], "authors": [ { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com", - "homepage": "http://shadowhand.me", - "role": "Developer" - }, - { - "name": "Rob Morgan", - "email": "robbym@gmail.com", - "homepage": "https://robmorgan.id.au", - "role": "Lead Developer" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2019-11-01T11:05:21+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "robmorgan/phinx", + "version": "0.11.3", + "source": { + "type": "git", + "url": "https://github.com/cakephp/phinx.git", + "reference": "3c6a171b0455225cf42716dc4864feb620da716f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/3c6a171b0455225cf42716dc4864feb620da716f", + "reference": "3c6a171b0455225cf42716dc4864feb620da716f", + "shasum": "" + }, + "require": { + "cakephp/collection": "^3.6", + "cakephp/core": "^3.6", + "cakephp/database": "^3.6", + "cakephp/datasource": "^3.6", + "php": ">=5.6", + "symfony/config": "^3.4|^4.0|^5.0", + "symfony/console": "^3.4|^4.0|^5.0", + "symfony/yaml": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": ">=5.7,<8.0", + "sebastian/comparator": ">=1.2.3" + }, + "bin": [ + "bin/phinx" + ], + "type": "library", + "autoload": { + "psr-4": { + "Phinx\\": "src/Phinx/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Morgan", + "email": "robbym@gmail.com", + "homepage": "https://robmorgan.id.au", + "role": "Lead Developer" + }, + { + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com", + "homepage": "https://shadowhand.me", + "role": "Developer" }, { "name": "Richard Quadling", @@ -343,7 +786,8 @@ }, { "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/phinx/graphs/contributors" + "homepage": "https://github.com/cakephp/phinx/graphs/contributors", + "role": "Developer" } ], "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", @@ -355,34 +799,36 @@ "migrations", "phinx" ], - "time": "2017-12-23T06:48:51+00:00" + "time": "2019-12-12T16:53:38+00:00" }, { "name": "symfony/config", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "1de51a6c76359897ab32c309934b93d036bccb60" + "reference": "5455fc0ae8b46269b83a22949429ea878496408c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/1de51a6c76359897ab32c309934b93d036bccb60", - "reference": "1de51a6c76359897ab32c309934b93d036bccb60", + "url": "https://api.github.com/repos/symfony/config/zipball/5455fc0ae8b46269b83a22949429ea878496408c", + "reference": "5455fc0ae8b46269b83a22949429ea878496408c", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0" + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" + "symfony/finder": "<3.4" }, "require-dev": { - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/messenger": "~4.1", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -390,7 +836,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -417,38 +863,44 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2017-11-19T20:09:36+00:00" + "time": "2019-05-20T16:16:12+00:00" }, { "name": "symfony/console", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "9468ad3fba3a5e1f0dc12a96e50e84cddb923cf0" + "reference": "707b619d2c3bedf0224d56f95f77dabc60102305" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9468ad3fba3a5e1f0dc12a96e50e84cddb923cf0", - "reference": "9468ad3fba3a5e1f0dc12a96e50e84cddb923cf0", + "url": "https://api.github.com/repos/symfony/console/zipball/707b619d2c3bedf0224d56f95f77dabc60102305", + "reference": "707b619d2c3bedf0224d56f95f77dabc60102305", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1" }, "conflict": { "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3", "symfony/process": "<3.3" }, + "provide": { + "psr/log-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", + "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/event-dispatcher": "^4.3", "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" + "symfony/process": "~3.4|~4.0", + "symfony/var-dumper": "^4.3" }, "suggest": { "psr/log": "For using the console logger", @@ -459,7 +911,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -486,41 +938,35 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2017-11-29T13:28:14+00:00" + "time": "2019-05-27T08:16:38+00:00" }, { - "name": "symfony/debug", - "version": "v3.4.0", + "name": "symfony/filesystem", + "version": "v4.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "fb2001e5d85f95d8b6ab94ae3be5d2672df128fd" + "url": "https://github.com/symfony/filesystem.git", + "reference": "988ab7d70c267c34efa85772ca20de3fad11c74b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/fb2001e5d85f95d8b6ab94ae3be5d2672df128fd", - "reference": "fb2001e5d85f95d8b6ab94ae3be5d2672df128fd", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/988ab7d70c267c34efa85772ca20de3fad11c74b", + "reference": "988ab7d70c267c34efa85772ca20de3fad11c74b", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -540,39 +986,42 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2017-11-21T09:01:46+00:00" + "time": "2019-05-24T12:50:04+00:00" }, { - "name": "symfony/filesystem", - "version": "v3.4.0", + "name": "symfony/polyfill-ctype", + "version": "v1.13.1", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "de56eee71e0a128d8c54ccc1909cdefd574bad0f" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/de56eee71e0a128d8c54ccc1909cdefd574bad0f", - "reference": "de56eee71e0a128d8c54ccc1909cdefd574bad0f", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", + "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.13-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Filesystem\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -581,30 +1030,36 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "time": "2017-11-19T18:59:05+00:00" + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", "shasum": "" }, "require": { @@ -616,7 +1071,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -650,24 +1105,141 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2019-11-27T14:18:11+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.13.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", + "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-11-27T16:25:15+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v1.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-10-14T12:27:06+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "b3d0c9c11be3831b84825967dc6b52b5a7b84e04" + "reference": "c60ecf5ba842324433b46f58dc7afc4487dbab99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/b3d0c9c11be3831b84825967dc6b52b5a7b84e04", - "reference": "b3d0c9c11be3831b84825967dc6b52b5a7b84e04", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c60ecf5ba842324433b46f58dc7afc4487dbab99", + "reference": "c60ecf5ba842324433b46f58dc7afc4487dbab99", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { "symfony/console": "<3.4" @@ -681,7 +1253,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -708,32 +1280,33 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2017-11-29T13:28:14+00:00" + "time": "2019-04-06T14:04:46+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v2.4.0", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c" + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c", - "reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2a7dcf7e3e02dc5e701004e51a6f304b713107d5", + "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/polyfill-ctype": "^1.9" }, "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" + "phpunit/phpunit": "^4.8.35 || ^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -743,7 +1316,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause-Attribution" + "BSD-3-Clause" ], "authors": [ { @@ -758,45 +1331,49 @@ "env", "environment" ], - "time": "2016-09-01T10:05:43+00:00" + "time": "2019-01-29T11:11:52+00:00" } ], "packages-dev": [ { - "name": "behat/gherkin", - "version": "v4.5.1", + "name": "amphp/amp", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a" + "url": "https://github.com/amphp/amp.git", + "reference": "13930a582947831bb66ff1aeac28672fd91c38ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a", - "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a", + "url": "https://api.github.com/repos/amphp/amp/zipball/13930a582947831bb66ff1aeac28672fd91c38ea", + "reference": "13930a582947831bb66ff1aeac28672fd91c38ea", "shasum": "" }, "require": { - "php": ">=5.3.1" + "php": ">=7" }, "require-dev": { - "phpunit/phpunit": "~4.5|~5", - "symfony/phpunit-bridge": "~2.7|~3", - "symfony/yaml": "~2.3|~3" - }, - "suggest": { - "symfony/yaml": "If you want to parse features, represented in YAML files" + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1", + "ext-json": "*", + "phpstan/phpstan": "^0.8.5", + "phpunit/phpunit": "^6.0.9 | ^7", + "react/promise": "^2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "psr-0": { - "Behat\\Gherkin": "src/" - } + "psr-4": { + "Amp\\": "lib" + }, + "files": [ + "lib/functions.php", + "lib/Internal/functions.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -804,66 +1381,203 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "Gherkin DSL parser for PHP 5.3", - "homepage": "http://behat.org/", + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "http://amphp.org/amp", "keywords": [ - "BDD", - "Behat", - "Cucumber", - "DSL", - "gherkin", - "parser" + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" ], - "time": "2017-08-30T11:04:43+00:00" + "time": "2019-11-11T19:32:05+00:00" }, { - "name": "codeception/codeception", - "version": "2.4.1", + "name": "amphp/byte-stream", + "version": "v1.7.1", "source": { "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "bca3547632556875f1cdd567d6057cc14fe472b8" + "url": "https://github.com/amphp/byte-stream.git", + "reference": "9d8205686a004948475dc43f8a88d2fa5e75a113" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/bca3547632556875f1cdd567d6057cc14fe472b8", - "reference": "bca3547632556875f1cdd567d6057cc14fe472b8", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/9d8205686a004948475dc43f8a88d2fa5e75a113", + "reference": "9d8205686a004948475dc43f8a88d2fa5e75a113", "shasum": "" }, "require": { - "behat/gherkin": "^4.4.0", - "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", - "codeception/stub": "^1.0", - "ext-json": "*", - "ext-mbstring": "*", - "facebook/webdriver": ">=1.1.3 <2.0", - "guzzlehttp/guzzle": ">=4.1.4 <7.0", - "guzzlehttp/psr7": "~1.0", - "php": ">=5.4.0 <8.0", - "symfony/browser-kit": ">=2.7 <5.0", - "symfony/console": ">=2.7 <5.0", - "symfony/css-selector": ">=2.7 <5.0", - "symfony/dom-crawler": ">=2.7 <5.0", + "amphp/amp": "^2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1", + "friendsofphp/php-cs-fixer": "^2.3", + "infection/infection": "^0.9.3", + "phpunit/phpunit": "^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\ByteStream\\": "lib" + }, + "files": [ + "lib/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "http://amphp.org/byte-stream", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" + ], + "time": "2019-10-27T14:33:41+00:00" + }, + { + "name": "behat/gherkin", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/ab0a02ea14893860bca00f225f5621d351a3ad07", + "reference": "ab0a02ea14893860bca00f225f5621d351a3ad07", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3|~4", + "symfony/yaml": "~2.3|~3|~4" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2019-01-16T14:22:17+00:00" + }, + { + "name": "codeception/codeception", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "5ea172de7b1b2e61dcdd50d73f8368886c549fb4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/5ea172de7b1b2e61dcdd50d73f8368886c549fb4", + "reference": "5ea172de7b1b2e61dcdd50d73f8368886c549fb4", + "shasum": "" + }, + "require": { + "behat/gherkin": "^4.4.0", + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3", + "codeception/stub": "^2.0 | ^3.0", + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": "^1.6.0", + "guzzlehttp/guzzle": "^6.3.0", + "guzzlehttp/psr7": "~1.4", + "hoa/console": "~3.0", + "php": ">=5.6.0 <8.0", + "symfony/browser-kit": ">=2.7 <5.0", + "symfony/console": ">=2.7 <5.0", + "symfony/css-selector": ">=2.7 <5.0", + "symfony/dom-crawler": ">=2.7 <5.0", "symfony/event-dispatcher": ">=2.7 <5.0", "symfony/finder": ">=2.7 <5.0", "symfony/yaml": ">=2.7 <5.0" }, "require-dev": { "codeception/specify": "~0.3", - "facebook/graph-sdk": "~5.3", + "doctrine/annotations": "^1", + "doctrine/data-fixtures": "^1", + "doctrine/orm": "^2", "flow/jsonpath": "~0.2", "monolog/monolog": "~1.8", "pda/pheanstalk": "~3.0", "php-amqplib/php-amqplib": "~2.4", "predis/predis": "^1.0", + "ramsey/uuid-doctrine": "^1.5", "squizlabs/php_codesniffer": "~2.0", "symfony/process": ">=2.7 <5.0", - "vlucas/phpdotenv": "^2.4.0" + "vlucas/phpdotenv": "^3.0" }, "suggest": { "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", @@ -886,7 +1600,7 @@ }, "autoload": { "psr-4": { - "Codeception\\": "src\\Codeception", + "Codeception\\": "src/Codeception", "Codeception\\Extension\\": "ext" } }, @@ -910,31 +1624,32 @@ "functional testing", "unit testing" ], - "time": "2018-03-31T22:30:43+00:00" + "time": "2019-10-19T13:15:55+00:00" }, { "name": "codeception/phpunit-wrapper", - "version": "7.1.1", + "version": "8.1.1", "source": { "type": "git", "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "33e8ccf2f7abf5c031eeae9802b821d30ec0f7fc" + "reference": "f1370a15e5fe60e7347b1c60642479b923a7ceef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/33e8ccf2f7abf5c031eeae9802b821d30ec0f7fc", - "reference": "33e8ccf2f7abf5c031eeae9802b821d30ec0f7fc", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/f1370a15e5fe60e7347b1c60642479b923a7ceef", + "reference": "f1370a15e5fe60e7347b1c60642479b923a7ceef", "shasum": "" }, "require": { - "phpunit/php-code-coverage": "^6.0", - "phpunit/phpunit": "^7.1", - "sebastian/comparator": "^2.0", + "php": ">=7.2", + "phpunit/php-code-coverage": "^7.0", + "phpunit/phpunit": "^8.0", + "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0" }, "require-dev": { "codeception/specify": "*", - "vlucas/phpdotenv": "^2.4" + "vlucas/phpdotenv": "^3.0" }, "type": "library", "autoload": { @@ -952,338 +1667,1037 @@ "email": "davert.php@resend.cc" } ], - "description": "PHPUnit classes used by Codeception", - "time": "2018-04-20T10:17:13+00:00" + "description": "PHPUnit classes used by Codeception", + "time": "2019-12-21T16:08:14+00:00" + }, + { + "name": "codeception/stub", + "version": "3.6.0", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "94874f511ab1025b1f4cb927884cdda5004ece64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/94874f511ab1025b1f4cb927884cdda5004ece64", + "reference": "94874f511ab1025b1f4cb927884cdda5004ece64", + "shasum": "" + }, + "require": { + "phpunit/phpunit": "^8.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "time": "2019-11-23T20:11:30+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "cbe23383749496fe0f373345208b79568e4bc248" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/cbe23383749496fe0f373345208b79568e4bc248", + "reference": "cbe23383749496fe0f373345208b79568e4bc248", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2019-11-06T16:40:04+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2019-10-21T16:45:58+00:00" + }, + { + "name": "facebook/webdriver", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "e43de70f3c7166169d0f14a374505392734160e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/e43de70f3c7166169d0f14a374505392734160e5", + "reference": "e43de70f3c7166169d0f14a374505392734160e5", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2019-06-13T08:02:18+00:00" + }, + { + "name": "felixfbecker/advanced-json-rpc", + "version": "v3.0.4", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", + "reference": "23366dd0cab0a0f3fd3016bf3c0b36dec74348e7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/23366dd0cab0a0f3fd3016bf3c0b36dec74348e7", + "reference": "23366dd0cab0a0f3fd3016bf3c0b36dec74348e7", + "shasum": "" + }, + "require": { + "netresearch/jsonmapper": "^1.0", + "php": ">=7.0", + "phpdocumentor/reflection-docblock": "^4.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "AdvancedJsonRpc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "A more advanced JSONRPC implementation", + "time": "2019-09-12T22:41:08+00:00" + }, + { + "name": "felixfbecker/language-server-protocol", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "378801f6139bb74ac215d81cca1272af61df9a9f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/378801f6139bb74ac215d81cca1272af61df9a9f", + "reference": "378801f6139bb74ac215d81cca1272af61df9a9f", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpstan/phpstan": "*", + "phpunit/phpunit": "^6.3", + "squizlabs/php_codesniffer": "^3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "LanguageServerProtocol\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "PHP classes for the Language Server Protocol", + "keywords": [ + "language", + "microsoft", + "php", + "server" + ], + "time": "2019-06-23T21:03:50+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/43ece0e75098b7ecd8d13918293029e555a50f82", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.6.1", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.1" + }, + "suggest": { + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2019-12-23T11:57:10+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "suggest": { + "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2019-07-01T23:21:34+00:00" + }, + { + "name": "hoa/consistency", + "version": "1.17.05.02", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Consistency.git", + "reference": "fd7d0adc82410507f332516faf655b6ed22e4c2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Consistency/zipball/fd7d0adc82410507f332516faf655b6ed22e4c2f", + "reference": "fd7d0adc82410507f332516faf655b6ed22e4c2f", + "shasum": "" + }, + "require": { + "hoa/exception": "~1.0", + "php": ">=5.5.0" + }, + "require-dev": { + "hoa/stream": "~1.0", + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Consistency\\": "." + }, + "files": [ + "Prelude.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Consistency library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "autoloader", + "callable", + "consistency", + "entity", + "flex", + "keyword", + "library" + ], + "time": "2017-05-02T12:18:12+00:00" + }, + { + "name": "hoa/console", + "version": "3.17.05.02", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Console.git", + "reference": "e231fd3ea70e6d773576ae78de0bdc1daf331a66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Console/zipball/e231fd3ea70e6d773576ae78de0bdc1daf331a66", + "reference": "e231fd3ea70e6d773576ae78de0bdc1daf331a66", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/file": "~1.0", + "hoa/protocol": "~1.0", + "hoa/stream": "~1.0", + "hoa/ustring": "~4.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "suggest": { + "ext-pcntl": "To enable hoa://Event/Console/Window:resize.", + "hoa/dispatcher": "To use the console kit.", + "hoa/router": "To use the console kit." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Console\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Console library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "autocompletion", + "chrome", + "cli", + "console", + "cursor", + "getoption", + "library", + "option", + "parser", + "processus", + "readline", + "terminfo", + "tput", + "window" + ], + "time": "2017-05-02T12:26:19+00:00" + }, + { + "name": "hoa/event", + "version": "1.17.01.13", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Event.git", + "reference": "6c0060dced212ffa3af0e34bb46624f990b29c54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Event/zipball/6c0060dced212ffa3af0e34bb46624f990b29c54", + "reference": "6c0060dced212ffa3af0e34bb46624f990b29c54", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Event\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Event library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "event", + "library", + "listener", + "observer" + ], + "time": "2017-01-13T15:30:50+00:00" }, { - "name": "codeception/stub", - "version": "1.0.2", + "name": "hoa/exception", + "version": "1.17.01.16", "source": { "type": "git", - "url": "https://github.com/Codeception/Stub.git", - "reference": "95fb7a36b81890dd2e5163e7ab31310df6f1bb99" + "url": "https://github.com/hoaproject/Exception.git", + "reference": "091727d46420a3d7468ef0595651488bfc3a458f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/95fb7a36b81890dd2e5163e7ab31310df6f1bb99", - "reference": "95fb7a36b81890dd2e5163e7ab31310df6f1bb99", + "url": "https://api.github.com/repos/hoaproject/Exception/zipball/091727d46420a3d7468ef0595651488bfc3a458f", + "reference": "091727d46420a3d7468ef0595651488bfc3a458f", "shasum": "" }, "require": { - "phpunit/phpunit-mock-objects": ">2.3 <7.0" + "hoa/consistency": "~1.0", + "hoa/event": "~1.0" }, "require-dev": { - "phpunit/phpunit": ">=4.8 <8.0" + "hoa/test": "~2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, "autoload": { "psr-4": { - "Codeception\\": "src/" + "Hoa\\Exception\\": "." } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], - "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", - "time": "2018-02-18T13:56:56+00:00" + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Exception library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "exception", + "library" + ], + "time": "2017-01-16T07:53:27+00:00" }, { - "name": "doctrine/instantiator", - "version": "1.1.0", + "name": "hoa/file", + "version": "1.17.07.11", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + "url": "https://github.com/hoaproject/File.git", + "reference": "35cb979b779bc54918d2f9a4e02ed6c7a1fa67ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "url": "https://api.github.com/repos/hoaproject/File/zipball/35cb979b779bc54918d2f9a4e02ed6c7a1fa67ca", + "reference": "35cb979b779bc54918d2f9a4e02ed6c7a1fa67ca", "shasum": "" }, "require": { - "php": "^7.1" + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/iterator": "~2.0", + "hoa/stream": "~1.0" }, "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "^6.2.3", - "squizlabs/php_codesniffer": "^3.0.2" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + "Hoa\\File\\": "." } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "description": "The Hoa\\File library.", + "homepage": "https://hoa-project.net/", "keywords": [ - "constructor", - "instantiate" - ], - "time": "2017-07-22T11:58:36+00:00" + "Socket", + "directory", + "file", + "finder", + "library", + "link", + "temporary" + ], + "time": "2017-07-11T07:42:15+00:00" }, { - "name": "facebook/webdriver", - "version": "1.3.0", + "name": "hoa/iterator", + "version": "2.17.01.10", "source": { "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "77300c4ab2025d4316635f592ec849ca7323bd8c" + "url": "https://github.com/hoaproject/Iterator.git", + "reference": "d1120ba09cb4ccd049c86d10058ab94af245f0cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/77300c4ab2025d4316635f592ec849ca7323bd8c", - "reference": "77300c4ab2025d4316635f592ec849ca7323bd8c", + "url": "https://api.github.com/repos/hoaproject/Iterator/zipball/d1120ba09cb4ccd049c86d10058ab94af245f0cc", + "reference": "d1120ba09cb4ccd049c86d10058ab94af245f0cc", "shasum": "" }, "require": { - "ext-curl": "*", - "php": "^5.5 || ~7.0", - "symfony/process": "^2.8 || ^3.1" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "php-mock/php-mock-phpunit": "^1.1", - "phpunit/phpunit": "4.6.* || ~5.0", - "satooshi/php-coveralls": "^1.0", - "squizlabs/php_codesniffer": "^2.6" - }, - "suggest": { - "phpdocumentor/phpdocumentor": "2.*" + "hoa/test": "~2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, "autoload": { "psr-4": { - "Facebook\\WebDriver\\": "lib/" + "Hoa\\Iterator\\": "." } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "BSD-3-Clause" ], - "description": "A PHP client for WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Iterator library.", + "homepage": "https://hoa-project.net/", "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" + "iterator", + "library" ], - "time": "2017-01-13T15:48:08+00:00" + "time": "2017-01-10T10:34:47+00:00" }, { - "name": "guzzlehttp/guzzle", - "version": "6.3.3", + "name": "hoa/protocol", + "version": "1.17.01.14", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + "url": "https://github.com/hoaproject/Protocol.git", + "reference": "5c2cf972151c45f373230da170ea015deecf19e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "url": "https://api.github.com/repos/hoaproject/Protocol/zipball/5c2cf972151c45f373230da170ea015deecf19e2", + "reference": "5c2cf972151c45f373230da170ea015deecf19e2", "shasum": "" }, "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" }, "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.3-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { - "GuzzleHttp\\": "src/" - } + "Hoa\\Protocol\\": "." + }, + "files": [ + "Wrapper.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" } ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", + "description": "The Hoa\\Protocol library.", + "homepage": "https://hoa-project.net/", "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" + "library", + "protocol", + "resource", + "stream", + "wrapper" ], - "time": "2018-04-22T15:46:56+00:00" + "time": "2017-01-14T12:26:10+00:00" }, { - "name": "guzzlehttp/promises", - "version": "v1.3.1", + "name": "hoa/stream", + "version": "1.17.02.21", "source": { "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + "url": "https://github.com/hoaproject/Stream.git", + "reference": "3293cfffca2de10525df51436adf88a559151d82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "url": "https://api.github.com/repos/hoaproject/Stream/zipball/3293cfffca2de10525df51436adf88a559151d82", + "reference": "3293cfffca2de10525df51436adf88a559151d82", "shasum": "" }, "require": { - "php": ">=5.5.0" + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/protocol": "~1.0" }, "require-dev": { - "phpunit/phpunit": "^4.0" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "Hoa\\Stream\\": "." + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" } ], - "description": "Guzzle promises library", + "description": "The Hoa\\Stream library.", + "homepage": "https://hoa-project.net/", "keywords": [ - "promise" + "Context", + "bucket", + "composite", + "filter", + "in", + "library", + "out", + "protocol", + "stream", + "wrapper" ], - "time": "2016-12-20T10:07:11+00:00" + "time": "2017-02-21T16:01:06+00:00" }, { - "name": "guzzlehttp/psr7", - "version": "1.4.2", + "name": "hoa/ustring", + "version": "4.17.01.16", "source": { "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + "url": "https://github.com/hoaproject/Ustring.git", + "reference": "e6326e2739178799b1fe3fdd92029f9517fa17a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "url": "https://api.github.com/repos/hoaproject/Ustring/zipball/e6326e2739178799b1fe3fdd92029f9517fa17a0", + "reference": "e6326e2739178799b1fe3fdd92029f9517fa17a0", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "hoa/test": "~2.0" + }, + "suggest": { + "ext-iconv": "ext/iconv must be present (or a third implementation) to use Hoa\\Ustring::transcode().", + "ext-intl": "To get a better Hoa\\Ustring::toAscii() and Hoa\\Ustring::compareTo()." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "Hoa\\Ustring\\": "." + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" }, { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" + "name": "Hoa community", + "homepage": "https://hoa-project.net/" } ], - "description": "PSR-7 message implementation that also provides common utility methods", + "description": "The Hoa\\Ustring library.", + "homepage": "https://hoa-project.net/", "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" + "library", + "search", + "string", + "unicode" ], - "time": "2017-03-20T17:10:46+00:00" + "time": "2017-01-16T07:08:25+00:00" }, { "name": "jean85/pretty-package-versions", - "version": "1.1", + "version": "1.2", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "d457344b6a035ef99236bdda4729ad7eeb233f54" + "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/d457344b6a035ef99236bdda4729ad7eeb233f54", - "reference": "d457344b6a035ef99236bdda4729ad7eeb233f54", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/75c7effcf3f77501d0e0caa75111aff4daa0dd48", + "reference": "75c7effcf3f77501d0e0caa75111aff4daa0dd48", "shasum": "" }, "require": { @@ -1314,36 +2728,39 @@ "email": "alessandro.lai85@gmail.com" } ], - "description": "A wrapper for ocramius/pretty-package-versions to get pretty versions strings", + "description": "A wrapper for ocramius/package-versions to get pretty versions strings", "keywords": [ "composer", "package", "release", "versions" ], - "time": "2018-01-21T13:54:22+00:00" + "time": "2018-06-13T13:22:40+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.7.0", + "version": "1.9.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + "reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", - "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/579bb7356d91f9456ccd505f24ca8b667966a0a7", + "reference": "579bb7356d91f9456ccd505f24ca8b667966a0a7", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" }, "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", - "phpunit/phpunit": "^4.1" + "phpunit/phpunit": "^7.1" }, "type": "library", "autoload": { @@ -1366,43 +2783,89 @@ "object", "object graph" ], - "time": "2017-10-19T19:58:43+00:00" + "time": "2019-12-15T19:12:40+00:00" + }, + { + "name": "netresearch/jsonmapper", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/cweiske/jsonmapper.git", + "reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06", + "reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JsonMapper": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "OSL-3.0" + ], + "authors": [ + { + "name": "Christian Weiske", + "email": "cweiske@cweiske.de", + "homepage": "http://github.com/cweiske/jsonmapper/", + "role": "Developer" + } + ], + "description": "Map nested JSON structures onto PHP classes", + "time": "2019-08-15T19:41:25+00:00" }, { "name": "nette/bootstrap", - "version": "v2.4.5", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/nette/bootstrap.git", - "reference": "804925787764d708a7782ea0d9382a310bb21968" + "reference": "b45a1e33b6a44beb307756522396551e5a9ff249" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/bootstrap/zipball/804925787764d708a7782ea0d9382a310bb21968", - "reference": "804925787764d708a7782ea0d9382a310bb21968", + "url": "https://api.github.com/repos/nette/bootstrap/zipball/b45a1e33b6a44beb307756522396551e5a9ff249", + "reference": "b45a1e33b6a44beb307756522396551e5a9ff249", "shasum": "" }, "require": { - "nette/di": "~2.4.7", - "nette/utils": "~2.4", - "php": ">=5.6.0" + "nette/di": "^3.0", + "nette/utils": "^3.0", + "php": ">=7.1" }, "conflict": { - "nette/nette": "<2.2" + "tracy/tracy": "<2.6" }, "require-dev": { - "latte/latte": "~2.2", - "nette/application": "~2.3", - "nette/caching": "~2.3", - "nette/database": "~2.3", - "nette/forms": "~2.3", - "nette/http": "~2.4.0", - "nette/mail": "~2.3", - "nette/robot-loader": "^2.4.2 || ^3.0", - "nette/safe-stream": "~2.2", - "nette/security": "~2.3", - "nette/tester": "~2.0", - "tracy/tracy": "^2.4.1" + "latte/latte": "^2.2", + "nette/application": "^3.0", + "nette/caching": "^3.0", + "nette/database": "^3.0", + "nette/forms": "^3.0", + "nette/http": "^3.0", + "nette/mail": "^3.0", + "nette/robot-loader": "^3.0", + "nette/safe-stream": "^2.2", + "nette/security": "^3.0", + "nette/tester": "^2.0", + "tracy/tracy": "^2.6" }, "suggest": { "nette/robot-loader": "to use Configurator::createRobotLoader()", @@ -1411,7 +2874,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1442,46 +2905,50 @@ "configurator", "nette" ], - "time": "2017-08-20T17:36:59+00:00" + "time": "2019-09-30T08:19:38+00:00" }, { "name": "nette/di", - "version": "v2.4.11", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/nette/di.git", - "reference": "a300c8b8e8549595ab90c04d8ee21b8b2a5a88f9" + "reference": "4aff517a1c6bb5c36fa09733d4cea089f529de6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/a300c8b8e8549595ab90c04d8ee21b8b2a5a88f9", - "reference": "a300c8b8e8549595ab90c04d8ee21b8b2a5a88f9", + "url": "https://api.github.com/repos/nette/di/zipball/4aff517a1c6bb5c36fa09733d4cea089f529de6d", + "reference": "4aff517a1c6bb5c36fa09733d4cea089f529de6d", "shasum": "" }, "require": { "ext-tokenizer": "*", - "nette/neon": "^2.3.3 || ~3.0.0", - "nette/php-generator": "^2.6.1 || ~3.0.0", - "nette/utils": "^2.4.3 || ~3.0.0", - "php": ">=5.6.0" + "nette/neon": "^3.0", + "nette/php-generator": "^3.2.2", + "nette/robot-loader": "^3.2", + "nette/schema": "^1.0", + "nette/utils": "^3.0", + "php": ">=7.1" }, "conflict": { - "nette/bootstrap": "<2.4", - "nette/nette": "<2.2" + "nette/bootstrap": "<3.0" }, "require-dev": { - "nette/tester": "^2.0", + "nette/tester": "^2.2", "tracy/tracy": "^2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.0-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/compatibility.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1511,28 +2978,88 @@ "nette", "static" ], - "time": "2018-03-28T23:53:36+00:00" + "time": "2019-08-07T12:11:33+00:00" }, { "name": "nette/finder", - "version": "v2.4.1", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/nette/finder.git", - "reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547" + "reference": "14164e1ddd69e9c5f627ff82a10874b3f5bba5fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/4d43a66d072c57d585bf08a3ef68d3587f7e9547", - "reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547", + "url": "https://api.github.com/repos/nette/finder/zipball/14164e1ddd69e9c5f627ff82a10874b3f5bba5fe", + "reference": "14164e1ddd69e9c5f627ff82a10874b3f5bba5fe", "shasum": "" }, "require": { "nette/utils": "^2.4 || ~3.0.0", - "php": ">=5.6.0" + "php": ">=7.1" + }, + "conflict": { + "nette/nette": "<2.2" + }, + "require-dev": { + "nette/tester": "^2.0", + "tracy/tracy": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0", + "GPL-3.0" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🔍 Nette Finder: find files and directories with an intuitive API.", + "homepage": "https://nette.org", + "keywords": [ + "filesystem", + "glob", + "iterator", + "nette" + ], + "time": "2019-07-11T18:02:17+00:00" + }, + { + "name": "nette/neon", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/nette/neon.git", + "reference": "cbff32059cbdd8720deccf9e9eace6ee516f02eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/neon/zipball/cbff32059cbdd8720deccf9e9eace6ee516f02eb", + "reference": "cbff32059cbdd8720deccf9e9eace6ee516f02eb", + "shasum": "" }, - "conflict": { - "nette/nette": "<2.2" + "require": { + "ext-iconv": "*", + "ext-json": "*", + "php": ">=7.0" }, "require-dev": { "nette/tester": "^2.0", @@ -1541,7 +3068,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1565,37 +3092,43 @@ "homepage": "https://nette.org/contributors" } ], - "description": "Nette Finder: Files Searching", - "homepage": "https://nette.org", - "time": "2017-07-10T23:47:08+00:00" + "description": "? Nette NEON: encodes and decodes NEON file format.", + "homepage": "http://ne-on.org", + "keywords": [ + "export", + "import", + "neon", + "nette", + "yaml" + ], + "time": "2019-02-05T21:30:40+00:00" }, { - "name": "nette/neon", - "version": "v2.4.2", + "name": "nette/php-generator", + "version": "v3.3.1", "source": { "type": "git", - "url": "https://github.com/nette/neon.git", - "reference": "9eacd50553b26b53a3977bfb2fea2166d4331622" + "url": "https://github.com/nette/php-generator.git", + "reference": "4240fd7adf499138c07b814ef9b9a6df9f6d7187" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/9eacd50553b26b53a3977bfb2fea2166d4331622", - "reference": "9eacd50553b26b53a3977bfb2fea2166d4331622", + "url": "https://api.github.com/repos/nette/php-generator/zipball/4240fd7adf499138c07b814ef9b9a6df9f6d7187", + "reference": "4240fd7adf499138c07b814ef9b9a6df9f6d7187", "shasum": "" }, "require": { - "ext-iconv": "*", - "ext-json": "*", - "php": ">=5.6.0" + "nette/utils": "^2.4.2 || ~3.0.0", + "php": ">=7.1" }, "require-dev": { - "nette/tester": "~2.0", + "nette/tester": "^2.0", "tracy/tracy": "^2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -1619,30 +3152,35 @@ "homepage": "https://nette.org/contributors" } ], - "description": "Nette NEON: parser & generator for Nette Object Notation", - "homepage": "http://ne-on.org", - "time": "2017-07-11T18:29:08+00:00" + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.3 features.", + "homepage": "https://nette.org", + "keywords": [ + "code", + "nette", + "php", + "scaffolding" + ], + "time": "2019-11-22T11:12:11+00:00" }, { - "name": "nette/php-generator", - "version": "v3.0.4", + "name": "nette/robot-loader", + "version": "v3.2.0", "source": { "type": "git", - "url": "https://github.com/nette/php-generator.git", - "reference": "b381ecacbf5a0b5f99cc0b303d5b0578d409f446" + "url": "https://github.com/nette/robot-loader.git", + "reference": "0712a0e39ae7956d6a94c0ab6ad41aa842544b5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/b381ecacbf5a0b5f99cc0b303d5b0578d409f446", - "reference": "b381ecacbf5a0b5f99cc0b303d5b0578d409f446", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/0712a0e39ae7956d6a94c0ab6ad41aa842544b5c", + "reference": "0712a0e39ae7956d6a94c0ab6ad41aa842544b5c", "shasum": "" }, "require": { - "nette/utils": "^2.4.2 || ~3.0.0", - "php": ">=7.0" - }, - "conflict": { - "nette/nette": "<2.2" + "ext-tokenizer": "*", + "nette/finder": "^2.5", + "nette/utils": "^3.0", + "php": ">=7.1" }, "require-dev": { "nette/tester": "^2.0", @@ -1651,7 +3189,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -1675,47 +3213,43 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 7.2 features.", + "description": "? Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", "homepage": "https://nette.org", "keywords": [ - "code", + "autoload", + "class", + "interface", "nette", - "php", - "scaffolding" + "trait" ], - "time": "2018-04-26T16:48:20+00:00" + "time": "2019-03-08T21:57:24+00:00" }, { - "name": "nette/robot-loader", - "version": "v3.0.3", + "name": "nette/schema", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/nette/robot-loader.git", - "reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a" + "url": "https://github.com/nette/schema.git", + "reference": "337117df1dade22e2ba1fdc4a4b832c1e9b06b76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a", - "reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a", + "url": "https://api.github.com/repos/nette/schema/zipball/337117df1dade22e2ba1fdc4a4b832c1e9b06b76", + "reference": "337117df1dade22e2ba1fdc4a4b832c1e9b06b76", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "nette/finder": "^2.3 || ^3.0", - "nette/utils": "^2.4 || ^3.0", - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" + "nette/utils": "^3.0.1", + "php": ">=7.1" }, "require-dev": { - "nette/tester": "^2.0", + "nette/tester": "^2.2", "tracy/tracy": "^2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -1739,36 +3273,30 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.", + "description": "📐 Nette Schema: validating data structures against a given Schema.", "homepage": "https://nette.org", "keywords": [ - "autoload", - "class", - "interface", - "nette", - "trait" + "config", + "nette" ], - "time": "2017-09-26T13:42:21+00:00" + "time": "2019-10-31T20:52:19+00:00" }, { "name": "nette/utils", - "version": "v2.5.2", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5" + "reference": "c133e18c922dcf3ad07673077d92d92cef25a148" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/183069866dc477fcfbac393ed486aaa6d93d19a5", - "reference": "183069866dc477fcfbac393ed486aaa6d93d19a5", + "url": "https://api.github.com/repos/nette/utils/zipball/c133e18c922dcf3ad07673077d92d92cef25a148", + "reference": "c133e18c922dcf3ad07673077d92d92cef25a148", "shasum": "" }, "require": { - "php": ">=5.6.0" - }, - "conflict": { - "nette/nette": "<2.2" + "php": ">=7.1" }, "require-dev": { "nette/tester": "~2.0", @@ -1777,23 +3305,21 @@ "suggest": { "ext-gd": "to use Image", "ext-iconv": "to use Strings::webalize() and toAscii()", - "ext-intl": "for script transliteration in Strings::webalize() and toAscii()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", "ext-xml": "to use Strings::length() etc. when mbstring is not available" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "3.0-dev" } }, "autoload": { "classmap": [ "src/" - ], - "files": [ - "src/loader.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1830,28 +3356,29 @@ "utility", "validation" ], - "time": "2018-05-02T17:16:08+00:00" + "time": "2019-10-21T20:40:16+00:00" }, { "name": "nikic/php-parser", - "version": "v3.1.5", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" + "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", + "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.5" + "php": ">=7.0" }, "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" + "ircmaxell/php-yacc": "0.0.5", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" }, "bin": [ "bin/php-parse" @@ -1859,7 +3386,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1881,20 +3408,20 @@ "parser", "php" ], - "time": "2018-02-28T20:30:58+00:00" + "time": "2019-11-08T13:50:10+00:00" }, { "name": "ocramius/package-versions", - "version": "1.3.0", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f" + "reference": "44af6f3a2e2e04f2af46bcb302ad9600cba41c7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/44af6f3a2e2e04f2af46bcb302ad9600cba41c7d", + "reference": "44af6f3a2e2e04f2af46bcb302ad9600cba41c7d", "shasum": "" }, "require": { @@ -1903,9 +3430,10 @@ }, "require-dev": { "composer/composer": "^1.6.3", + "doctrine/coding-standard": "^5.0.1", "ext-zip": "*", "infection/infection": "^0.7.1", - "phpunit/phpunit": "^7.0.0" + "phpunit/phpunit": "^7.5.17" }, "type": "composer-plugin", "extra": { @@ -1930,24 +3458,77 @@ } ], "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "time": "2018-02-05T13:05:30+00:00" + "time": "2019-11-15T16:17:10+00:00" + }, + { + "name": "openlss/lib-array2xml", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/nullivex/lib-array2xml.git", + "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", + "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "LSS": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Bryan Tong", + "email": "bryan@nullivex.com", + "homepage": "https://www.nullivex.com" + }, + { + "name": "Tony Butler", + "email": "spudz76@gmail.com", + "homepage": "https://www.nullivex.com" + } + ], + "description": "Array2XML conversion library credit to lalit.org", + "homepage": "https://www.nullivex.com", + "keywords": [ + "array", + "array conversion", + "xml", + "xml conversion" + ], + "time": "2019-03-29T20:06:56+00:00" }, { "name": "phalcon/ide-stubs", - "version": "v3.3.2", + "version": "v4.0.0", "source": { "type": "git", "url": "https://github.com/phalcon/ide-stubs.git", - "reference": "fed301b552dd12d9428d0cc9dbae45d58ce42e56" + "reference": "bcd70d4f5e56042a223e119f621f74c8f06d66ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phalcon/ide-stubs/zipball/fed301b552dd12d9428d0cc9dbae45d58ce42e56", - "reference": "fed301b552dd12d9428d0cc9dbae45d58ce42e56", + "url": "https://api.github.com/repos/phalcon/ide-stubs/zipball/bcd70d4f5e56042a223e119f621f74c8f06d66ba", + "reference": "bcd70d4f5e56042a223e119f621f74c8f06d66ba", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.2.0" + }, + "require-dev": { + "squizlabs/php_codesniffer": "3.*", + "vimeo/psalm": "^3.4" }, "type": "library", "notification-url": "https://packagist.org/downloads/", @@ -1978,26 +3559,26 @@ "stub", "stubs" ], - "time": "2018-02-26T23:55:17+00:00" + "time": "2019-12-21T19:36:32+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", - "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^1.0.1", + "phar-io/version": "^2.0", "php": "^5.6 || ^7.0" }, "type": "library", @@ -2033,20 +3614,20 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2017-03-05T18:14:27+00:00" + "time": "2018-07-08T19:23:20+00:00" }, { "name": "phar-io/version", - "version": "1.0.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", - "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", "shasum": "" }, "require": { @@ -2080,39 +3661,37 @@ } ], "description": "Library for handling version information and constraints", - "time": "2017-03-05T17:38:23+00:00" + "time": "2018-07-08T19:19:57+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2134,30 +3713,30 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.0", + "version": "4.3.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + "reference": "2ecaa9fef01634c83bfa8dc1fe35fb5cef223a62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/2ecaa9fef01634c83bfa8dc1fe35fb5cef223a62", + "reference": "2ecaa9fef01634c83bfa8dc1fe35fb5cef223a62", "shasum": "" }, "require": { "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", "webmozart/assert": "^1.0" }, "require-dev": { - "doctrine/instantiator": "~1.0.5", + "doctrine/instantiator": "^1.0.5", "mockery/mockery": "^1.0", "phpunit/phpunit": "^6.4" }, @@ -2185,41 +3764,40 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-30T07:14:17+00:00" + "time": "2019-12-20T13:40:23+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.4.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2232,42 +3810,43 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14T14:27:02+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "phpspec/prophecy", - "version": "1.7.6", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" + "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/cbe1df668b3fe136bcc909126a0f529a78d4cbbc", + "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", + "sebastian/comparator": "^1.2.3|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + "phpspec/phpspec": "^2.5 || ^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { - "psr-0": { - "Prophecy\\": "src/" + "psr-4": { + "Prophecy\\": "src/Prophecy" } }, "notification-url": "https://packagist.org/downloads/", @@ -2295,37 +3874,39 @@ "spy", "stub" ], - "time": "2018-04-18T13:57:24+00:00" + "time": "2019-12-22T21:05:45+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "0.2", + "version": "0.3.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "02f909f134fe06f0cd4790d8627ee24efbe84d6a" + "reference": "8c4ef2aefd9788238897b678a985e1d5c8df6db4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/02f909f134fe06f0cd4790d8627ee24efbe84d6a", - "reference": "02f909f134fe06f0cd4790d8627ee24efbe84d6a", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/8c4ef2aefd9788238897b678a985e1d5c8df6db4", + "reference": "8c4ef2aefd9788238897b678a985e1d5c8df6db4", "shasum": "" }, "require": { - "php": "~7.0" + "php": "~7.1" }, "require-dev": { - "consistence/coding-standard": "^2.0.0", + "consistence/coding-standard": "^3.5", "jakub-onderka/php-parallel-lint": "^0.9.2", "phing/phing": "^2.16.0", - "phpstan/phpstan": "^0.9", + "phpstan/phpstan": "^0.10", "phpunit/phpunit": "^6.3", - "slevomat/coding-standard": "^3.3.0" + "slevomat/coding-standard": "^4.7.2", + "squizlabs/php_codesniffer": "^3.3.2", + "symfony/process": "^3.4 || ^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1-dev" + "dev-master": "0.3-dev" } }, "autoload": { @@ -2340,46 +3921,59 @@ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", - "time": "2018-01-13T18:19:41+00:00" + "time": "2019-06-07T19:13:52+00:00" }, { "name": "phpstan/phpstan", - "version": "0.9.2", + "version": "0.11.19", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e59541bcc7cac9b35ca54db6365bf377baf4a488" + "reference": "63cc502f6957b7f74efbac444b4cf219dcadffd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e59541bcc7cac9b35ca54db6365bf377baf4a488", - "reference": "e59541bcc7cac9b35ca54db6365bf377baf4a488", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/63cc502f6957b7f74efbac444b4cf219dcadffd7", + "reference": "63cc502f6957b7f74efbac444b4cf219dcadffd7", "shasum": "" }, "require": { + "composer/xdebug-handler": "^1.3.0", "jean85/pretty-package-versions": "^1.0.3", "nette/bootstrap": "^2.4 || ^3.0", "nette/di": "^2.4.7 || ^3.0", + "nette/neon": "^2.4.3 || ^3.0", "nette/robot-loader": "^3.0.1", + "nette/schema": "^1.0", "nette/utils": "^2.4.5 || ^3.0", - "nikic/php-parser": "^3.1", - "php": "~7.0", - "phpstan/phpdoc-parser": "^0.2", + "nikic/php-parser": "^4.2.3", + "php": "~7.1", + "phpstan/phpdoc-parser": "^0.3.5", "symfony/console": "~3.2 || ~4.0", "symfony/finder": "~3.2 || ~4.0" }, + "conflict": { + "symfony/console": "3.4.16 || 4.1.5" + }, "require-dev": { - "consistence/coding-standard": "2.2.1", - "ext-gd": "*", + "brianium/paratest": "^2.0 || ^3.0", + "consistence/coding-standard": "^3.5", + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4", "ext-intl": "*", "ext-mysqli": "*", - "jakub-onderka/php-parallel-lint": "^0.9.2", + "ext-simplexml": "*", + "ext-soap": "*", + "ext-zip": "*", + "jakub-onderka/php-parallel-lint": "^1.0", + "localheinz/composer-normalize": "^1.1.0", "phing/phing": "^2.16.0", - "phpstan/phpstan-php-parser": "^0.9", - "phpstan/phpstan-phpunit": "^0.9.3", - "phpstan/phpstan-strict-rules": "^0.9", - "phpunit/phpunit": "^6.5.4", - "slevomat/coding-standard": "4.0.0" + "phpstan/phpstan-deprecation-rules": "^0.11", + "phpstan/phpstan-php-parser": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.5.14 || ^8.0", + "slevomat/coding-standard": "^4.7.2", + "squizlabs/php_codesniffer": "^3.3.2" }, "bin": [ "bin/phpstan" @@ -2387,14 +3981,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.9-dev" + "dev-master": "0.11-dev" } }, "autoload": { "psr-4": { "PHPStan\\": [ - "src/", - "build/PHPStan" + "src/" ] } }, @@ -2403,44 +3996,44 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", - "time": "2018-01-28T13:22:19+00:00" + "time": "2019-10-22T20:20:22+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "6.0.4", + "version": "7.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "52187754b0eed0b8159f62a6fa30073327e8c2ca" + "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/52187754b0eed0b8159f62a6fa30073327e8c2ca", - "reference": "52187754b0eed0b8159f62a6fa30073327e8c2ca", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", + "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", "shasum": "" }, "require": { "ext-dom": "*", "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^1.4.2", + "php": "^7.2", + "phpunit/php-file-iterator": "^2.0.2", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", + "phpunit/php-token-stream": "^3.1.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1", + "sebastian/environment": "^4.2.2", "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" + "theseer/tokenizer": "^1.1.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^8.2.2" }, "suggest": { - "ext-xdebug": "^2.6.0" + "ext-xdebug": "^2.7.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "7.0-dev" } }, "autoload": { @@ -2466,29 +4059,32 @@ "testing", "xunit" ], - "time": "2018-04-29T14:59:09+00:00" + "time": "2019-11-20T13:55:58+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.5", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + "reference": "050bedf145a257b1ff02746c31894800e5122946" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", + "reference": "050bedf145a257b1ff02746c31894800e5122946", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2503,7 +4099,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -2513,7 +4109,7 @@ "filesystem", "iterator" ], - "time": "2017-11-27T13:52:08+00:00" + "time": "2018-09-13T20:33:42+00:00" }, { "name": "phpunit/php-text-template", @@ -2558,16 +4154,16 @@ }, { "name": "phpunit/php-timer", - "version": "2.0.0", + "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", "shasum": "" }, "require": { @@ -2579,7 +4175,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -2603,20 +4199,20 @@ "keywords": [ "timer" ], - "time": "2018-02-01T13:07:23+00:00" + "time": "2019-06-07T04:22:29+00:00" }, { "name": "phpunit/php-token-stream", - "version": "3.0.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", "shasum": "" }, "require": { @@ -2629,7 +4225,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -2652,53 +4248,56 @@ "keywords": [ "tokenizer" ], - "time": "2018-02-01T13:16:43+00:00" + "time": "2019-09-17T06:23:10+00:00" }, { "name": "phpunit/phpunit", - "version": "7.1.4", + "version": "8.5.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "6d51299e307dc510149e0b7cd1931dd11770e1cb" + "reference": "3ee1c1fd6fc264480c25b6fb8285edefe1702dab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6d51299e307dc510149e0b7cd1931dd11770e1cb", - "reference": "6d51299e307dc510149e0b7cd1931dd11770e1cb", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3ee1c1fd6fc264480c25b6fb8285edefe1702dab", + "reference": "3ee1c1fd6fc264480c25b6fb8285edefe1702dab", "shasum": "" }, "require": { + "doctrine/instantiator": "^1.2.0", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.6.1", - "phar-io/manifest": "^1.0.1", - "phar-io/version": "^1.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.1", - "phpunit/php-file-iterator": "^1.4.3", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.9.1", + "phar-io/manifest": "^1.0.3", + "phar-io/version": "^2.0.1", + "php": "^7.2", + "phpspec/prophecy": "^1.8.1", + "phpunit/php-code-coverage": "^7.0.7", + "phpunit/php-file-iterator": "^2.0.2", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.0", - "phpunit/phpunit-mock-objects": "^6.1.1", - "sebastian/comparator": "^2.1 || ^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^3.1", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", + "phpunit/php-timer": "^2.1.2", + "sebastian/comparator": "^3.0.2", + "sebastian/diff": "^3.0.2", + "sebastian/environment": "^4.2.2", + "sebastian/exporter": "^3.1.1", + "sebastian/global-state": "^3.0.0", "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", + "sebastian/resource-operations": "^2.0.1", + "sebastian/type": "^1.1.3", "sebastian/version": "^2.0.1" }, "require-dev": { "ext-pdo": "*" }, "suggest": { + "ext-soap": "*", "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" + "phpunit/php-invoker": "^2.0.0" }, "bin": [ "phpunit" @@ -2706,7 +4305,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.1-dev" + "dev-master": "8.5-dev" } }, "autoload": { @@ -2732,63 +4331,7 @@ "testing", "xunit" ], - "time": "2018-04-18T13:41:53+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "6.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "70c740bde8fd9ea9ea295be1cd875dd7b267e157" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/70c740bde8fd9ea9ea295be1cd875dd7b267e157", - "reference": "70c740bde8fd9ea9ea295be1cd875dd7b267e157", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.5", - "php": "^7.1", - "phpunit/php-text-template": "^1.2.1", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2018-04-11T04:50:36+00:00" + "time": "2019-12-06T05:41:38+00:00" }, { "name": "psr/http-message", @@ -2840,6 +4383,46 @@ ], "time": "2016-08-06T14:39:51+00:00" }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" + }, { "name": "sebastian/code-unit-reverse-lookup", "version": "1.0.1", @@ -2887,30 +4470,30 @@ }, { "name": "sebastian/comparator", - "version": "2.1.3", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", - "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/diff": "^2.0 || ^3.0", + "php": "^7.1", + "sebastian/diff": "^3.0", "sebastian/exporter": "^3.1" }, "require-dev": { - "phpunit/phpunit": "^6.4" + "phpunit/phpunit": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2947,27 +4530,27 @@ "compare", "equality" ], - "time": "2018-02-01T13:46:46+00:00" + "time": "2018-07-12T15:12:46+00:00" }, { "name": "sebastian/diff", - "version": "3.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8" + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/e09160918c66281713f1c324c1f4c4c3037ba1e8", - "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^7.0", + "phpunit/phpunit": "^7.5 || ^8.0", "symfony/process": "^2 || ^3.3 || ^4" }, "type": "library", @@ -3003,32 +4586,35 @@ "unidiff", "unified diff" ], - "time": "2018-02-01T13:45:15+00:00" + "time": "2019-02-04T06:01:07+00:00" }, { "name": "sebastian/environment", - "version": "3.1.0", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3053,20 +4639,20 @@ "environment", "hhvm" ], - "time": "2017-07-01T08:51:00+00:00" + "time": "2019-11-20T08:46:58+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.0", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", "shasum": "" }, "require": { @@ -3093,6 +4679,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -3101,17 +4691,13 @@ "name": "Volker Dusch", "email": "github@wallbash.com" }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, { "name": "Adam Harvey", "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], "description": "Provides the functionality to export PHP variables for visualization", @@ -3120,27 +4706,30 @@ "export", "exporter" ], - "time": "2017-04-03T13:19:02+00:00" + "time": "2019-09-14T09:02:43+00:00" }, { "name": "sebastian/global-state", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.2", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "ext-dom": "*", + "phpunit/phpunit": "^8.0" }, "suggest": { "ext-uopz": "*" @@ -3148,7 +4737,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -3171,7 +4760,7 @@ "keywords": [ "global state" ], - "time": "2017-04-27T15:39:26+00:00" + "time": "2019-02-01T05:30:01+00:00" }, { "name": "sebastian/object-enumerator", @@ -3320,25 +4909,25 @@ }, { "name": "sebastian/resource-operations", - "version": "1.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", "shasum": "" }, "require": { - "php": ">=5.6.0" + "php": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -3358,7 +4947,53 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28T20:34:47+00:00" + "time": "2018-10-04T04:07:39+00:00" + }, + { + "name": "sebastian/type", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", + "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", + "shasum": "" + }, + "require": { + "php": "^7.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "time": "2019-07-02T08:10:15+00:00" }, { "name": "sebastian/version", @@ -3405,16 +5040,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.2.3", + "version": "3.5.3", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "4842476c434e375f9d3182ff7b89059583aa8b27" + "reference": "557a1fc7ac702c66b0bbfe16ab3d55839ef724cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/4842476c434e375f9d3182ff7b89059583aa8b27", - "reference": "4842476c434e375f9d3182ff7b89059583aa8b27", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/557a1fc7ac702c66b0bbfe16ab3d55839ef724cb", + "reference": "557a1fc7ac702c66b0bbfe16ab3d55839ef724cb", "shasum": "" }, "require": { @@ -3447,34 +5082,36 @@ } ], "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", "keywords": [ "phpcs", "standards" ], - "time": "2018-02-20T21:35:23+00:00" + "time": "2019-12-04T04:46:47+00:00" }, { "name": "symfony/browser-kit", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "179522b5f0b5e6d00bb60f38a4d6b29962e4b61b" + "reference": "3fa7d8cbd2e5006038a09b8ef93f3859a89b627e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/179522b5f0b5e6d00bb60f38a4d6b29962e4b61b", - "reference": "179522b5f0b5e6d00bb60f38a4d6b29962e4b61b", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/3fa7d8cbd2e5006038a09b8ef93f3859a89b627e", + "reference": "3fa7d8cbd2e5006038a09b8ef93f3859a89b627e", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/dom-crawler": "~2.8|~3.0|~4.0" + "php": "^7.1.3", + "symfony/dom-crawler": "~3.4|~4.0" }, "require-dev": { - "symfony/css-selector": "~2.8|~3.0|~4.0", - "symfony/process": "~2.8|~3.0|~4.0" + "symfony/css-selector": "~3.4|~4.0", + "symfony/http-client": "^4.3", + "symfony/mime": "^4.3", + "symfony/process": "~3.4|~4.0" }, "suggest": { "symfony/process": "" @@ -3482,7 +5119,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -3509,29 +5146,29 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2017-11-07T14:20:24+00:00" + "time": "2019-04-15T20:15:25+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "7134b93e90ea7e7881fcb2da006d21b4c5f31908" + "reference": "105c98bb0c5d8635bea056135304bd8edcc42b4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/7134b93e90ea7e7881fcb2da006d21b4c5f31908", - "reference": "7134b93e90ea7e7881fcb2da006d21b4c5f31908", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/105c98bb0c5d8635bea056135304bd8edcc42b4d", + "reference": "105c98bb0c5d8635bea056135304bd8edcc42b4d", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -3562,28 +5199,89 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2017-11-05T16:10:10+00:00" + "time": "2019-01-16T21:53:39+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "97cde06d798f1326857090bc1b7c8f9d225c3dcb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/97cde06d798f1326857090bc1b7c8f9d225c3dcb", + "reference": "97cde06d798f1326857090bc1b7c8f9d225c3dcb", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2019-05-20T16:16:12+00:00" }, { "name": "symfony/dom-crawler", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "7bf68716e400997a291ad42c9f9fe7972e6656d2" + "reference": "28edb1d371640654fbfb9df53d70fa03fdf69fb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7bf68716e400997a291ad42c9f9fe7972e6656d2", - "reference": "7bf68716e400997a291ad42c9f9fe7972e6656d2", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/28edb1d371640654fbfb9df53d70fa03fdf69fb6", + "reference": "28edb1d371640654fbfb9df53d70fa03fdf69fb6", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0" }, + "conflict": { + "masterminds/html5": "<2.6" + }, "require-dev": { - "symfony/css-selector": "~2.8|~3.0|~4.0" + "masterminds/html5": "^2.6", + "symfony/css-selector": "~3.4|~4.0" }, "suggest": { "symfony/css-selector": "" @@ -3591,7 +5289,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -3618,34 +5316,41 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2017-11-05T16:10:10+00:00" + "time": "2019-04-26T05:53:56+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "ca20b8f9ef149f40ff656d52965f240d85f7a8e4" + "reference": "c71314cd3b9420b732e1526f33a24eff5430b5b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ca20b8f9ef149f40ff656d52965f240d85f7a8e4", - "reference": "ca20b8f9ef149f40ff656d52965f240d85f7a8e4", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c71314cd3b9420b732e1526f33a24eff5430b5b3", + "reference": "c71314cd3b9420b732e1526f33a24eff5430b5b3", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3", + "symfony/event-dispatcher-contracts": "^1.1" }, "conflict": { - "symfony/dependency-injection": "<3.3" + "symfony/dependency-injection": "<3.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "1.1" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "^3.4|^4.0", + "symfony/service-contracts": "^1.1", + "symfony/stopwatch": "~3.4|~4.0" }, "suggest": { "symfony/dependency-injection": "", @@ -3654,7 +5359,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -3681,29 +5386,87 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2017-11-09T14:14:31+00:00" + "time": "2019-05-28T07:50:59+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v1.1.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "suggest": { + "psr/event-dispatcher": "", + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-09-17T09:54:03+00:00" }, { "name": "symfony/finder", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "dac8d7db537bac7ad8143eb11360a8c2231f251a" + "reference": "b3d4f4c0e4eadfdd8b296af9ca637cfbf51d8176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/dac8d7db537bac7ad8143eb11360a8c2231f251a", - "reference": "dac8d7db537bac7ad8143eb11360a8c2231f251a", + "url": "https://api.github.com/repos/symfony/finder/zipball/b3d4f4c0e4eadfdd8b296af9ca637cfbf51d8176", + "reference": "b3d4f4c0e4eadfdd8b296af9ca637cfbf51d8176", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -3730,29 +5493,29 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2017-11-05T16:10:10+00:00" + "time": "2019-05-26T20:47:49+00:00" }, { "name": "symfony/process", - "version": "v3.4.0", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "db25e810fd5e124085e3777257d0cf4ae533d0ea" + "reference": "a5e3dd4e93a364668034a3cb6efa963d0b33ab45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/db25e810fd5e124085e3777257d0cf4ae533d0ea", - "reference": "db25e810fd5e124085e3777257d0cf4ae533d0ea", + "url": "https://api.github.com/repos/symfony/process/zipball/a5e3dd4e93a364668034a3cb6efa963d0b33ab45", + "reference": "a5e3dd4e93a364668034a3cb6efa963d0b33ab45", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -3779,20 +5542,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2017-11-22T12:18:49+00:00" + "time": "2019-05-26T20:47:49+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.0", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", - "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", "shasum": "" }, "require": { @@ -3819,35 +5582,121 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2017-04-07T12:08:54+00:00" + "time": "2019-06-13T22:48:21+00:00" }, { - "name": "webmozart/assert", - "version": "1.3.0", + "name": "vimeo/psalm", + "version": "3.7.2", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + "url": "https://github.com/vimeo/psalm.git", + "reference": "d9cae720c1af31db9ba27c2bc1fcf9b0dd092fb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/d9cae720c1af31db9ba27c2bc1fcf9b0dd092fb0", + "reference": "d9cae720c1af31db9ba27c2bc1fcf9b0dd092fb0", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "amphp/amp": "^2.1", + "amphp/byte-stream": "^1.5", + "composer/xdebug-handler": "^1.1", + "felixfbecker/advanced-json-rpc": "^3.0.3", + "felixfbecker/language-server-protocol": "^1.4", + "netresearch/jsonmapper": "^1.0", + "nikic/php-parser": "^4.3", + "ocramius/package-versions": "^1.2", + "openlss/lib-array2xml": "^1.0", + "php": "^7.1.3", + "sebastian/diff": "^3.0", + "symfony/console": "^3.3||^4.0||^5.0", + "webmozart/glob": "^4.1", + "webmozart/path-util": "^2.3" + }, + "provide": { + "psalm/psalm": "self.version" }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "bamarni/composer-bin-plugin": "^1.2", + "ext-curl": "*", + "friendsofphp/php-cs-fixer": "^2.15", + "phpmyadmin/sql-parser": "^5.0", + "phpunit/phpunit": "^7.5 || ^8.0", + "psalm/plugin-phpunit": "^0.6", + "slevomat/coding-standard": "^5.0", + "squizlabs/php_codesniffer": "^3.5", + "symfony/process": "^4.3" + }, + "suggest": { + "ext-igbinary": "^2.0.5" }, + "bin": [ + "psalm", + "psalter", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psalm\\Plugin\\": "src/Psalm/Plugin", + "Psalm\\": "src/Psalm" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthew Brown" } + ], + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": [ + "code", + "inspection", + "php" + ], + "time": "2019-12-03T13:33:31+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", + "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, + "conflict": { + "vimeo/psalm": "<3.6.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -3869,7 +5718,100 @@ "check", "validate" ], - "time": "2018-01-29T19:49:41+00:00" + "time": "2019-11-24T13:36:37+00:00" + }, + { + "name": "webmozart/glob", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/glob.git", + "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/glob/zipball/3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe", + "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe", + "shasum": "" + }, + "require": { + "php": "^5.3.3|^7.0", + "webmozart/path-util": "^2.2" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1", + "symfony/filesystem": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Glob\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A PHP implementation of Ant's glob.", + "time": "2015-12-29T11:14:33+00:00" + }, + { + "name": "webmozart/path-util", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/path-util.git", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "webmozart/assert": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\PathUtil\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", + "time": "2015-12-17T08:42:14+00:00" } ], "aliases": [], @@ -3878,9 +5820,11 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">= 7.1", + "php": ">=7.2", "ext-openssl": "*", - "ext-phalcon": ">=3.2.0 <4.0" + "ext-json": "*", + "ext-memcached": "*", + "ext-phalcon": "^4.0.0" }, "platform-dev": [] } diff --git a/library/Bootstrap/AbstractBootstrap.php b/library/Bootstrap/AbstractBootstrap.php index 2569055b..8b89a05d 100644 --- a/library/Bootstrap/AbstractBootstrap.php +++ b/library/Bootstrap/AbstractBootstrap.php @@ -1,16 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ -use function microtime; -use Niden\Http\Response; +namespace Phalcon\Api\Bootstrap; + +use Phalcon\Api\Http\Response; use Phalcon\Cli\Console; use Phalcon\Di\FactoryDefault; use Phalcon\Di\FactoryDefault\Cli as PhCli; use Phalcon\Di\ServiceProviderInterface; use Phalcon\Mvc\Micro; +use function microtime; abstract class AbstractBootstrap { diff --git a/library/Bootstrap/Api.php b/library/Bootstrap/Api.php index 39e86939..e8ead9b2 100644 --- a/library/Bootstrap/Api.php +++ b/library/Bootstrap/Api.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Bootstrap; -use function Niden\Core\appPath; use Phalcon\Di\FactoryDefault; use Phalcon\Mvc\Micro; +use function Phalcon\Api\Core\appPath; /** * Class Api * - * @package Niden\Bootstrap - * * @property Micro $application */ class Api extends AbstractBootstrap @@ -24,7 +30,7 @@ class Api extends AbstractBootstrap */ public function run() { - return $this->application->handle(); + return $this->application->handle($_SERVER['REQUEST_URI']); } /** diff --git a/library/Bootstrap/Cli.php b/library/Bootstrap/Cli.php index f4c1946c..81e5ff47 100644 --- a/library/Bootstrap/Cli.php +++ b/library/Bootstrap/Cli.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Bootstrap; -use function Niden\Core\appPath; use Phalcon\Cli\Console; use Phalcon\Di\FactoryDefault\Cli as PhCli; +use function Phalcon\Api\Core\appPath; /** * Class Cli * - * @package Niden\Bootstrap - * * @property Console $application */ class Cli extends AbstractBootstrap diff --git a/library/Bootstrap/Tests.php b/library/Bootstrap/Tests.php index 50ca2d06..64b907b7 100644 --- a/library/Bootstrap/Tests.php +++ b/library/Bootstrap/Tests.php @@ -1,6 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Bootstrap; class Tests extends Api { diff --git a/library/Constants/Flags.php b/library/Constants/Flags.php index ed6cb2c6..ee71e0c5 100644 --- a/library/Constants/Flags.php +++ b/library/Constants/Flags.php @@ -1,8 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Constants; class Flags { diff --git a/library/Constants/JWTClaims.php b/library/Constants/JWTClaims.php index 403c859f..acdb6b6d 100644 --- a/library/Constants/JWTClaims.php +++ b/library/Constants/JWTClaims.php @@ -1,8 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Constants; class JWTClaims { diff --git a/library/Constants/Relationships.php b/library/Constants/Relationships.php index cec83808..74315d76 100644 --- a/library/Constants/Relationships.php +++ b/library/Constants/Relationships.php @@ -1,8 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Constants; class Relationships { diff --git a/library/Core/autoload.php b/library/Core/autoload.php index b143c64d..42667c93 100644 --- a/library/Core/autoload.php +++ b/library/Core/autoload.php @@ -1,22 +1,31 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ use Dotenv\Dotenv; use Phalcon\Loader; -use function Niden\Core\appPath; +use function Phalcon\Api\Core\appPath; // Register the auto loader require __DIR__ . '/functions.php'; $loader = new Loader(); $namespaces = [ - 'Niden' => appPath('/library'), - 'Niden\Api\Controllers' => appPath('/api/controllers'), - 'Niden\Cli\Tasks' => appPath('/cli/tasks'), - 'Niden\Tests' => appPath('/tests'), + 'Phalcon\Api' => appPath('/library'), + 'Phalcon\Api\Api\Controllers' => appPath('/api/controllers'), + 'Phalcon\Api\Cli\Tasks' => appPath('/cli/tasks'), + 'Phalcon\Api\Tests' => appPath('/tests'), ]; $loader->registerNamespaces($namespaces); - $loader->register(); /** diff --git a/library/Core/config.php b/library/Core/config.php index 8dfdb652..b5dce6d8 100644 --- a/library/Core/config.php +++ b/library/Core/config.php @@ -1,7 +1,17 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +use function Phalcon\Api\Core\appPath; +use function Phalcon\Api\Core\envValue; return [ 'app' => [ @@ -17,34 +27,24 @@ 'time' => microtime(true), ], 'cache' => [ - 'data' => [ - 'front' => [ - 'adapter' => 'Data', - 'options' => [ - 'lifetime' => envValue('CACHE_LIFETIME'), - ], - ], - 'back' => [ - 'dev' => [ - 'adapter' => 'File', - 'options' => [ - 'cacheDir' => appPath('storage/cache/data/'), + 'adapter' => 'libmemcached', + 'options' => [ + 'libmemcached' => [ + 'servers' => [ + 0 => [ + 'host' => envValue('DATA_API_MEMCACHED_HOST', '127.0.0.1'), + 'port' => envValue('DATA_API_MEMCACHED_PORT', 11211), + 'weight' => envValue('DATA_API_MEMCACHED_WEIGHT', 100), ], ], - 'prod' => [ - 'adapter' => 'Libmemcached', - 'options' => [ - 'servers' => [ - [ - 'host' => envValue('DATA_API_MEMCACHED_HOST'), - 'port' => envValue('DATA_API_MEMCACHED_PORT'), - 'weight' => envValue('DATA_API_MEMCACHED_WEIGHT'), - ], - ], - ], + 'client' => [ + \Memcached::OPT_PREFIX_KEY => 'api-', ], + 'lifetime' => envValue('CACHE_LIFETIME', 86400), + 'prefix' => 'data-', ], ], + 'metadata' => [ 'dev' => [ 'adapter' => 'Memory', diff --git a/library/Core/functions.php b/library/Core/functions.php index cacbfc35..30d5f623 100644 --- a/library/Core/functions.php +++ b/library/Core/functions.php @@ -1,11 +1,21 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Core; use function function_exists; use function getenv; -if (true !== function_exists('Niden\Core\appPath')) { +if (true !== function_exists('Phalcon\Api\Core\appPath')) { /** * Get the application path. * @@ -19,7 +29,7 @@ function appPath(string $path = ''): string } } -if (true !== function_exists('Niden\Core\envValue')) { +if (true !== function_exists('Phalcon\Api\Core\envValue')) { /** * Gets a variable from the environment, returns it properly formatted or the * default if it does not exist @@ -47,7 +57,7 @@ function envValue(string $variable, $default = null) } } -if (true !== function_exists('Niden\Core\appUrl')) { +if (true !== function_exists('Phalcon\Api\Core\appUrl')) { /** * Constructs a URL for links with resource and id * diff --git a/library/ErrorHandler.php b/library/ErrorHandler.php index e84a131e..6a61b42e 100644 --- a/library/ErrorHandler.php +++ b/library/ErrorHandler.php @@ -1,19 +1,25 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api; +use Monolog\Logger; +use Phalcon\Config; use function memory_get_usage; use function microtime; use function number_format; -use Monolog\Logger; -use Phalcon\Config; /** * Class ErrorHandler - * - * @package Niden */ class ErrorHandler { diff --git a/library/Exception/Exception.php b/library/Exception/Exception.php index da09ebde..aa6e1581 100644 --- a/library/Exception/Exception.php +++ b/library/Exception/Exception.php @@ -1,8 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Exception; use Phalcon\Exception as PhException; diff --git a/library/Exception/HttpException.php b/library/Exception/HttpException.php index 1d6d0de7..8dfbe75b 100644 --- a/library/Exception/HttpException.php +++ b/library/Exception/HttpException.php @@ -1,8 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Exception; class HttpException extends Exception { diff --git a/library/Exception/ModelException.php b/library/Exception/ModelException.php index ebcd3e28..ad97e828 100644 --- a/library/Exception/ModelException.php +++ b/library/Exception/ModelException.php @@ -1,8 +1,16 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Exception; class ModelException extends Exception { diff --git a/library/Http/Request.php b/library/Http/Request.php index 5a6dd347..ce550276 100644 --- a/library/Http/Request.php +++ b/library/Http/Request.php @@ -1,11 +1,19 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Http; -use function str_replace; use Phalcon\Http\Request as PhRequest; +use function str_replace; class Request extends PhRequest { diff --git a/library/Http/Response.php b/library/Http/Response.php index 2f6b0f10..c80626eb 100644 --- a/library/Http/Response.php +++ b/library/Http/Response.php @@ -1,14 +1,22 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Http; +use Phalcon\Http\Response as PhResponse; +use Phalcon\Http\ResponseInterface; +use Phalcon\Messages\Messages; use function date; use function json_decode; -use Phalcon\Http\Response as PhResponse; -use Phalcon\Mvc\Model\MessageInterface as ModelMessage; -use Phalcon\Validation\Message\Group as ValidationMessage; use function sha1; class Response extends PhResponse @@ -61,9 +69,9 @@ public function getHttpCodeDescription(int $code) /** * Send the response back * - * @return PhResponse + * @return ResponseInterface */ - public function send(): PhResponse + public function send(): ResponseInterface { $content = $this->getContent(); $timestamp = date('c'); @@ -113,7 +121,7 @@ public function setPayloadError(string $detail = ''): Response /** * Traverses the errors collection and sets the errors in the payload * - * @param ModelMessage[]|ValidationMessage $errors + * @param Messages $errors * * @return Response */ diff --git a/library/Middleware/AuthenticationMiddleware.php b/library/Middleware/AuthenticationMiddleware.php index 9f043ec9..5919f5ea 100755 --- a/library/Middleware/AuthenticationMiddleware.php +++ b/library/Middleware/AuthenticationMiddleware.php @@ -1,20 +1,26 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; -use Niden\Http\Request; -use Niden\Http\Response; -use Niden\Traits\QueryTrait; -use Niden\Traits\ResponseTrait; +use Phalcon\Api\Http\Request; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Traits\QueryTrait; +use Phalcon\Api\Traits\ResponseTrait; use Phalcon\Mvc\Micro; use Phalcon\Mvc\Micro\MiddlewareInterface; /** * Class AuthenticationMiddleware - * - * @package Niden\Middleware */ class AuthenticationMiddleware implements MiddlewareInterface { diff --git a/library/Middleware/NotFoundMiddleware.php b/library/Middleware/NotFoundMiddleware.php index c65b850f..f25a747a 100755 --- a/library/Middleware/NotFoundMiddleware.php +++ b/library/Middleware/NotFoundMiddleware.php @@ -1,24 +1,30 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; -use Niden\Http\Response; -use Niden\Traits\ResponseTrait; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Traits\ResponseTrait; +use Phalcon\Di\Injectable; use Phalcon\Mvc\Micro; use Phalcon\Mvc\Micro\MiddlewareInterface; -use Phalcon\Mvc\User\Plugin; /** * Class NotFoundMiddleware * - * @package Niden\Middleware - * * @property Micro $application * @property Response $response */ -class NotFoundMiddleware extends Plugin implements MiddlewareInterface +class NotFoundMiddleware extends Injectable implements MiddlewareInterface { use ResponseTrait; diff --git a/library/Middleware/ResponseMiddleware.php b/library/Middleware/ResponseMiddleware.php index c88c8de0..8db543f8 100755 --- a/library/Middleware/ResponseMiddleware.php +++ b/library/Middleware/ResponseMiddleware.php @@ -1,19 +1,25 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; -use Niden\Http\Response; -use Niden\Traits\ResponseTrait; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Traits\ResponseTrait; use Phalcon\Mvc\Micro; use Phalcon\Mvc\Micro\MiddlewareInterface; /** * Class ResponseMiddleware * - * @package Niden\Middleware - * * @property Response $response */ class ResponseMiddleware implements MiddlewareInterface diff --git a/library/Middleware/TokenBase.php b/library/Middleware/TokenBase.php index d514dda5..19946e3f 100755 --- a/library/Middleware/TokenBase.php +++ b/library/Middleware/TokenBase.php @@ -1,19 +1,25 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; -use Niden\Http\Request; -use Niden\Traits\QueryTrait; -use Niden\Traits\ResponseTrait; -use Niden\Traits\TokenTrait; +use Phalcon\Api\Http\Request; +use Phalcon\Api\Traits\QueryTrait; +use Phalcon\Api\Traits\ResponseTrait; +use Phalcon\Api\Traits\TokenTrait; use Phalcon\Mvc\Micro\MiddlewareInterface; /** * Class AuthenticationMiddleware - * - * @package Niden\Middleware */ abstract class TokenBase implements MiddlewareInterface { diff --git a/library/Middleware/TokenUserMiddleware.php b/library/Middleware/TokenUserMiddleware.php index cc9c29de..e7a2246a 100755 --- a/library/Middleware/TokenUserMiddleware.php +++ b/library/Middleware/TokenUserMiddleware.php @@ -1,20 +1,26 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; -use Niden\Http\Request; -use Niden\Http\Response; -use Niden\Models\Users; -use Phalcon\Cache\Backend\Libmemcached; +use Phalcon\Api\Http\Request; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Models\Users; +use Phalcon\Cache; use Phalcon\Config; use Phalcon\Mvc\Micro; /** * Class TokenUserMiddleware - * - * @package Niden\Middleware */ class TokenUserMiddleware extends TokenBase { @@ -25,7 +31,7 @@ class TokenUserMiddleware extends TokenBase */ public function call(Micro $api) { - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $api->getService('cache'); /** @var Config $config */ $config = $api->getService('config'); diff --git a/library/Middleware/TokenValidationMiddleware.php b/library/Middleware/TokenValidationMiddleware.php index d801897e..270bbdbc 100755 --- a/library/Middleware/TokenValidationMiddleware.php +++ b/library/Middleware/TokenValidationMiddleware.php @@ -1,21 +1,27 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; -use Niden\Exception\ModelException; -use Niden\Http\Request; -use Niden\Http\Response; -use Niden\Models\Users; -use Phalcon\Cache\Backend\Libmemcached; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Http\Request; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Models\Users; +use Phalcon\Cache; use Phalcon\Config; use Phalcon\Mvc\Micro; /** * Class TokenValidationMiddleware - * - * @package Niden\Middleware */ class TokenValidationMiddleware extends TokenBase { @@ -27,7 +33,7 @@ class TokenValidationMiddleware extends TokenBase */ public function call(Micro $api) { - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $api->getService('cache'); /** @var Config $config */ $config = $api->getService('config'); diff --git a/library/Middleware/TokenVerificationMiddleware.php b/library/Middleware/TokenVerificationMiddleware.php index 1656e66a..ee2d9d77 100755 --- a/library/Middleware/TokenVerificationMiddleware.php +++ b/library/Middleware/TokenVerificationMiddleware.php @@ -1,22 +1,28 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Middleware; use Lcobucci\JWT\Signer\Hmac\Sha512; -use Niden\Exception\ModelException; -use Niden\Http\Request; -use Niden\Http\Response; -use Niden\Models\Users; -use Phalcon\Cache\Backend\Libmemcached; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Http\Request; +use Phalcon\Api\Http\Response; +use Phalcon\Api\Models\Users; +use Phalcon\Cache; use Phalcon\Config; use Phalcon\Mvc\Micro; /** * Class AuthenticationMiddleware - * - * @package Niden\Middleware */ class TokenVerificationMiddleware extends TokenBase { @@ -28,7 +34,7 @@ class TokenVerificationMiddleware extends TokenBase */ public function call(Micro $api) { - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $api->getService('cache'); /** @var Config $config */ $config = $api->getService('config'); diff --git a/library/Models/Companies.php b/library/Models/Companies.php index f0cae47d..4cf276a7 100644 --- a/library/Models/Companies.php +++ b/library/Models/Companies.php @@ -1,19 +1,25 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use Niden\Constants\Relationships; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Mvc\Model\AbstractModel; use Phalcon\Filter; use Phalcon\Validation; use Phalcon\Validation\Validator\Uniqueness; /** * Class Companies - * - * @package Niden\Models */ class Companies extends AbstractModel { @@ -22,6 +28,8 @@ class Companies extends AbstractModel */ public function initialize() { + $this->setSource('co_companies'); + $this->hasMany( 'id', Individuals::class, @@ -64,16 +72,6 @@ public function getModelFilters(): array ]; } - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_companies'; - } - /** * Validates the company name * diff --git a/library/Models/CompaniesXProducts.php b/library/Models/CompaniesXProducts.php index 3a0e2e12..4bc9a159 100644 --- a/library/Models/CompaniesXProducts.php +++ b/library/Models/CompaniesXProducts.php @@ -1,17 +1,23 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use Niden\Constants\Relationships; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Mvc\Model\AbstractModel; use Phalcon\Filter; /** * Class CompaniesXProducts - * - * @package Niden\Models */ class CompaniesXProducts extends AbstractModel { @@ -20,6 +26,8 @@ class CompaniesXProducts extends AbstractModel */ public function initialize() { + $this->setSource('co_companies_x_products'); + $this->belongsTo( 'companyId', Companies::class, @@ -55,14 +63,4 @@ public function getModelFilters(): array 'productId' => Filter::FILTER_ABSINT, ]; } - - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_companies_x_products'; - } } diff --git a/library/Models/IndividualTypes.php b/library/Models/IndividualTypes.php index 9298b67a..7379e8a4 100644 --- a/library/Models/IndividualTypes.php +++ b/library/Models/IndividualTypes.php @@ -1,17 +1,23 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use Niden\Constants\Relationships; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Mvc\Model\AbstractModel; use Phalcon\Filter; /** * Class IndividualTypes - * - * @package Niden\Models */ class IndividualTypes extends AbstractModel { @@ -20,6 +26,8 @@ class IndividualTypes extends AbstractModel */ public function initialize() { + $this->setSource('co_individual_types'); + $this->hasMany( 'id', Individuals::class, @@ -46,14 +54,4 @@ public function getModelFilters(): array 'description' => Filter::FILTER_STRING, ]; } - - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_individual_types'; - } } diff --git a/library/Models/Individuals.php b/library/Models/Individuals.php index 165b0aef..f7468d37 100644 --- a/library/Models/Individuals.php +++ b/library/Models/Individuals.php @@ -1,17 +1,23 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use Niden\Constants\Relationships; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Mvc\Model\AbstractModel; use Phalcon\Filter; /** * Class Individuals - * - * @package Niden\Models */ class Individuals extends AbstractModel { @@ -20,6 +26,8 @@ class Individuals extends AbstractModel */ public function initialize() { + $this->setSource('co_individuals'); + $this->belongsTo( 'companyId', Companies::class, @@ -61,14 +69,4 @@ public function getModelFilters(): array 'suffix' => Filter::FILTER_STRING, ]; } - - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_individuals'; - } } diff --git a/library/Models/ProductTypes.php b/library/Models/ProductTypes.php index 37acf9ea..a76144df 100644 --- a/library/Models/ProductTypes.php +++ b/library/Models/ProductTypes.php @@ -1,17 +1,23 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use Niden\Constants\Relationships; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Mvc\Model\AbstractModel; use Phalcon\Filter; /** * Class ProductTypes - * - * @package Niden\Models */ class ProductTypes extends AbstractModel { @@ -20,6 +26,8 @@ class ProductTypes extends AbstractModel */ public function initialize() { + $this->setSource('co_product_types'); + $this->hasMany( 'id', Products::class, @@ -46,14 +54,4 @@ public function getModelFilters(): array 'description' => Filter::FILTER_STRING, ]; } - - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_product_types'; - } } diff --git a/library/Models/Products.php b/library/Models/Products.php index b5e8fce8..3d50a062 100644 --- a/library/Models/Products.php +++ b/library/Models/Products.php @@ -1,17 +1,23 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use Niden\Constants\Relationships; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Mvc\Model\AbstractModel; use Phalcon\Filter; /** * Class Products - * - * @package Niden\Models */ class Products extends AbstractModel { @@ -20,6 +26,8 @@ class Products extends AbstractModel */ public function initialize() { + $this->setSource('co_products'); + $this->hasManyToMany( 'id', CompaniesXProducts::class, @@ -62,14 +70,4 @@ public function getModelFilters(): array 'price' => Filter::FILTER_FLOAT, ]; } - - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_products'; - } } diff --git a/library/Models/Users.php b/library/Models/Users.php index a29b6dd9..0f40f656 100644 --- a/library/Models/Users.php +++ b/library/Models/Users.php @@ -1,27 +1,43 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Models; -use function time; use Lcobucci\JWT\Builder; use Lcobucci\JWT\Signer\Hmac\Sha512; -use Niden\Traits\TokenTrait; use Lcobucci\JWT\ValidationData; -use Niden\Exception\ModelException; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Mvc\Model\AbstractModel; +use Phalcon\Api\Traits\TokenTrait; use Phalcon\Filter; +use function time; /** * Class Users - * - * @package Niden\Models */ class Users extends AbstractModel { use TokenTrait; + /** + * Returns the source table from the database + * + * @return void + */ + public function initialize(): void + { + $this->setSource('co_users'); + } + /** * Model filters * @@ -40,16 +56,6 @@ public function getModelFilters(): array ]; } - /** - * Returns the source table from the database - * - * @return string - */ - public function getSource(): string - { - return 'co_users'; - } - /** * Returns the string token * diff --git a/library/Mvc/Model/AbstractModel.php b/library/Mvc/Model/AbstractModel.php index 2bde5be8..f66784a8 100644 --- a/library/Mvc/Model/AbstractModel.php +++ b/library/Mvc/Model/AbstractModel.php @@ -1,11 +1,19 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Mvc\Model; use Monolog\Logger; -use Niden\Exception\ModelException; +use Phalcon\Api\Exception\ModelException; use Phalcon\Filter; use Phalcon\Mvc\Model as PhModel; diff --git a/library/Providers/CacheDataProvider.php b/library/Providers/CacheDataProvider.php index 908c23c9..db43d1e1 100644 --- a/library/Providers/CacheDataProvider.php +++ b/library/Providers/CacheDataProvider.php @@ -1,45 +1,46 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ -use function Niden\Core\envValue; -use Phalcon\Cache\Backend\Libmemcached; -use Phalcon\Cache\Frontend\Data; +namespace Phalcon\Api\Providers; + +use Phalcon\Cache; +use Phalcon\Cache\AdapterFactory; +use Phalcon\Config; +use Phalcon\Di\DiInterface; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use Phalcon\Storage\SerializerFactory; class CacheDataProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { + /** @var Config $config */ + $config = $container->getShared('config'); + $container->setShared( 'cache', - function () { - $prefix = 'data'; - $frontAdapter = Data::class; - $frontOptions = [ - 'lifetime' => envValue('CACHE_LIFETIME', 86400), - ]; - $backOptions = [ - 'servers' => [ - 0 => [ - 'host' => envValue('DATA_API_MEMCACHED_HOST', '127.0.0.1'), - 'port' => envValue('DATA_API_MEMCACHED_PORT', 11211), - 'weight' => envValue('DATA_API_MEMCACHED_WEIGHT', 100), - ], - ], - 'client' => [ - \Memcached::OPT_HASH => \Memcached::HASH_MD5, - \Memcached::OPT_PREFIX_KEY => 'api-', - ], - 'lifetime' => 3600, - 'prefix' => $prefix . '-', - ]; + function () use ($config) { + $cache = $config->get('cache')->toArray(); + $adapter = $cache['adapter']; + $options = $cache['options'][$adapter] ?? []; + + $serializerFactory = new SerializerFactory(); + $adapterFactory = new AdapterFactory($serializerFactory); + $adapter = $adapterFactory->newInstance($adapter, $options); - return new Libmemcached(new $frontAdapter($frontOptions), $backOptions); + return new Cache($adapter); } ); } diff --git a/library/Providers/CliDispatcherProvider.php b/library/Providers/CliDispatcherProvider.php index d3849819..73cb62e3 100644 --- a/library/Providers/CliDispatcherProvider.php +++ b/library/Providers/CliDispatcherProvider.php @@ -1,25 +1,33 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; use Phalcon\Cli\Dispatcher; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use Phalcon\Di\DiInterface; class CliDispatcherProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared( 'dispatcher', function () { $dispatcher = new Dispatcher(); - $dispatcher->setDefaultNamespace('Niden\Cli\Tasks'); + $dispatcher->setDefaultNamespace('Phalcon\Api\Cli\Tasks'); return $dispatcher; } diff --git a/library/Providers/ConfigProvider.php b/library/Providers/ConfigProvider.php index 7156ee0b..59d8ef5e 100644 --- a/library/Providers/ConfigProvider.php +++ b/library/Providers/ConfigProvider.php @@ -1,20 +1,28 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use function Niden\Core\appPath; -use Phalcon\DiInterface; -use Phalcon\Di\ServiceProviderInterface; use Phalcon\Config; +use Phalcon\Di\DiInterface; +use Phalcon\Di\ServiceProviderInterface; +use function Phalcon\Api\Core\appPath; class ConfigProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared( 'config', diff --git a/library/Providers/DatabaseProvider.php b/library/Providers/DatabaseProvider.php index 8745df20..8047dfc4 100644 --- a/library/Providers/DatabaseProvider.php +++ b/library/Providers/DatabaseProvider.php @@ -1,20 +1,28 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use function Niden\Core\envValue; use Phalcon\Db\Adapter\Pdo\Mysql; +use Phalcon\Di\DiInterface; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use function Phalcon\Api\Core\envValue; class DatabaseProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared( 'db', diff --git a/library/Providers/ErrorHandlerProvider.php b/library/Providers/ErrorHandlerProvider.php index 00732901..da5ed2a0 100644 --- a/library/Providers/ErrorHandlerProvider.php +++ b/library/Providers/ErrorHandlerProvider.php @@ -1,16 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use function register_shutdown_function; -use function set_error_handler; use Monolog\Logger; -use Niden\ErrorHandler; +use Phalcon\Api\ErrorHandler; use Phalcon\Config; +use Phalcon\Di\DiInterface; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use function register_shutdown_function; +use function set_error_handler; class ErrorHandlerProvider implements ServiceProviderInterface { @@ -19,7 +27,7 @@ class ErrorHandlerProvider implements ServiceProviderInterface * * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { /** @var Logger $logger */ $logger = $container->getShared('logger'); diff --git a/library/Providers/LoggerProvider.php b/library/Providers/LoggerProvider.php index fdddabbc..5230894f 100644 --- a/library/Providers/LoggerProvider.php +++ b/library/Providers/LoggerProvider.php @@ -1,16 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use function Niden\Core\appPath; -use function Niden\Core\envValue; use Monolog\Formatter\LineFormatter; use Monolog\Handler\StreamHandler; use Monolog\Logger; +use Phalcon\Di\DiInterface; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use function Phalcon\Api\Core\appPath; +use function Phalcon\Api\Core\envValue; class LoggerProvider implements ServiceProviderInterface { @@ -19,7 +27,7 @@ class LoggerProvider implements ServiceProviderInterface * * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared( 'logger', diff --git a/library/Providers/ModelsMetadataProvider.php b/library/Providers/ModelsMetadataProvider.php index 71d8213a..6b78b1e1 100644 --- a/library/Providers/ModelsMetadataProvider.php +++ b/library/Providers/ModelsMetadataProvider.php @@ -1,25 +1,34 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use function Niden\Core\envValue; +use Phalcon\Cache\AdapterFactory; +use Phalcon\Di\DiInterface; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; use Phalcon\Mvc\Model\MetaData\Libmemcached; +use Phalcon\Storage\SerializerFactory; +use function Phalcon\Api\Core\envValue; class ModelsMetadataProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared( 'modelsMetadata', function () { - $prefix = 'metadata'; $backOptions = [ 'servers' => [ 0 => [ @@ -29,14 +38,16 @@ function () { ], ], 'client' => [ - \Memcached::OPT_HASH => \Memcached::HASH_MD5, \Memcached::OPT_PREFIX_KEY => 'api-', ], 'lifetime' => 3600, - 'prefix' => $prefix . '-', + 'prefix' => 'metadata-', ]; - return new Libmemcached($backOptions); + $serializer = new SerializerFactory(); + $adapterFactor = new AdapterFactory($serializer); + + return new Libmemcached($adapterFactor, $backOptions); } ); } diff --git a/library/Providers/RequestProvider.php b/library/Providers/RequestProvider.php index c9ba44f0..ae11d0d5 100644 --- a/library/Providers/RequestProvider.php +++ b/library/Providers/RequestProvider.php @@ -1,19 +1,27 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use Niden\Http\Request; +use Phalcon\Api\Http\Request; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use Phalcon\Di\DiInterface; class RequestProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared('request', new Request()); } diff --git a/library/Providers/ResponseProvider.php b/library/Providers/ResponseProvider.php index 119c619d..a9ae444e 100644 --- a/library/Providers/ResponseProvider.php +++ b/library/Providers/ResponseProvider.php @@ -1,19 +1,27 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; -use Niden\Http\Response; +use Phalcon\Api\Http\Response; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; +use Phalcon\Di\DiInterface; class ResponseProvider implements ServiceProviderInterface { /** * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { $container->setShared( 'response', diff --git a/library/Providers/RouterProvider.php b/library/Providers/RouterProvider.php index 79241064..31edcb7d 100644 --- a/library/Providers/RouterProvider.php +++ b/library/Providers/RouterProvider.php @@ -1,26 +1,34 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Providers; + +use Phalcon\Api\Api\Controllers\Companies\AddController as CompaniesAddController; +use Phalcon\Api\Api\Controllers\Companies\GetController as CompaniesGetController; +use Phalcon\Api\Api\Controllers\Individuals\GetController as IndividualsGetController; +use Phalcon\Api\Api\Controllers\IndividualTypes\GetController as IndividualTypesGetController; +use Phalcon\Api\Api\Controllers\LoginController; +use Phalcon\Api\Api\Controllers\Products\GetController as ProductsGetController; +use Phalcon\Api\Api\Controllers\ProductTypes\GetController as ProductTypesGetController; +use Phalcon\Api\Api\Controllers\Users\GetController as UsersGetController; +use Phalcon\Api\Constants\Relationships as Rel; +use Phalcon\Api\Middleware\AuthenticationMiddleware; +use Phalcon\Api\Middleware\NotFoundMiddleware; +use Phalcon\Api\Middleware\ResponseMiddleware; +use Phalcon\Api\Middleware\TokenUserMiddleware; +use Phalcon\Api\Middleware\TokenValidationMiddleware; +use Phalcon\Api\Middleware\TokenVerificationMiddleware; +use Phalcon\Di\DiInterface; use Phalcon\Di\ServiceProviderInterface; -use Phalcon\DiInterface; use Phalcon\Events\Manager; use Phalcon\Mvc\Micro; use Phalcon\Mvc\Micro\Collection; @@ -32,7 +40,7 @@ class RouterProvider implements ServiceProviderInterface * * @param DiInterface $container */ - public function register(DiInterface $container) + public function register(DiInterface $container): void { /** @var Micro $application */ $application = $container->getShared('application'); @@ -122,7 +130,6 @@ private function getRoutes(): array $routes = $this->getMultiRoutes($routes, ProductsGetController::class, Rel::PRODUCTS); $routes = $this->getMultiRoutes($routes, ProductTypesGetController::class, Rel::PRODUCT_TYPES); - return $routes; } @@ -140,7 +147,12 @@ private function getMultiRoutes(array $routes, string $class, string $relationsh $routes[] = [$class, '/' . $relationship, 'get', '/']; $routes[] = [$class, '/' . $relationship, 'get', '/{recordId:[0-9]+}']; $routes[] = [$class, '/' . $relationship, 'get', '/{recordId:[0-9]+}/{relationships:[a-zA-Z-,.]+}']; - $routes[] = [$class, '/' . $relationship, 'get', '/{recordId:[0-9]+}/relationships/{relationships:[a-zA-Z-,.]+}']; + $routes[] = [ + $class, + '/' . $relationship, + 'get', + '/{recordId:[0-9]+}/relationships/{relationships:[a-zA-Z-,.]+}', + ]; return $routes; } diff --git a/library/Traits/FractalTrait.php b/library/Traits/FractalTrait.php index 62c76e86..1dc13ea3 100644 --- a/library/Traits/FractalTrait.php +++ b/library/Traits/FractalTrait.php @@ -1,19 +1,25 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Traits; use League\Fractal\Manager; use League\Fractal\Serializer\JsonApiSerializer; -use function Niden\Core\envValue; +use function Phalcon\Api\Core\envValue; use function sprintf; use function ucfirst; /** * Trait FractalTrait - * - * @package Niden\Traits */ trait FractalTrait { diff --git a/library/Traits/QueryTrait.php b/library/Traits/QueryTrait.php index a9f3b3a7..6daa8f23 100644 --- a/library/Traits/QueryTrait.php +++ b/library/Traits/QueryTrait.php @@ -1,24 +1,30 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Traits; -use function json_encode; use Lcobucci\JWT\Token; -use Niden\Constants\Flags; -use Niden\Constants\JWTClaims; -use Niden\Models\Users; -use Phalcon\Cache\Backend\Libmemcached; +use Phalcon\Api\Constants\Flags; +use Phalcon\Api\Constants\JWTClaims; +use Phalcon\Api\Models\Users; +use Phalcon\Cache; use Phalcon\Config; use Phalcon\Mvc\Model\Query\Builder; use Phalcon\Mvc\Model\ResultsetInterface; +use function json_encode; use function sha1; /** * Trait QueryTrait - * - * @package Niden\Traits */ trait QueryTrait { @@ -26,12 +32,12 @@ trait QueryTrait * Gets a user from the database based on the JWT token * * @param Config $config - * @param Libmemcached $cache + * @param Cache $cache * @param Token $token * * @return Users|false */ - protected function getUserByToken(Config $config, Libmemcached $cache, Token $token) + protected function getUserByToken(Config $config, Cache $cache, Token $token) { $parameters = [ 'issuer' => $token->getClaim(JWTClaims::CLAIM_ISSUER), @@ -48,13 +54,13 @@ protected function getUserByToken(Config $config, Libmemcached $cache, Token $to * Gets a user from the database based on the username and password * * @param Config $config - * @param Libmemcached $cache + * @param Cache $cache * @param string $username * @param string $password * * @return Users|false */ - protected function getUserByUsernameAndPassword(Config $config, Libmemcached $cache, $username, $password) + protected function getUserByUsernameAndPassword(Config $config, Cache $cache, $username, $password) { $parameters = [ 'username' => $username, @@ -71,7 +77,7 @@ protected function getUserByUsernameAndPassword(Config $config, Libmemcached $ca * Runs a query using the builder * * @param Config $config - * @param Libmemcached $cache + * @param Cache $cache * @param string $class * @param array $where * @param string $orderBy @@ -80,13 +86,13 @@ protected function getUserByUsernameAndPassword(Config $config, Libmemcached $ca */ protected function getRecords( Config $config, - Libmemcached $cache, + Cache $cache, string $class, array $where = [], string $orderBy = '' ): ResultsetInterface { $builder = new Builder(); - $builder->addFrom($class); + $builder->addFrom($class, 't1'); foreach ($where as $field => $value) { $builder->andWhere( @@ -106,7 +112,7 @@ protected function getRecords( * Runs the builder query if there is no cached data * * @param Config $config - * @param Libmemcached $cache + * @param Cache $cache * @param Builder $builder * @param array $where * @@ -114,7 +120,7 @@ protected function getRecords( */ private function getResults( Config $config, - Libmemcached $cache, + Cache $cache, Builder $builder, array $where = [] ): ResultsetInterface { @@ -124,12 +130,12 @@ private function getResults( $phql = $builder->getPhql(); $params = json_encode($where); $cacheKey = sha1(sprintf('%s-%s.cache', $phql, $params)); - if (true !== $config->path('app.devMode') && true === $cache->exists($cacheKey)) { + if (true !== $config->path('app.devMode') && true === $cache->has($cacheKey)) { /** @var ResultsetInterface $data */ $data = $cache->get($cacheKey); } else { $data = $builder->getQuery()->execute(); - $cache->save($cacheKey, $data); + $cache->set($cacheKey, $data); } return $data; diff --git a/library/Traits/ResponseTrait.php b/library/Traits/ResponseTrait.php index 8f3701b0..f553aa83 100644 --- a/library/Traits/ResponseTrait.php +++ b/library/Traits/ResponseTrait.php @@ -1,16 +1,22 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Traits; -use Niden\Http\Response; +use Phalcon\Api\Http\Response; use Phalcon\Mvc\Micro; /** * Trait ResponseTrait - * - * @package Niden\Traits */ trait ResponseTrait { diff --git a/library/Traits/TokenTrait.php b/library/Traits/TokenTrait.php index 85d8c829..75cef71b 100644 --- a/library/Traits/TokenTrait.php +++ b/library/Traits/TokenTrait.php @@ -1,18 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Traits; use Lcobucci\JWT\Parser; use Lcobucci\JWT\Token; -use function Niden\Core\envValue; +use function Phalcon\Api\Core\envValue; use function time; /** * Trait TokenTrait - * - * @package Niden\Traits */ trait TokenTrait { @@ -36,7 +42,7 @@ protected function getToken(string $token): Token protected function getTokenAudience(): string { /** @var string $audience */ - $audience = envValue('TOKEN_AUDIENCE', 'https://phalconphp.com'); + $audience = envValue('TOKEN_AUDIENCE', 'https://phalcon.io'); return $audience; } diff --git a/library/Transformers/BaseTransformer.php b/library/Transformers/BaseTransformer.php index 5c2584a8..e9b5bcd1 100644 --- a/library/Transformers/BaseTransformer.php +++ b/library/Transformers/BaseTransformer.php @@ -1,16 +1,24 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Transformers; -use function array_intersect; -use function array_keys; use League\Fractal\Resource\Collection; use League\Fractal\Resource\Item; use League\Fractal\TransformerAbstract; -use Niden\Exception\ModelException; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Mvc\Model\AbstractModel; +use function array_intersect; +use function array_keys; /** * Class BaseTransformer diff --git a/library/Transformers/CompaniesTransformer.php b/library/Transformers/CompaniesTransformer.php index a2b9d658..c170ffed 100644 --- a/library/Transformers/CompaniesTransformer.php +++ b/library/Transformers/CompaniesTransformer.php @@ -1,12 +1,20 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Transformers; use League\Fractal\Resource\Collection; -use Niden\Constants\Relationships; -use Niden\Models\Companies; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Companies; /** * Class CompaniesTransformer diff --git a/library/Transformers/IndividualTypesTransformer.php b/library/Transformers/IndividualTypesTransformer.php index 5edbf473..b65566bd 100644 --- a/library/Transformers/IndividualTypesTransformer.php +++ b/library/Transformers/IndividualTypesTransformer.php @@ -1,12 +1,20 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Transformers; use League\Fractal\Resource\Collection; -use Niden\Constants\Relationships; -use Niden\Models\IndividualTypes; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\IndividualTypes; /** * Class IndividualTypesTransformer diff --git a/library/Transformers/IndividualsTransformer.php b/library/Transformers/IndividualsTransformer.php index 835fcbc4..56e3ba0c 100644 --- a/library/Transformers/IndividualsTransformer.php +++ b/library/Transformers/IndividualsTransformer.php @@ -1,12 +1,20 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Transformers; use League\Fractal\Resource\Item; -use Niden\Constants\Relationships; -use Niden\Models\Individuals; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Individuals; /** * Class IndividualsTransformer diff --git a/library/Transformers/ProductTypesTransformer.php b/library/Transformers/ProductTypesTransformer.php index 6b2db982..75c38017 100644 --- a/library/Transformers/ProductTypesTransformer.php +++ b/library/Transformers/ProductTypesTransformer.php @@ -1,12 +1,20 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Transformers; use League\Fractal\Resource\Collection; -use Niden\Constants\Relationships; -use Niden\Models\ProductTypes; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\ProductTypes; /** * Class ProductTypesTransformer diff --git a/library/Transformers/ProductsTransformer.php b/library/Transformers/ProductsTransformer.php index cf832fd3..849ab0b5 100644 --- a/library/Transformers/ProductsTransformer.php +++ b/library/Transformers/ProductsTransformer.php @@ -1,13 +1,21 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Transformers; use League\Fractal\Resource\Collection; use League\Fractal\Resource\Item; -use Niden\Constants\Relationships; -use Niden\Models\Products; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Models\Products; /** * Class ProductsTransformer diff --git a/library/Validation/CompaniesValidator.php b/library/Validation/CompaniesValidator.php index 89b2d9d0..23734c09 100644 --- a/library/Validation/CompaniesValidator.php +++ b/library/Validation/CompaniesValidator.php @@ -1,14 +1,21 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Phalcon\Api\Validation; use Phalcon\Filter; use Phalcon\Validation; use Phalcon\Validation\Validator\PresenceOf; - class CompaniesValidator extends Validation { public function initialize() diff --git a/psalm.xml.dist b/psalm.xml.dist new file mode 100644 index 00000000..e508e052 --- /dev/null +++ b/psalm.xml.dist @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/storage/ci/.env.example b/storage/ci/.env.example index 6fd5bfe5..845b3be7 100644 --- a/storage/ci/.env.example +++ b/storage/ci/.env.example @@ -3,10 +3,10 @@ APP_ENV=development APP_URL=http://api.phalcon.ld APP_NAME="Phalcon API" APP_BASE_URI=/ -APP_SUPPORT_EMAIL=team@phalconphp.com +APP_SUPPORT_EMAIL=team@phalcon.io APP_TIMEZONE=UTC -TOKEN_AUDIENCE=https://phalconphp.com +TOKEN_AUDIENCE=https://phalcon.io CACHE_PREFIX=api_cache_ CACHE_LIFETIME=86400 diff --git a/storage/ci/.env.prod b/storage/ci/.env.prod index 0b1228e1..d0ae645a 100644 --- a/storage/ci/.env.prod +++ b/storage/ci/.env.prod @@ -3,10 +3,10 @@ APP_ENV=production APP_URL=http://api.phalcon.ld APP_NAME="Phalcon API" APP_BASE_URI=/ -APP_SUPPORT_EMAIL=team@phalconphp.com +APP_SUPPORT_EMAIL=team@phalcon.io APP_TIMEZONE=UTC -TOKEN_AUDIENCE=https://phalconphp.com +TOKEN_AUDIENCE=https://phalcon.io CACHE_PREFIX=api_cache_ CACHE_LIFETIME=86400 diff --git a/storage/ci/phinx.php.example b/storage/ci/phinx.php.example index b4b93a81..6f767063 100644 --- a/storage/ci/phinx.php.example +++ b/storage/ci/phinx.php.example @@ -11,7 +11,7 @@ return [ 'production' => [ 'adapter' => 'mysql', 'host' => getenv('DATA_API_MYSQL_HOST'), - 'name' => 'gonano', + 'name' => getenv('DATA_API_MYSQL_NAME'), 'user' => getenv('DATA_API_MYSQL_USER'), 'pass' => getenv('DATA_API_MYSQL_PASS'), 'port' => 3306, @@ -20,7 +20,7 @@ return [ 'development' => [ 'adapter' => 'mysql', 'host' => getenv('DATA_API_MYSQL_HOST'), - 'name' => 'gonano', + 'name' => getenv('DATA_API_MYSQL_NAME'), 'user' => getenv('DATA_API_MYSQL_USER'), 'pass' => getenv('DATA_API_MYSQL_PASS'), 'port' => 3306, diff --git a/tests/.env.test b/tests/.env.test new file mode 100644 index 00000000..fa13f00e --- /dev/null +++ b/tests/.env.test @@ -0,0 +1,26 @@ +APP_DEBUG=true +APP_ENV=development +APP_URL=http://api.phalcon.ld +APP_NAME="Phalcon API" +APP_BASE_URI=/ +APP_SUPPORT_EMAIL=team@phalcon.io +APP_TIMEZONE=UTC + +DATA_API_MYSQL_HOST=phalcon-db-mysql +DATA_API_MYSQL_USER=root +DATA_API_MYSQL_PASS=root +DATA_API_MYSQL_NAME=phalcon-api + +TOKEN_AUDIENCE=https://phalcon.io + +CACHE_PREFIX=api_cache_ +CACHE_LIFETIME=86400 + +APP_IP=api.phalcon.ld + +LOGGER_DEFAULT_FILENAME=api + +VERSION=20180401 + +CODECEPTION_URL=127.0.0.1 +CODECEPTION_PORT=82 diff --git a/tests/_bootstrap.php b/tests/_bootstrap.php index 98ad1eb6..eca86772 100644 --- a/tests/_bootstrap.php +++ b/tests/_bootstrap.php @@ -2,6 +2,12 @@ define('API_TESTS', true); +/** + * As current request is inside CLI + * There are no REQUEST URI + */ +$_SERVER['REQUEST_URI'] = '/'; + require __DIR__ . '/../library/Core/autoload.php'; ini_set('date.timezone', 'UTC'); diff --git a/tests/_ci/bootstrap-cli.php b/tests/_ci/bootstrap-cli.php index e65d58df..0269e740 100644 --- a/tests/_ci/bootstrap-cli.php +++ b/tests/_ci/bootstrap-cli.php @@ -1,5 +1,5 @@ run(); diff --git a/tests/_ci/bootstrap.php b/tests/_ci/bootstrap.php index a875ea0c..c2f2a1bb 100644 --- a/tests/_ci/bootstrap.php +++ b/tests/_ci/bootstrap.php @@ -1,6 +1,6 @@ $val) { $record->set($key, $val); } + + $result = $record->save(); $this->savedModels[$modelName] = $fields; - $result = $record->save(); $this->assertNotSame(false, $result); $this->savedRecords[] = $record; diff --git a/tests/_support/Page/Data.php b/tests/_support/Page/Data.php index bbc52b7e..723db2d7 100644 --- a/tests/_support/Page/Data.php +++ b/tests/_support/Page/Data.php @@ -2,9 +2,10 @@ namespace Page; -use Niden\Constants\Relationships; -use function Niden\Core\envValue; -use Niden\Mvc\Model\AbstractModel; +use Phalcon\Api\Constants\Relationships; +use Phalcon\Api\Exception\ModelException; +use Phalcon\Api\Mvc\Model\AbstractModel; +use function Phalcon\Api\Core\envValue; class Data { @@ -61,7 +62,7 @@ public static function companyAddJson($name, $address = '', $city = '', $phone = * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function companiesResponse(AbstractModel $record) { @@ -89,7 +90,7 @@ public static function companiesResponse(AbstractModel $record) * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function individualResponse(AbstractModel $record) { @@ -120,7 +121,7 @@ public static function individualResponse(AbstractModel $record) * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function individualTypeResponse(AbstractModel $record) { @@ -146,7 +147,7 @@ public static function individualTypeResponse(AbstractModel $record) * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function productResponse(AbstractModel $record) { @@ -175,7 +176,7 @@ public static function productResponse(AbstractModel $record) * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function productFieldsResponse(AbstractModel $record) { @@ -201,7 +202,7 @@ public static function productFieldsResponse(AbstractModel $record) * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function productTypeResponse(AbstractModel $record) { @@ -227,7 +228,7 @@ public static function productTypeResponse(AbstractModel $record) * @param AbstractModel $record * * @return array - * @throws \Niden\Exception\ModelException + * @throws ModelException */ public static function userResponse(AbstractModel $record) { diff --git a/tests/api.suite.yml b/tests/api.suite.yml index 40d22234..cc04769a 100644 --- a/tests/api.suite.yml +++ b/tests/api.suite.yml @@ -9,4 +9,7 @@ modules: - Helper\Api - \Helper\Integration - REST: - depends: Phalcon + depends: PhpBrowser + url: 'http://%CODECEPTION_URL%:%CODECEPTION_PORT%' + curl: + CURLOPT_RETURNTRANSFER: true diff --git a/tests/api/Companies/AddCest.php b/tests/api/Companies/AddCest.php index 83df0218..c8c4fb7a 100644 --- a/tests/api/Companies/AddCest.php +++ b/tests/api/Companies/AddCest.php @@ -1,14 +1,14 @@ 1, 'username' => 'testuser', 'password' => 'testpassword', - 'issuer' => 'https://phalconphp.com', + 'issuer' => 'https://phalcon.io', 'tokenId' => '110011', ] ); diff --git a/tests/api/NotFoundCest.php b/tests/api/NotFoundCest.php index 3b671fd4..fdbbcb60 100644 --- a/tests/api/NotFoundCest.php +++ b/tests/api/NotFoundCest.php @@ -1,6 +1,6 @@ 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenPassword' => '12345', 'tokenId' => '00110011', ] @@ -42,7 +41,7 @@ public function modelGetSetFields(IntegrationTester $I) */ public function modelSetNonExistingFields(IntegrationTester $I) { - $I->expectException( + $I->expectThrowable( ModelException::class, function () { $fixture = new Users(); @@ -68,13 +67,13 @@ public function modelGetNonExistingFields(IntegrationTester $I) 'username' => 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenPassword' => '12345', 'tokenId' => '00110011', ] ); - $I->expectException( + $I->expectThrowable( ModelException::class, function () use ($user) { $user->get('some_field'); @@ -98,7 +97,7 @@ public function modelUpdateFields(IntegrationTester $I) 'username' => 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenPassword' => '12345', 'tokenId' => '00110011', ] @@ -110,15 +109,13 @@ public function modelUpdateFields(IntegrationTester $I) $I->assertEquals($user->get('username'), 'testusername'); $I->assertEquals($user->get('password'), 'testpass'); - $I->assertEquals($user->get('issuer'), 'phalconphp.com'); + $I->assertEquals($user->get('issuer'), 'phalcon.io'); $I->assertEquals($user->get('tokenPassword'), '12345'); $I->assertEquals($user->get('tokenId'), '00110011'); } /** * @param IntegrationTester $I - * - * @throws ModelException */ public function modelUpdateFieldsNotSanitized(IntegrationTester $I) { @@ -129,7 +126,7 @@ public function modelUpdateFieldsNotSanitized(IntegrationTester $I) 'username' => 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenPassword' => '12345', 'tokenId' => '00110011', @@ -176,6 +173,7 @@ public function checkModelMessages(IntegrationTester $I) /** * @param IntegrationTester $I + * @throws Exception */ public function checkModelMessagesWithLogger(IntegrationTester $I) { diff --git a/tests/integration/library/Models/CompaniesCest.php b/tests/integration/library/Models/CompaniesCest.php index 5c2ebf81..ef465367 100644 --- a/tests/integration/library/Models/CompaniesCest.php +++ b/tests/integration/library/Models/CompaniesCest.php @@ -1,11 +1,12 @@ getModelRelationships(Companies::class); $expected = [ [2, 'id', Individuals::class, 'companyId', ['alias' => Relationships::INDIVIDUALS, 'reusable' => true]], + [4, 'id', Products::class, 'id', ['alias' => Relationships::PRODUCTS, 'reusable' => true]], ]; + $I->assertEquals($expected, $actual); } diff --git a/tests/integration/library/Models/CompaniesXProductsCest.php b/tests/integration/library/Models/CompaniesXProductsCest.php index 989d513d..c576746b 100644 --- a/tests/integration/library/Models/CompaniesXProductsCest.php +++ b/tests/integration/library/Models/CompaniesXProductsCest.php @@ -1,12 +1,12 @@ getModelRelationships(Products::class); $expected = [ [0, 'typeId', ProductTypes::class, 'id', ['alias' => Relationships::PRODUCT_TYPES, 'reusable' => true]], + [4, 'id', Companies::class, 'id', ['alias' => Relationships::COMPANIES, 'reusable' => true]], ]; + $I->assertEquals($expected, $actual); } } diff --git a/tests/integration/library/Models/UsersCest.php b/tests/integration/library/Models/UsersCest.php index d7e45f49..8abdf4c4 100644 --- a/tests/integration/library/Models/UsersCest.php +++ b/tests/integration/library/Models/UsersCest.php @@ -1,11 +1,11 @@ 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenId' => '00110011', ] ); - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $I->grabFromDi('cache'); /** @var Config $config */ $config = $I->grabFromDi('config'); @@ -53,7 +52,6 @@ public function checkGetUserByUsernameAndPassword(IntegrationTester $I) /** * @param IntegrationTester $I * - * @throws ModelException */ public function checkGetUserByWrongUsernameAndPasswordReturnsFalse(IntegrationTester $I) { @@ -64,12 +62,12 @@ public function checkGetUserByWrongUsernameAndPasswordReturnsFalse(IntegrationTe 'username' => 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenId' => '00110011', ] ); - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $I->grabFromDi('cache'); /** @var Config $config */ $config = $I->grabFromDi('config'); @@ -90,7 +88,7 @@ public function checkGetUserByWrongTokenReturnsFalse(IntegrationTester $I) 'username' => 'testusername', 'password' => 'testpass', 'status' => 1, - 'issuer' => 'phalconphp.com', + 'issuer' => 'phalcon.io', 'tokenId' => '00110011', ] ); @@ -105,7 +103,7 @@ public function checkGetUserByWrongTokenReturnsFalse(IntegrationTester $I) ->getToken() ; - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $I->grabFromDi('cache'); /** @var Config $config */ $config = $I->grabFromDi('config'); @@ -124,8 +122,9 @@ public function getCompaniesCachedData(IntegrationTester $I) $container->set('config', $config); $I->assertFalse($config->path('app.devMode')); - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $I->grabFromDi('cache'); + $cache->clear(); /** @var Config $config */ $config = $I->grabFromDi('config'); $I->assertFalse($config->path('app.devMode')); @@ -166,7 +165,5 @@ public function getCompaniesCachedData(IntegrationTester $I) $I->assertEquals($comOne->get('address'), $results[0]->get('address')); $I->assertEquals($comOne->get('city'), $results[0]->get('city')); $I->assertEquals($comOne->get('phone'), $results[0]->get('phone')); - - } } diff --git a/tests/integration/library/Transformers/BaseTransformerCest.php b/tests/integration/library/Transformers/BaseTransformerCest.php index 0d7093a0..f8fb4a5f 100644 --- a/tests/integration/library/Transformers/BaseTransformerCest.php +++ b/tests/integration/library/Transformers/BaseTransformerCest.php @@ -1,17 +1,18 @@ assertEquals('1.0', $results['jsonapi']['version']); - $I->assertEmpty($results['data']); + $I->assertTrue(empty($results['data'])); $I->assertEquals(HttpCode::getDescription(404), $results['errors'][0]); } } diff --git a/tests/unit/cli/BaseCest.php b/tests/unit/cli/BaseCest.php index 03fbaccc..15d8c369 100755 --- a/tests/unit/cli/BaseCest.php +++ b/tests/unit/cli/BaseCest.php @@ -1,8 +1,8 @@ register($container); $cache = new CacheDataProvider(); $cache->register($container); $task = new ClearcacheTask(); diff --git a/tests/unit/config/AutoloaderCest.php b/tests/unit/config/AutoloaderCest.php index 860abc1b..030125a6 100755 --- a/tests/unit/config/AutoloaderCest.php +++ b/tests/unit/config/AutoloaderCest.php @@ -1,11 +1,11 @@ assertEquals('development', getenv('APP_ENV')); $I->assertEquals('http://api.phalcon.ld', getenv('APP_URL')); $I->assertEquals('/', getenv('APP_BASE_URI')); - $I->assertEquals('team@phalconphp.com', getenv('APP_SUPPORT_EMAIL')); + $I->assertEquals('team@phalcon.io', getenv('APP_SUPPORT_EMAIL')); $I->assertEquals('UTC', getenv('APP_TIMEZONE')); $I->assertEquals('api_cache_', getenv('CACHE_PREFIX')); $I->assertEquals(86400, getenv('CACHE_LIFETIME')); @@ -44,6 +44,6 @@ public function checkAutoloader(UnitTester $I) $class = new Response(); $I->assertTrue($class instanceof Response); - $I->assertTrue(function_exists('Niden\Core\envValue')); + $I->assertTrue(function_exists('Phalcon\Api\Core\envValue')); } } diff --git a/tests/unit/config/ConfigCest.php b/tests/unit/config/ConfigCest.php index eaaf279d..a652151d 100755 --- a/tests/unit/config/ConfigCest.php +++ b/tests/unit/config/ConfigCest.php @@ -1,10 +1,10 @@ setPayloadSuccess('test'); - - $contents = $response->getContent(); - $I->assertTrue(is_string($contents)); - - $payload = $this->checkPayload($I, $response); - - $I->assertFalse(isset($payload['errors'])); - $I->assertEquals('test', $payload['data']); - } - - private function checkPayload(UnitTester $I, Response $response, bool $error = false): array - { - $contents = $response->getContent(); - $I->assertTrue(is_string($contents)); - - $payload = json_decode($contents, true); - if (true === $error) { - $I->assertTrue(isset($payload['errors'])); - } else { - $I->assertTrue(isset($payload['data'])); - } - - return $payload; - } - - public function checkResponseWithArrayPayload(UnitTester $I) - { - $response = new Response(); - - $response - ->setPayloadSuccess(['a' => 'b']); - - $payload = $this->checkPayload($I, $response); - - $I->assertFalse(isset($payload['errors'])); - $I->assertEquals(['a' => 'b'], $payload['data']); - } - - public function checkResponseWithErrorCode(UnitTester $I) - { - $response = new Response(); - - $response - ->setPayloadError('error content'); - - $payload = $this->checkPayload($I, $response, true); - - $I->assertFalse(isset($payload['data'])); - $I->assertEquals('error content', $payload['errors'][0]); - } - - public function checkResponseWithModelErrors(UnitTester $I) - { - $messages = [ - new ModelMessage('hello'), - new ModelMessage('goodbye'), - ]; - $response = new Response(); - $response - ->setPayloadErrors($messages); - - $payload = $this->checkPayload($I, $response, true); - - $I->assertFalse(isset($payload['data'])); - $I->assertEquals(2, count($payload['errors'])); - $I->assertEquals('hello', $payload['errors'][0]); - $I->assertEquals('goodbye', $payload['errors'][1]); - } - - public function checkResponseWithValidationErrors(UnitTester $I) - { - $group = new ValidationGroup(); - $message = new ValidationMessage('hello'); - $group->appendMessage($message); - $message = new ValidationMessage('goodbye'); - $group->appendMessage($message); - - $response = new Response(); - $response - ->setPayloadErrors($group); - - $payload = $this->checkPayload($I, $response, true); - - $I->assertFalse(isset($payload['data'])); - $I->assertEquals(2, count($payload['errors'])); - $I->assertEquals('hello', $payload['errors'][0]); - $I->assertEquals('goodbye', $payload['errors'][1]); - } - - public function checkHttpCodes(UnitTester $I) - { - $response = new Response(); - $I->assertEquals('200 (OK)', $response->getHttpCodeDescription($response::OK)); - $I->assertEquals('301 (Moved Permanently)', $response->getHttpCodeDescription($response::MOVED_PERMANENTLY)); - $I->assertEquals('302 (Found)', $response->getHttpCodeDescription($response::FOUND)); - $I->assertEquals('307 (Temporary Redirect)', $response->getHttpCodeDescription($response::TEMPORARY_REDIRECT)); - $I->assertEquals('308 (Permanent Redirect)', $response->getHttpCodeDescription($response::PERMANENTLY_REDIRECT)); - $I->assertEquals('400 (Bad Request)', $response->getHttpCodeDescription($response::BAD_REQUEST)); - $I->assertEquals('401 (Unauthorized)', $response->getHttpCodeDescription($response::UNAUTHORIZED)); - $I->assertEquals('403 (Forbidden)', $response->getHttpCodeDescription($response::FORBIDDEN)); - $I->assertEquals('404 (Not Found)', $response->getHttpCodeDescription($response::NOT_FOUND)); - $I->assertEquals('500 (Internal Server Error)', $response->getHttpCodeDescription($response::INTERNAL_SERVER_ERROR)); - $I->assertEquals('501 (Not Implemented)', $response->getHttpCodeDescription($response::NOT_IMPLEMENTED)); - $I->assertEquals('502 (Bad Gateway)', $response->getHttpCodeDescription($response::BAD_GATEWAY)); - $I->assertEquals(999, $response->getHttpCodeDescription(999)); - } -} +setPayloadSuccess('test'); + + $contents = $response->getContent(); + $I->assertTrue(is_string($contents)); + + $payload = $this->checkPayload($I, $response); + + $I->assertFalse(isset($payload['errors'])); + $I->assertEquals('test', $payload['data']); + } + + private function checkPayload(UnitTester $I, Response $response, bool $error = false): array + { + $contents = $response->getContent(); + $I->assertTrue(is_string($contents)); + + $payload = json_decode($contents, true); + if (true === $error) { + $I->assertTrue(isset($payload['errors'])); + } else { + $I->assertTrue(isset($payload['data'])); + } + + return $payload; + } + + public function checkResponseWithArrayPayload(UnitTester $I) + { + $response = new Response(); + + $response + ->setPayloadSuccess(['a' => 'b']); + + $payload = $this->checkPayload($I, $response); + + $I->assertFalse(isset($payload['errors'])); + $I->assertEquals(['a' => 'b'], $payload['data']); + } + + public function checkResponseWithErrorCode(UnitTester $I) + { + $response = new Response(); + + $response + ->setPayloadError('error content'); + + $payload = $this->checkPayload($I, $response, true); + + $I->assertFalse(isset($payload['data'])); + $I->assertEquals('error content', $payload['errors'][0]); + } + + public function checkResponseWithModelErrors(UnitTester $I) + { + $messages = [ + new Message('hello'), + new Message('goodbye'), + ]; + $response = new Response(); + $response + ->setPayloadErrors($messages); + + $payload = $this->checkPayload($I, $response, true); + + $I->assertFalse(isset($payload['data'])); + $I->assertEquals(2, count($payload['errors'])); + $I->assertEquals('hello', $payload['errors'][0]); + $I->assertEquals('goodbye', $payload['errors'][1]); + } + + public function checkResponseWithValidationErrors(UnitTester $I) + { + $group = new Messages(); + $message = new Message('hello'); + $group->appendMessage($message); + $message = new Message('goodbye'); + $group->appendMessage($message); + + $response = new Response(); + $response + ->setPayloadErrors($group); + + $payload = $this->checkPayload($I, $response, true); + + $I->assertFalse(isset($payload['data'])); + $I->assertEquals(2, count($payload['errors'])); + $I->assertEquals('hello', $payload['errors'][0]); + $I->assertEquals('goodbye', $payload['errors'][1]); + } + + public function checkHttpCodes(UnitTester $I) + { + $response = new Response(); + $I->assertEquals('200 (OK)', $response->getHttpCodeDescription($response::OK)); + $I->assertEquals('301 (Moved Permanently)', $response->getHttpCodeDescription($response::MOVED_PERMANENTLY)); + $I->assertEquals('302 (Found)', $response->getHttpCodeDescription($response::FOUND)); + $I->assertEquals('307 (Temporary Redirect)', $response->getHttpCodeDescription($response::TEMPORARY_REDIRECT)); + $I->assertEquals('308 (Permanent Redirect)', $response->getHttpCodeDescription($response::PERMANENTLY_REDIRECT)); + $I->assertEquals('400 (Bad Request)', $response->getHttpCodeDescription($response::BAD_REQUEST)); + $I->assertEquals('401 (Unauthorized)', $response->getHttpCodeDescription($response::UNAUTHORIZED)); + $I->assertEquals('403 (Forbidden)', $response->getHttpCodeDescription($response::FORBIDDEN)); + $I->assertEquals('404 (Not Found)', $response->getHttpCodeDescription($response::NOT_FOUND)); + $I->assertEquals('500 (Internal Server Error)', $response->getHttpCodeDescription($response::INTERNAL_SERVER_ERROR)); + $I->assertEquals('501 (Not Implemented)', $response->getHttpCodeDescription($response::NOT_IMPLEMENTED)); + $I->assertEquals('502 (Bad Gateway)', $response->getHttpCodeDescription($response::BAD_GATEWAY)); + $I->assertEquals(999, $response->getHttpCodeDescription(999)); + } +} diff --git a/tests/unit/library/Providers/CacheCest.php b/tests/unit/library/Providers/CacheCest.php index 39e434d6..539f1263 100644 --- a/tests/unit/library/Providers/CacheCest.php +++ b/tests/unit/library/Providers/CacheCest.php @@ -1,9 +1,10 @@ register($diContainer); $provider = new CacheDataProvider(); $provider->register($diContainer); $I->assertTrue($diContainer->has('cache')); - /** @var Libmemcached $cache */ + /** @var Cache $cache */ $cache = $diContainer->getShared('cache'); - $I->assertTrue($cache instanceof Libmemcached); + $I->assertTrue($cache instanceof Cache); } } diff --git a/tests/unit/library/Providers/ConfigCest.php b/tests/unit/library/Providers/ConfigCest.php index db21ef5a..e3159424 100644 --- a/tests/unit/library/Providers/ConfigCest.php +++ b/tests/unit/library/Providers/ConfigCest.php @@ -1,8 +1,8 @@