From 01cba6f7fc66ebb4e451e85b6c3c5ad87008094d Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Mon, 11 Jan 2016 15:25:46 +1100 Subject: [PATCH 01/18] Multiple fixes to implement new 5.2 interfaces, fix the App not being in global namespace any more, use of singleton rather than bindShared, updates to composer to use temporary newer 5.2 compatible version of spira/core --- .../Socialite/SocialiteServiceProvider.php | 2 +- .../Transformers/AuthTokenTransformer.php | 2 +- api/app/Models/PostDiscussion.php | 2 +- api/app/Models/UserCredential.php | 3 +- .../SingleSignOn/VanillaSingleSignOn.php | 2 +- api/bootstrap/app.php | 9 +- api/composer.json | 15 +- api/composer.lock | 1459 +++++++---------- ..._24_074349_create_elastic_search_index.php | 2 +- api/database/seeds/AbstractPostSeeder.php | 2 +- api/database/seeds/BaseSeeder.php | 2 +- api/database/seeds/ImageSeeder.php | 2 +- .../sections/countries.blade.apib | 2 +- .../sections/timezones.blade.apib | 2 +- api/src/Auth/Driver/Guard.php | 16 + api/src/Rbac/Access/Gate.php | 26 +- .../Services/Api/VanillaIntegrationTest.php | 4 +- api/tests/integration/ArticleTest.php | 10 +- composer.json | 4 +- 19 files changed, 673 insertions(+), 893 deletions(-) diff --git a/api/app/Extensions/Socialite/SocialiteServiceProvider.php b/api/app/Extensions/Socialite/SocialiteServiceProvider.php index 1ddf55af..c4228172 100644 --- a/api/app/Extensions/Socialite/SocialiteServiceProvider.php +++ b/api/app/Extensions/Socialite/SocialiteServiceProvider.php @@ -33,7 +33,7 @@ public function boot() */ public function register() { - $this->app->bindShared('Laravel\Socialite\Contracts\Factory', function ($app) { + $this->app->singleton('Laravel\Socialite\Contracts\Factory', function ($app) { return new SocialiteManager($app); }); } diff --git a/api/app/Http/Transformers/AuthTokenTransformer.php b/api/app/Http/Transformers/AuthTokenTransformer.php index 3010d137..17ec905a 100644 --- a/api/app/Http/Transformers/AuthTokenTransformer.php +++ b/api/app/Http/Transformers/AuthTokenTransformer.php @@ -27,7 +27,7 @@ public function transformItem($token, array $options = []) $result = ['token' => (string) $token]; if (env('APP_DEBUG', false)) { - $result['decodedTokenBody'] = \App::make('auth')->getTokenizer()->decode($token); + $result['decodedTokenBody'] = app('auth')->getTokenizer()->decode($token); } return $result; diff --git a/api/app/Models/PostDiscussion.php b/api/app/Models/PostDiscussion.php index 3ccfb0d0..69b4fa36 100644 --- a/api/app/Models/PostDiscussion.php +++ b/api/app/Models/PostDiscussion.php @@ -340,7 +340,7 @@ public function setPost($post) protected function getClient() { if (! $this->client) { - $this->client = App::make(VanillaClient::class); + $this->client = app(VanillaClient::class); } return $this->client; diff --git a/api/app/Models/UserCredential.php b/api/app/Models/UserCredential.php index 60f3aa1e..000e7b91 100644 --- a/api/app/Models/UserCredential.php +++ b/api/app/Models/UserCredential.php @@ -10,6 +10,7 @@ namespace App\Models; +use Illuminate\Support\Facades\Hash; use Spira\Core\Model\Model\BaseModel; class UserCredential extends BaseModel @@ -59,6 +60,6 @@ class UserCredential extends BaseModel */ public function setPasswordAttribute($value) { - $this->attributes['password'] = \Hash::make($value); + $this->attributes['password'] = Hash::make($value); } } diff --git a/api/app/Services/SingleSignOn/VanillaSingleSignOn.php b/api/app/Services/SingleSignOn/VanillaSingleSignOn.php index 0a7fda6d..b43f3727 100644 --- a/api/app/Services/SingleSignOn/VanillaSingleSignOn.php +++ b/api/app/Services/SingleSignOn/VanillaSingleSignOn.php @@ -183,7 +183,7 @@ protected function getMappedRoles() */ protected function getGate() { - return \App::make(GateContract::class); + return app(GateContract::class); } /** diff --git a/api/bootstrap/app.php b/api/bootstrap/app.php index c0c326db..bed41d48 100644 --- a/api/bootstrap/app.php +++ b/api/bootstrap/app.php @@ -92,13 +92,14 @@ */ $app->register(App\Providers\ApplicationProvider::class); -$app->register(App\Providers\ElasticServiceProvider::class); $app->register(App\Providers\AuthServiceProvider::class); -$app->register(App\Providers\AuthDriverServiceProvider::class); +$app->register(App\Providers\ElasticServiceProvider::class); $app->register(App\Providers\AccessServiceProvider::class); -$app->register(Bosnadev\Database\DatabaseServiceProvider::class); +$app->register(App\Providers\AuthDriverServiceProvider::class); + $app->register(App\Extensions\Socialite\SocialiteServiceProvider::class); -$app->register(Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); + +$app->register(Bosnadev\Database\DatabaseServiceProvider::class); $app->register(Barryvdh\Cors\LumenServiceProvider::class); /* diff --git a/api/composer.json b/api/composer.json index 80c635a2..71277dcb 100644 --- a/api/composer.json +++ b/api/composer.json @@ -20,26 +20,28 @@ { "type": "vcs", "url": "https://github.com/spira/revisionable" + }, + { + "type": "vcs", + "url": "http://github.com/spira/database" } ], "require": { "jeremeamia/superclosure": "^2.1", "pda/pheanstalk": "^3.0", "predis/predis": "^1.0", - "illuminate/redis": "5.1.*", - "guzzlehttp/guzzle": "5.3.*", + "illuminate/redis": "5.2.*", "league/flysystem": "^1.0", "laravel/socialite": "^2.0", "cloudinary/cloudinary_php": "^1.1", "venturecraft/revisionable": "^2.0", - "spira/core": "1.5.*", + "spira/core": "dev-feature/lumen-5.2-upgrade", "namshi/jose": "^6.0" }, "require-dev": { "phpunit/phpunit": "~5.1", "mockery/mockery": "^0.9.4", - "fzaninotto/faker": "^1.4", - "barryvdh/laravel-ide-helper": "dev-master" + "fzaninotto/faker": "^1.4" }, "autoload": { "psr-4": { @@ -63,9 +65,6 @@ "post-install-cmd": [ "npm install", "php artisan auth:generate-keys" - ], - "post-update-cmd": [ - "php artisan ide-helper:generate" ] } } diff --git a/api/composer.lock b/api/composer.lock index 1d8c66c5..ea141a83 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "3f4d8859d437615db37305b7a65fca8f", - "content-hash": "c6ac066d6f8810aa988feed1e7e343e9", + "hash": "0c03fe504886c09265c8aeadc155d385", + "content-hash": "ba911de2833893232583c43365cdf1f9", "packages": [ { "name": "asm89/stack-cors", @@ -101,16 +101,16 @@ }, { "name": "bosnadev/database", - "version": "0.11", + "version": "0.13", "source": { "type": "git", - "url": "https://github.com/Bosnadev/Database.git", - "reference": "a578c837146cae5e329e14712778d8e1fdc40b6a" + "url": "https://github.com/spira/Database.git", + "reference": "7e4a46df9c907da01b0ae959852de9e74a3611dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Bosnadev/Database/zipball/a578c837146cae5e329e14712778d8e1fdc40b6a", - "reference": "a578c837146cae5e329e14712778d8e1fdc40b6a", + "url": "https://api.github.com/repos/spira/Database/zipball/7e4a46df9c907da01b0ae959852de9e74a3611dd", + "reference": "7e4a46df9c907da01b0ae959852de9e74a3611dd", "shasum": "" }, "require": { @@ -128,12 +128,16 @@ "autoload": { "psr-4": { "Bosnadev\\Database\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Bosnadev\\Tests\\Database\\": "tests/" }, "classmap": [ "tests/BaseTestCase.php" ] }, - "notification-url": "https://packagist.org/downloads/", "authors": [ { "name": "Mirza Pasic", @@ -146,13 +150,17 @@ ], "description": "Eloquent Extended, added some PostgreSql features", "keywords": [ + "database", "database", "eloquent", "laravel", "mysql", "postgresql" ], - "time": "2015-05-05 14:43:15" + "support": { + "source": "https://github.com/spira/Database/tree/0.13" + }, + "time": "2016-01-11 03:33:37" }, { "name": "cloudinary/cloudinary_php", @@ -206,62 +214,6 @@ ], "time": "2015-11-01 13:43:31" }, - { - "name": "danielstjules/stringy", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/danielstjules/Stringy.git", - "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/4749c205db47ee5b32e8d1adf6d9aff8db6caf3b", - "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Stringy\\": "src/" - }, - "files": [ - "src/Create.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel St. Jules", - "email": "danielst.jules@gmail.com", - "homepage": "http://www.danielstjules.com" - } - ], - "description": "A string manipulation library with multibyte support", - "homepage": "https://github.com/danielstjules/Stringy", - "keywords": [ - "UTF", - "helpers", - "manipulation", - "methods", - "multibyte", - "string", - "utf-8", - "utility", - "utils" - ], - "time": "2015-07-23 00:54:12" - }, { "name": "doctrine/inflector", "version": "v1.1.0", @@ -443,22 +395,22 @@ }, { "name": "guzzle/guzzle", - "version": "v3.9.3", + "version": "v3.8.1", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", "shasum": "" }, "require": { "ext-curl": "*", "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" + "symfony/event-dispatcher": ">=2.1" }, "replace": { "guzzle/batch": "self.version", @@ -485,21 +437,18 @@ "guzzle/stream": "self.version" }, "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", + "doctrine/cache": "*", + "monolog/monolog": "1.*", "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." + "psr/log": "1.0.*", + "symfony/class-loader": "*", + "zendframework/zend-cache": "<2.3", + "zendframework/zend-log": "<2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.9-dev" + "dev-master": "3.8-dev" } }, "autoload": { @@ -523,7 +472,7 @@ "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -534,38 +483,42 @@ "rest", "web service" ], - "time": "2015-03-18 18:23:50" + "time": "2014-01-28 22:29:15" }, { "name": "guzzlehttp/guzzle", - "version": "5.3.0", + "version": "6.1.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "f3c8c22471cb55475105c14769644a49c3262b93" + "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f3c8c22471cb55475105c14769644a49c3262b93", - "reference": "f3c8c22471cb55475105c14769644a49c3262b93", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", + "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", "shasum": "" }, "require": { - "guzzlehttp/ringphp": "^1.1", - "php": ">=5.4.0" + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.5.0" }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "6.1-dev" } }, "autoload": { + "files": [ + "src/functions_include.php" + ], "psr-4": { "GuzzleHttp\\": "src/" } @@ -581,7 +534,7 @@ "homepage": "https://github.com/mtdowling" } ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "description": "Guzzle is a PHP HTTP client library", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -592,44 +545,41 @@ "rest", "web service" ], - "time": "2015-05-20 03:47:55" + "time": "2015-11-23 00:47:50" }, { - "name": "guzzlehttp/ringphp", - "version": "1.1.0", + "name": "guzzlehttp/promises", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/guzzle/RingPHP.git", - "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b" + "url": "https://github.com/guzzle/promises.git", + "reference": "b1e1c0d55f8083c71eda2c28c12a228d708294ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", - "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b1e1c0d55f8083c71eda2c28c12a228d708294ea", + "reference": "b1e1c0d55f8083c71eda2c28c12a228d708294ea", "shasum": "" }, "require": { - "guzzlehttp/streams": "~3.0", - "php": ">=5.4.0", - "react/promise": "~2.0" + "php": ">=5.5.0" }, "require-dev": { - "ext-curl": "*", "phpunit/phpunit": "~4.0" }, - "suggest": { - "ext-curl": "Guzzle will use specific adapters if cURL is present" - }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "GuzzleHttp\\Ring\\": "src/" - } + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -642,25 +592,32 @@ "homepage": "https://github.com/mtdowling" } ], - "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", - "time": "2015-05-20 03:37:09" + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2015-10-15 22:28:00" }, { - "name": "guzzlehttp/streams", - "version": "3.0.0", + "name": "guzzlehttp/psr7", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + "url": "https://github.com/guzzle/psr7.git", + "reference": "4d0bdbe1206df7440219ce14c972aa57cc5e4982" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/4d0bdbe1206df7440219ce14c972aa57cc5e4982", + "reference": "4d0bdbe1206df7440219ce14c972aa57cc5e4982", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -668,13 +625,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "GuzzleHttp\\Stream\\": "src/" - } + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -687,43 +647,44 @@ "homepage": "https://github.com/mtdowling" } ], - "description": "Provides a simple abstraction over streams of data", - "homepage": "http://guzzlephp.org/", + "description": "PSR-7 message implementation", "keywords": [ - "Guzzle", - "stream" + "http", + "message", + "stream", + "uri" ], - "time": "2014-10-12 19:18:40" + "time": "2015-11-03 01:34:55" }, { "name": "illuminate/auth", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/auth.git", - "reference": "d859c1dc831f136b3b8fc3aa20e0cc9d0be7f972" + "reference": "7ddd71973eaa1e5c0fdcee40db051eef4a05bd4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/auth/zipball/d859c1dc831f136b3b8fc3aa20e0cc9d0be7f972", - "reference": "d859c1dc831f136b3b8fc3aa20e0cc9d0be7f972", + "url": "https://api.github.com/repos/illuminate/auth/zipball/7ddd71973eaa1e5c0fdcee40db051eef4a05bd4a", + "reference": "7ddd71973eaa1e5c0fdcee40db051eef4a05bd4a", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/http": "5.1.*", - "illuminate/session": "5.1.*", - "illuminate/support": "5.1.*", - "nesbot/carbon": "~1.19", + "illuminate/contracts": "5.2.*", + "illuminate/http": "5.2.*", + "illuminate/support": "5.2.*", + "nesbot/carbon": "~1.20", "php": ">=5.5.9" }, "suggest": { - "illuminate/console": "Required to use the auth:clear-resets command (5.1.*)." + "illuminate/console": "Required to use the auth:clear-resets command (5.2.*).", + "illuminate/session": "Required to use the session based guard (5.2.*)" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -743,25 +704,25 @@ ], "description": "The Illuminate Auth package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-03 17:22:49" }, { "name": "illuminate/broadcasting", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/broadcasting.git", - "reference": "c544e286e29d20af10d05d5374c47e24d5b83cfe" + "reference": "9247b5ec092472d5e49d7d550b7683bbd6d9587e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/broadcasting/zipball/c544e286e29d20af10d05d5374c47e24d5b83cfe", - "reference": "c544e286e29d20af10d05d5374c47e24d5b83cfe", + "url": "https://api.github.com/repos/illuminate/broadcasting/zipball/9247b5ec092472d5e49d7d550b7683bbd6d9587e", + "reference": "9247b5ec092472d5e49d7d550b7683bbd6d9587e", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "suggest": { @@ -770,7 +731,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -790,32 +751,32 @@ ], "description": "The Illuminate Broadcasting package.", "homepage": "http://laravel.com", - "time": "2015-11-06 03:55:17" + "time": "2015-12-24 14:23:14" }, { "name": "illuminate/bus", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/bus.git", - "reference": "83fecbefb010c30e1cd2fef1290316000cdc742d" + "reference": "93e30593dafe249f83f08effc5340aace8551f98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/bus/zipball/83fecbefb010c30e1cd2fef1290316000cdc742d", - "reference": "83fecbefb010c30e1cd2fef1290316000cdc742d", + "url": "https://api.github.com/repos/illuminate/bus/zipball/93e30593dafe249f83f08effc5340aace8551f98", + "reference": "93e30593dafe249f83f08effc5340aace8551f98", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/pipeline": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/pipeline": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -835,37 +796,37 @@ ], "description": "The Illuminate Bus package.", "homepage": "http://laravel.com", - "time": "2015-10-19 06:01:02" + "time": "2015-12-05 22:11:33" }, { "name": "illuminate/cache", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/cache.git", - "reference": "3533bed54564eff25845623772fda585a18bb139" + "reference": "dfce4ee1c5f2985f8f3939a95ae37ee54a1fef9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/cache/zipball/3533bed54564eff25845623772fda585a18bb139", - "reference": "3533bed54564eff25845623772fda585a18bb139", + "url": "https://api.github.com/repos/illuminate/cache/zipball/dfce4ee1c5f2985f8f3939a95ae37ee54a1fef9d", + "reference": "dfce4ee1c5f2985f8f3939a95ae37ee54a1fef9d", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", - "nesbot/carbon": "~1.19", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", + "nesbot/carbon": "~1.20", "php": ">=5.5.9" }, "suggest": { - "illuminate/database": "Required to use the database cache driver (5.1.*).", - "illuminate/filesystem": "Required to use the file cache driver (5.1.*).", - "illuminate/redis": "Required to use the redis cache driver (5.1.*)." + "illuminate/database": "Required to use the database cache driver (5.2.*).", + "illuminate/filesystem": "Required to use the file cache driver (5.2.*).", + "illuminate/redis": "Required to use the redis cache driver (5.2.*)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -885,32 +846,32 @@ ], "description": "The Illuminate Cache package.", "homepage": "http://laravel.com", - "time": "2015-11-14 18:11:44" + "time": "2015-12-30 13:36:12" }, { "name": "illuminate/config", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/config.git", - "reference": "de6c1cc0f2745645dec3f8bab0e43a3aa141d12d" + "reference": "c7a54f3d4cc28b24799433b8f8656ccca42ff3f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/config/zipball/de6c1cc0f2745645dec3f8bab0e43a3aa141d12d", - "reference": "de6c1cc0f2745645dec3f8bab0e43a3aa141d12d", + "url": "https://api.github.com/repos/illuminate/config/zipball/c7a54f3d4cc28b24799433b8f8656ccca42ff3f1", + "reference": "c7a54f3d4cc28b24799433b8f8656ccca42ff3f1", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/filesystem": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/filesystem": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -930,38 +891,38 @@ ], "description": "The Illuminate Config package.", "homepage": "http://laravel.com", - "time": "2015-06-18 02:16:31" + "time": "2015-06-22 20:36:58" }, { "name": "illuminate/console", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/console.git", - "reference": "3349b04df3b5d72b02915b58375af142f5addfda" + "reference": "19b8b641fd7471b50b116d4b8b1332ed756bc4f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/console/zipball/3349b04df3b5d72b02915b58375af142f5addfda", - "reference": "3349b04df3b5d72b02915b58375af142f5addfda", + "url": "https://api.github.com/repos/illuminate/console/zipball/19b8b641fd7471b50b116d4b8b1332ed756bc4f9", + "reference": "19b8b641fd7471b50b116d4b8b1332ed756bc4f9", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", - "nesbot/carbon": "~1.19", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", + "nesbot/carbon": "~1.20", "php": ">=5.5.9", - "symfony/console": "2.7.*" + "symfony/console": "2.8.*|3.0.*" }, "suggest": { - "guzzlehttp/guzzle": "Required to use the thenPing method on schedules (~5.3|~6.0).", + "guzzlehttp/guzzle": "Required to use the ping methods on schedules (~5.3|~6.0).", "mtdowling/cron-expression": "Required to use scheduling component (~1.0).", - "symfony/process": "Required to use scheduling component (2.7.*)." + "symfony/process": "Required to use scheduling component (2.8.*|3.0.*)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -981,30 +942,30 @@ ], "description": "The Illuminate Console package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-05 16:02:40" }, { "name": "illuminate/container", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "bb2cd1d9c6cb7c4ce80b8d89f899e086f5a4f65b" + "reference": "afd2e874e034707c6bb9436f5a897ce29dce501a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/bb2cd1d9c6cb7c4ce80b8d89f899e086f5a4f65b", - "reference": "bb2cd1d9c6cb7c4ce80b8d89f899e086f5a4f65b", + "url": "https://api.github.com/repos/illuminate/container/zipball/afd2e874e034707c6bb9436f5a897ce29dce501a", + "reference": "afd2e874e034707c6bb9436f5a897ce29dce501a", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", + "illuminate/contracts": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1024,20 +985,20 @@ ], "description": "The Illuminate Container package.", "homepage": "http://laravel.com", - "time": "2015-10-19 06:01:02" + "time": "2016-01-06 14:42:17" }, { "name": "illuminate/contracts", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "e2b71fdbeeb3438748dca5f497e205888788a883" + "reference": "51b3acf96a12f5a10d767d5f2a534fed6f304235" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/e2b71fdbeeb3438748dca5f497e205888788a883", - "reference": "e2b71fdbeeb3438748dca5f497e205888788a883", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/51b3acf96a12f5a10d767d5f2a534fed6f304235", + "reference": "51b3acf96a12f5a10d767d5f2a534fed6f304235", "shasum": "" }, "require": { @@ -1046,7 +1007,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1066,87 +1027,41 @@ ], "description": "The Illuminate Contracts package.", "homepage": "http://laravel.com", - "time": "2015-09-24 11:16:48" - }, - { - "name": "illuminate/cookie", - "version": "v5.1.25", - "source": { - "type": "git", - "url": "https://github.com/illuminate/cookie.git", - "reference": "8ded782fcb8f0affa9fc53bc6646a88b9acb615a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/cookie/zipball/8ded782fcb8f0affa9fc53bc6646a88b9acb615a", - "reference": "8ded782fcb8f0affa9fc53bc6646a88b9acb615a", - "shasum": "" - }, - "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", - "php": ">=5.5.9", - "symfony/http-foundation": "2.7.*", - "symfony/http-kernel": "2.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Cookie\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com" - } - ], - "description": "The Illuminate Cookie package.", - "homepage": "http://laravel.com", - "time": "2015-09-22 11:44:48" + "time": "2015-12-19 14:25:38" }, { "name": "illuminate/database", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "504e6cd9fc76a09646d150accea1f0fef8d608a3" + "reference": "7072548f8a2933230e7f3e7199b78496fda964b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/504e6cd9fc76a09646d150accea1f0fef8d608a3", - "reference": "504e6cd9fc76a09646d150accea1f0fef8d608a3", + "url": "https://api.github.com/repos/illuminate/database/zipball/7072548f8a2933230e7f3e7199b78496fda964b5", + "reference": "7072548f8a2933230e7f3e7199b78496fda964b5", "shasum": "" }, "require": { - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", - "nesbot/carbon": "~1.19", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", + "nesbot/carbon": "~1.20", "php": ">=5.5.9" }, "suggest": { "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", - "illuminate/console": "Required to use the database commands (5.1.*).", - "illuminate/events": "Required to use the observers with Eloquent (5.1.*).", - "illuminate/filesystem": "Required to use the migrations (5.1.*).", - "illuminate/pagination": "Required to paginate the result set (5.1.*)." + "illuminate/console": "Required to use the database commands (5.2.*).", + "illuminate/events": "Required to use the observers with Eloquent (5.2.*).", + "illuminate/filesystem": "Required to use the migrations (5.2.*).", + "illuminate/pagination": "Required to paginate the result set (5.2.*)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1172,27 +1087,27 @@ "orm", "sql" ], - "time": "2015-11-29 16:58:05" + "time": "2016-01-06 16:20:30" }, { "name": "illuminate/encryption", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/encryption.git", - "reference": "07bfccd0165e09569e8539d3dd58b2aa158bda33" + "reference": "7e1a9190b9392c4b04ee98ff838bc8838ff67e5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/encryption/zipball/07bfccd0165e09569e8539d3dd58b2aa158bda33", - "reference": "07bfccd0165e09569e8539d3dd58b2aa158bda33", + "url": "https://api.github.com/repos/illuminate/encryption/zipball/7e1a9190b9392c4b04ee98ff838bc8838ff67e5a", + "reference": "7e1a9190b9392c4b04ee98ff838bc8838ff67e5a", "shasum": "" }, "require": { "ext-mbstring": "*", "ext-openssl": "*", - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "suggest": { @@ -1201,7 +1116,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1221,32 +1136,32 @@ ], "description": "The Illuminate Encryption package.", "homepage": "http://laravel.com", - "time": "2015-11-10 10:13:36" + "time": "2015-12-02 22:01:41" }, { "name": "illuminate/events", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", - "reference": "a199e83e8a0f172ca3f0d3d685780c55a96104ab" + "reference": "aeebcd54a61ce3bddddcb0273b532256201cd9d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/a199e83e8a0f172ca3f0d3d685780c55a96104ab", - "reference": "a199e83e8a0f172ca3f0d3d685780c55a96104ab", + "url": "https://api.github.com/repos/illuminate/events/zipball/aeebcd54a61ce3bddddcb0273b532256201cd9d1", + "reference": "aeebcd54a61ce3bddddcb0273b532256201cd9d1", "shasum": "" }, "require": { - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1266,27 +1181,27 @@ ], "description": "The Illuminate Events package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-01 01:00:19" }, { "name": "illuminate/filesystem", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "c5c9bb3cd12f67b8dfd843e6b82512801f9c7c0e" + "reference": "b32bdddac9a90e5b36de049f4c3bf75c690df9ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/c5c9bb3cd12f67b8dfd843e6b82512801f9c7c0e", - "reference": "c5c9bb3cd12f67b8dfd843e6b82512801f9c7c0e", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/b32bdddac9a90e5b36de049f4c3bf75c690df9ad", + "reference": "b32bdddac9a90e5b36de049f4c3bf75c690df9ad", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9", - "symfony/finder": "2.7.*" + "symfony/finder": "2.8.*|3.0.*" }, "suggest": { "league/flysystem": "Required to use the Flysystem local and FTP drivers (~1.0).", @@ -1296,7 +1211,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1316,31 +1231,31 @@ ], "description": "The Illuminate Filesystem package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-02 15:21:57" }, { "name": "illuminate/hashing", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/hashing.git", - "reference": "6c2e1658d57b1d5cc60a397d3cd0d64c61c2062f" + "reference": "cc65dab4006faafe9e795aa457224a6741bd43b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/hashing/zipball/6c2e1658d57b1d5cc60a397d3cd0d64c61c2062f", - "reference": "6c2e1658d57b1d5cc60a397d3cd0d64c61c2062f", + "url": "https://api.github.com/repos/illuminate/hashing/zipball/cc65dab4006faafe9e795aa457224a6741bd43b4", + "reference": "cc65dab4006faafe9e795aa457224a6741bd43b4", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1360,33 +1275,33 @@ ], "description": "The Illuminate Hashing package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2015-11-30 19:26:21" }, { "name": "illuminate/http", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/http.git", - "reference": "a54f59d2c54aa3f0e17e1a69c4f80f0a0f7bcb36" + "reference": "ea5fccc01a1e1875df39e154e3180342338c2b91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/http/zipball/a54f59d2c54aa3f0e17e1a69c4f80f0a0f7bcb36", - "reference": "a54f59d2c54aa3f0e17e1a69c4f80f0a0f7bcb36", + "url": "https://api.github.com/repos/illuminate/http/zipball/ea5fccc01a1e1875df39e154e3180342338c2b91", + "reference": "ea5fccc01a1e1875df39e154e3180342338c2b91", "shasum": "" }, "require": { - "illuminate/session": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/session": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9", - "symfony/http-foundation": "2.7.*", - "symfony/http-kernel": "2.7.*" + "symfony/http-foundation": "2.8.*|3.0.*", + "symfony/http-kernel": "2.8.*|3.0.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1406,26 +1321,26 @@ ], "description": "The Illuminate Http package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-04 16:32:54" }, { "name": "illuminate/mail", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/mail.git", - "reference": "68cb5e8a24411aa6ae01ff1c42a3103f96cd7b20" + "reference": "6665650721dd1dff6d5d2c7e370fbc782c4e615c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/mail/zipball/68cb5e8a24411aa6ae01ff1c42a3103f96cd7b20", - "reference": "68cb5e8a24411aa6ae01ff1c42a3103f96cd7b20", + "url": "https://api.github.com/repos/illuminate/mail/zipball/6665650721dd1dff6d5d2c7e370fbc782c4e615c", + "reference": "6665650721dd1dff6d5d2c7e370fbc782c4e615c", "shasum": "" }, "require": { - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9", "psr/log": "~1.0", "swiftmailer/swiftmailer": "~5.1" @@ -1437,7 +1352,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1457,31 +1372,31 @@ ], "description": "The Illuminate Mail package.", "homepage": "http://laravel.com", - "time": "2015-11-20 15:36:51" + "time": "2015-12-05 16:22:20" }, { "name": "illuminate/pagination", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/pagination.git", - "reference": "e1315cc3a304e320c0a0b0228045aaf72ab67108" + "reference": "48c134ac90d1a4b7e52f747fba0dd2a6a844ab43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pagination/zipball/e1315cc3a304e320c0a0b0228045aaf72ab67108", - "reference": "e1315cc3a304e320c0a0b0228045aaf72ab67108", + "url": "https://api.github.com/repos/illuminate/pagination/zipball/48c134ac90d1a4b7e52f747fba0dd2a6a844ab43", + "reference": "48c134ac90d1a4b7e52f747fba0dd2a6a844ab43", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1501,31 +1416,31 @@ ], "description": "The Illuminate Pagination package.", "homepage": "http://laravel.com", - "time": "2015-11-14 18:53:26" + "time": "2016-01-04 22:33:02" }, { "name": "illuminate/pipeline", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/pipeline.git", - "reference": "2725b0523b50415e1d20aea7297d205f65b53e27" + "reference": "f0a17a378db86dba4bfab561a1826c633c3bece8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pipeline/zipball/2725b0523b50415e1d20aea7297d205f65b53e27", - "reference": "2725b0523b50415e1d20aea7297d205f65b53e27", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f0a17a378db86dba4bfab561a1826c633c3bece8", + "reference": "f0a17a378db86dba4bfab561a1826c633c3bece8", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1545,42 +1460,40 @@ ], "description": "The Illuminate Pipeline package.", "homepage": "http://laravel.com", - "time": "2015-10-05 21:58:27" + "time": "2015-12-10 18:01:38" }, { "name": "illuminate/queue", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/queue.git", - "reference": "e6e3f9f1d660481c213aa2c22261f4a407017b83" + "reference": "b683f870b4e68875c55cd2cbb394840add23e3ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/queue/zipball/e6e3f9f1d660481c213aa2c22261f4a407017b83", - "reference": "e6e3f9f1d660481c213aa2c22261f4a407017b83", + "url": "https://api.github.com/repos/illuminate/queue/zipball/b683f870b4e68875c55cd2cbb394840add23e3ad", + "reference": "b683f870b4e68875c55cd2cbb394840add23e3ad", "shasum": "" }, "require": { - "illuminate/console": "5.1.*", - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/http": "5.1.*", - "illuminate/support": "5.1.*", - "nesbot/carbon": "~1.19", + "illuminate/console": "5.2.*", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", + "nesbot/carbon": "~1.20", "php": ">=5.5.9", - "symfony/process": "2.7.*" + "symfony/process": "2.8.*|3.0.*" }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver (~3.0).", - "illuminate/redis": "Required to use the redis queue driver (5.1.*).", - "iron-io/iron_mq": "Required to use the iron queue driver (~2.0).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0)." + "illuminate/redis": "Required to use the Redis queue driver (5.2.*).", + "pda/pheanstalk": "Required to use the Beanstalk queue driver (~3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1603,32 +1516,32 @@ ], "description": "The Illuminate Queue package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-04 02:04:12" }, { "name": "illuminate/redis", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/redis.git", - "reference": "f959758fc593f232307e5133b9202f92f937a185" + "reference": "d0762e064fa46cf8620168dabcdc35d4dbf84c84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/redis/zipball/f959758fc593f232307e5133b9202f92f937a185", - "reference": "f959758fc593f232307e5133b9202f92f937a185", + "url": "https://api.github.com/repos/illuminate/redis/zipball/d0762e064fa46cf8620168dabcdc35d4dbf84c84", + "reference": "d0762e064fa46cf8620168dabcdc35d4dbf84c84", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9", "predis/predis": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1648,37 +1561,37 @@ ], "description": "The Illuminate Redis package.", "homepage": "http://laravel.com", - "time": "2015-06-18 02:16:31" + "time": "2015-06-22 20:36:58" }, { "name": "illuminate/session", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/session.git", - "reference": "a719532f1ba75c352e1254743f4a9ed9a2b8412c" + "reference": "19b4ad6187e30bacbe1a904eec2e4c2e71234f30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/session/zipball/a719532f1ba75c352e1254743f4a9ed9a2b8412c", - "reference": "a719532f1ba75c352e1254743f4a9ed9a2b8412c", + "url": "https://api.github.com/repos/illuminate/session/zipball/19b4ad6187e30bacbe1a904eec2e4c2e71234f30", + "reference": "19b4ad6187e30bacbe1a904eec2e4c2e71234f30", "shasum": "" }, "require": { - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", - "nesbot/carbon": "~1.19", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", + "nesbot/carbon": "~1.20", "php": ">=5.5.9", - "symfony/finder": "2.7.*", - "symfony/http-foundation": "2.7.*" + "symfony/finder": "2.8.*|3.0.*", + "symfony/http-foundation": "2.8.*|3.0.*" }, "suggest": { - "illuminate/console": "Required to use the session:table command (5.1.*)." + "illuminate/console": "Required to use the session:table command (5.2.*)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1698,38 +1611,40 @@ ], "description": "The Illuminate Session package.", "homepage": "http://laravel.com", - "time": "2015-10-19 06:01:02" + "time": "2015-12-26 15:22:31" }, { "name": "illuminate/support", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "2c5ec47f0c7befaa394072184c14dc626665b6ac" + "reference": "6d8dec02825299b0ad47712564e9d33104e148c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/2c5ec47f0c7befaa394072184c14dc626665b6ac", - "reference": "2c5ec47f0c7befaa394072184c14dc626665b6ac", + "url": "https://api.github.com/repos/illuminate/support/zipball/6d8dec02825299b0ad47712564e9d33104e148c4", + "reference": "6d8dec02825299b0ad47712564e9d33104e148c4", "shasum": "" }, "require": { - "danielstjules/stringy": "~1.8", "doctrine/inflector": "~1.0", "ext-mbstring": "*", - "illuminate/contracts": "5.1.*", + "illuminate/contracts": "5.2.*", "php": ">=5.5.9" }, "suggest": { - "jeremeamia/superclosure": "Required to be able to serialize closures (~2.0).", + "illuminate/filesystem": "Required to use the composer class (5.2.*).", + "jeremeamia/superclosure": "Required to be able to serialize closures (~2.2).", "paragonie/random_compat": "Provides a compatible interface like PHP7's random_bytes() in PHP 5 projects (~1.1).", - "symfony/var-dumper": "Improves the dd function (2.7.*)." + "symfony/polyfill-php56": "Required to use the hash_equals function on PHP 5.5 (~1.0).", + "symfony/process": "Required to use the composer class (2.8.*|3.0.*).", + "symfony/var-dumper": "Improves the dd function (2.8.*|3.0.*)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1752,32 +1667,32 @@ ], "description": "The Illuminate Support package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-07 11:02:28" }, { "name": "illuminate/translation", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/translation.git", - "reference": "a9f73e7bd5ad6231e477c1149cf7802f53bc86bd" + "reference": "3246ed6b70e3c278c36c7064eb2cb52bac3ea4cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/translation/zipball/a9f73e7bd5ad6231e477c1149cf7802f53bc86bd", - "reference": "a9f73e7bd5ad6231e477c1149cf7802f53bc86bd", + "url": "https://api.github.com/repos/illuminate/translation/zipball/3246ed6b70e3c278c36c7064eb2cb52bac3ea4cb", + "reference": "3246ed6b70e3c278c36c7064eb2cb52bac3ea4cb", "shasum": "" }, "require": { - "illuminate/filesystem": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/filesystem": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9", - "symfony/translation": "2.7.*" + "symfony/translation": "2.8.*|3.0.*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1797,37 +1712,37 @@ ], "description": "The Illuminate Translation package.", "homepage": "http://laravel.com", - "time": "2015-11-28 13:59:02" + "time": "2016-01-07 11:06:05" }, { "name": "illuminate/validation", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/validation.git", - "reference": "8879ac8ad53014e4c5776d26194e6ff883768480" + "reference": "99c9458dc31539d88ca68ef88bbeab1ba1f4131f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/validation/zipball/8879ac8ad53014e4c5776d26194e6ff883768480", - "reference": "8879ac8ad53014e4c5776d26194e6ff883768480", + "url": "https://api.github.com/repos/illuminate/validation/zipball/99c9458dc31539d88ca68ef88bbeab1ba1f4131f", + "reference": "99c9458dc31539d88ca68ef88bbeab1ba1f4131f", "shasum": "" }, "require": { - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9", - "symfony/http-foundation": "2.7.*", - "symfony/translation": "2.7.*" + "symfony/http-foundation": "2.8.*|3.0.*", + "symfony/translation": "2.8.*|3.0.*" }, "suggest": { - "illuminate/database": "Required to use the database presence verifier (5.1.*)." + "illuminate/database": "Required to use the database presence verifier (5.2.*)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1847,34 +1762,34 @@ ], "description": "The Illuminate Validation package.", "homepage": "http://laravel.com", - "time": "2015-11-06 14:46:16" + "time": "2016-01-07 13:50:56" }, { "name": "illuminate/view", - "version": "v5.1.25", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/illuminate/view.git", - "reference": "f43a4600a2acfaf4d8734ebc1fa869ede1990b25" + "reference": "5c7c73022afc942c0f012cc3a8868619c47c94e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/f43a4600a2acfaf4d8734ebc1fa869ede1990b25", - "reference": "f43a4600a2acfaf4d8734ebc1fa869ede1990b25", + "url": "https://api.github.com/repos/illuminate/view/zipball/5c7c73022afc942c0f012cc3a8868619c47c94e1", + "reference": "5c7c73022afc942c0f012cc3a8868619c47c94e1", "shasum": "" }, "require": { - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/events": "5.1.*", - "illuminate/filesystem": "5.1.*", - "illuminate/support": "5.1.*", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/events": "5.2.*", + "illuminate/filesystem": "5.2.*", + "illuminate/support": "5.2.*", "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -1894,7 +1809,7 @@ ], "description": "The Illuminate View package.", "homepage": "http://laravel.com", - "time": "2015-11-29 16:58:05" + "time": "2016-01-07 13:30:59" }, { "name": "jeremeamia/SuperClosure", @@ -1956,67 +1871,64 @@ }, { "name": "laravel/lumen-framework", - "version": "v5.1.6", + "version": "v5.2.2", "source": { "type": "git", "url": "https://github.com/laravel/lumen-framework.git", - "reference": "caf37c0b556f3bb52dad3ef0efff7b297c9ad6cd" + "reference": "91e07dd69930ed45515d2776a18e05f911b986f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/caf37c0b556f3bb52dad3ef0efff7b297c9ad6cd", - "reference": "caf37c0b556f3bb52dad3ef0efff7b297c9ad6cd", + "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/91e07dd69930ed45515d2776a18e05f911b986f3", + "reference": "91e07dd69930ed45515d2776a18e05f911b986f3", "shasum": "" }, "require": { - "illuminate/auth": "5.1.*", - "illuminate/broadcasting": "5.1.*", - "illuminate/bus": "5.1.*", - "illuminate/cache": "5.1.*", - "illuminate/config": "5.1.*", - "illuminate/console": "5.1.*", - "illuminate/container": "5.1.*", - "illuminate/contracts": "5.1.*", - "illuminate/cookie": "5.1.*", - "illuminate/database": "5.1.*", - "illuminate/encryption": "5.1.*", - "illuminate/events": "5.1.*", - "illuminate/filesystem": "5.1.*", - "illuminate/hashing": "5.1.*", - "illuminate/http": "5.1.*", - "illuminate/pagination": "5.1.*", - "illuminate/queue": "5.1.*", - "illuminate/session": "5.1.*", - "illuminate/support": "5.1.*", - "illuminate/translation": "5.1.*", - "illuminate/validation": "5.1.*", - "illuminate/view": "5.1.*", - "monolog/monolog": "~1.0", + "illuminate/auth": "5.2.*", + "illuminate/broadcasting": "5.2.*", + "illuminate/bus": "5.2.*", + "illuminate/cache": "5.2.*", + "illuminate/config": "5.2.*", + "illuminate/container": "5.2.*", + "illuminate/contracts": "5.2.*", + "illuminate/database": "5.2.*", + "illuminate/encryption": "5.2.*", + "illuminate/events": "5.2.*", + "illuminate/filesystem": "5.2.*", + "illuminate/hashing": "5.2.*", + "illuminate/http": "5.2.*", + "illuminate/pagination": "5.2.*", + "illuminate/pipeline": "5.2.*", + "illuminate/queue": "5.2.*", + "illuminate/support": "5.2.*", + "illuminate/translation": "5.2.*", + "illuminate/validation": "~5.2.7", + "illuminate/view": "5.2.*", + "monolog/monolog": "~1.11", "mtdowling/cron-expression": "~1.0", - "nikic/fast-route": "0.4.*", - "paragonie/random_compat": "^1.0.6", + "nikic/fast-route": "0.7.*", + "paragonie/random_compat": "~1.1", "php": ">=5.5.9", - "symfony/dom-crawler": "2.7.*", - "symfony/http-foundation": "2.7.*", - "symfony/http-kernel": "2.7.*", - "symfony/security-core": "2.7.*", - "symfony/var-dumper": "2.7.*" + "symfony/http-foundation": "2.8.*|3.0.*", + "symfony/http-kernel": "2.8.*|3.0.*" }, "require-dev": { "mockery/mockery": "~0.9", "phpunit/phpunit": "~4.0" }, "suggest": { - "vlucas/phpdotenv": "Required to use .env files (~1.0)." + "vlucas/phpdotenv": "Required to use .env files (~2.2)." }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.2-dev" + } + }, "autoload": { "psr-4": { "Laravel\\Lumen\\": "src/" }, - "classmap": [ - "src/Foundation" - ], "files": [ "src/helpers.php" ] @@ -2038,7 +1950,7 @@ "laravel", "lumen" ], - "time": "2015-10-28 22:19:15" + "time": "2016-01-08 13:32:58" }, { "name": "laravel/socialite", @@ -2531,16 +2443,16 @@ }, { "name": "nikic/fast-route", - "version": "v0.4.0", + "version": "v0.7.0", "source": { "type": "git", "url": "https://github.com/nikic/FastRoute.git", - "reference": "f26a8f7788f25c0e3e9b1579d38d7ccab2755320" + "reference": "8164b4a0d8afde4eae5f1bfc39084972ba23ad36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/FastRoute/zipball/f26a8f7788f25c0e3e9b1579d38d7ccab2755320", - "reference": "f26a8f7788f25c0e3e9b1579d38d7ccab2755320", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/8164b4a0d8afde4eae5f1bfc39084972ba23ad36", + "reference": "8164b4a0d8afde4eae5f1bfc39084972ba23ad36", "shasum": "" }, "require": { @@ -2570,7 +2482,7 @@ "router", "routing" ], - "time": "2015-02-26 15:33:07" + "time": "2015-12-20 19:50:12" }, { "name": "nikic/php-parser", @@ -2625,16 +2537,16 @@ }, { "name": "paragonie/random_compat", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "d762ee5b099a29044603cd4649851e81aa66cb47" + "reference": "dd8998b7c846f6909f4e7a5f67fabebfc412a4f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/d762ee5b099a29044603cd4649851e81aa66cb47", - "reference": "d762ee5b099a29044603cd4649851e81aa66cb47", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/dd8998b7c846f6909f4e7a5f67fabebfc412a4f7", + "reference": "dd8998b7c846f6909f4e7a5f67fabebfc412a4f7", "shasum": "" }, "require": { @@ -2669,7 +2581,7 @@ "pseudorandom", "random" ], - "time": "2015-12-10 14:48:13" + "time": "2016-01-06 13:31:20" }, { "name": "pda/pheanstalk", @@ -2911,6 +2823,55 @@ ], "time": "2015-07-30 18:34:15" }, + { + "name": "psr/http-message", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", + "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2015-05-04 20:22:00" + }, { "name": "psr/log", "version": "1.0.0", @@ -3015,80 +2976,36 @@ ], "time": "2015-12-17 16:54:24" }, - { - "name": "react/promise", - "version": "v2.2.1", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "3b6fca09c7d56321057fa8867c8dbe1abf648627" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/3b6fca09c7d56321057fa8867c8dbe1abf648627", - "reference": "3b6fca09c7d56321057fa8867c8dbe1abf648627", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "time": "2015-07-03 13:48:55" - }, { "name": "spira/core", - "version": "1.5.1", + "version": "dev-feature/lumen-5.2-upgrade", "source": { "type": "git", "url": "https://github.com/spira/api-core.git", - "reference": "dd01e2772ac9125a00d3271e319a0a4ac0122038" + "reference": "47278f157659966a202c60568f93c4c251e6bcd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spira/api-core/zipball/dd01e2772ac9125a00d3271e319a0a4ac0122038", - "reference": "dd01e2772ac9125a00d3271e319a0a4ac0122038", + "url": "https://api.github.com/repos/spira/api-core/zipball/47278f157659966a202c60568f93c4c251e6bcd3", + "reference": "47278f157659966a202c60568f93c4c251e6bcd3", "shasum": "" }, "require": { "barryvdh/laravel-cors": "0.7.x", - "bosnadev/database": "^0.11.0", + "bosnadev/database": "0.13.0", "elasticquent/elasticquent": "1.1.*", + "guzzlehttp/guzzle": "6.1.*", "illuminate/mail": "^5.0", - "laravel/lumen-framework": "5.1.*", + "laravel/lumen-framework": "5.2.*", "league/fractal": "0.12.*", "vlucas/phpdotenv": "~1.0" }, "require-dev": { - "barryvdh/laravel-ide-helper": "dev-master", "fzaninotto/faker": "^1.4", - "guzzlehttp/guzzle": "5.3.*", "mockery/mockery": "^0.9.4", "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "dev-master" + "satooshi/php-coveralls": "dev-master", + "symfony/var-dumper": "^3.0" }, "type": "project", "autoload": { @@ -3100,9 +3017,7 @@ ] }, "scripts": { - "post-update-cmd": [ - "php artisan ide-helper:generate" - ] + "post-update-cmd": [] }, "license": [ "MIT" @@ -3114,10 +3029,10 @@ "lumen" ], "support": { - "source": "https://github.com/spira/api-core/tree/1.5.1", + "source": "https://github.com/spira/api-core/tree/feature/lumen-5.2-upgrade", "issues": "https://github.com/spira/api-core/issues" }, - "time": "2015-12-31 03:35:17" + "time": "2016-01-11 03:46:44" }, { "name": "swiftmailer/swiftmailer", @@ -3174,25 +3089,26 @@ }, { "name": "symfony/console", - "version": "v2.7.8", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "4e35a78f932a4c07bd349efea647ac741c1419b6" + "reference": "ebcdc507829df915f4ca23067bd59ee4ef61f6c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/4e35a78f932a4c07bd349efea647ac741c1419b6", - "reference": "4e35a78f932a4c07bd349efea647ac741c1419b6", + "url": "https://api.github.com/repos/symfony/console/zipball/ebcdc507829df915f4ca23067bd59ee4ef61f6c3", + "reference": "ebcdc507829df915f4ca23067bd59ee4ef61f6c3", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/process": "~2.1" + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" }, "suggest": { "psr/log": "For using the console logger", @@ -3202,7 +3118,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -3229,7 +3145,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2015-12-23 11:17:38" + "time": "2015-12-22 10:39:06" }, { "name": "symfony/debug", @@ -3288,84 +3204,29 @@ "homepage": "https://symfony.com", "time": "2015-12-26 13:37:56" }, - { - "name": "symfony/dom-crawler", - "version": "v2.7.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "b33593cbfe1d81b50d48353f338aca76a08658d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b33593cbfe1d81b50d48353f338aca76a08658d8", - "reference": "b33593cbfe1d81b50d48353f338aca76a08658d8", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/css-selector": "~2.3" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com", - "time": "2015-11-02 20:20:53" - }, { "name": "symfony/event-dispatcher", - "version": "v2.8.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc" + "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a5eb815363c0388e83247e7e9853e5dbc14999cc", - "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d36355e026905fa5229e1ed7b4e9eda2e67adfcf", + "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" + "symfony/config": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0" }, "suggest": { "symfony/dependency-injection": "", @@ -3374,7 +3235,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -3401,29 +3262,29 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2015-10-30 20:15:42" + "time": "2015-10-30 23:35:59" }, { "name": "symfony/finder", - "version": "v2.7.8", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "937edcbac3f2dd3187c56cf90368867d55dee991" + "reference": "8617895eb798b6bdb338321ce19453dc113e5675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/937edcbac3f2dd3187c56cf90368867d55dee991", - "reference": "937edcbac3f2dd3187c56cf90368867d55dee991", + "url": "https://api.github.com/repos/symfony/finder/zipball/8617895eb798b6bdb338321ce19453dc113e5675", + "reference": "8617895eb798b6bdb338321ce19453dc113e5675", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -3450,41 +3311,39 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2015-12-05 11:06:38" + "time": "2015-12-05 11:13:14" }, { "name": "symfony/http-foundation", - "version": "v2.7.8", + "version": "v2.8.1", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "cf11faac7df5384bb14774ad7266add227e10ec1" + "reference": "dc5172ce2d01965f50b6c51bccc5ae243709b3c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf11faac7df5384bb14774ad7266add227e10ec1", - "reference": "cf11faac7df5384bb14774ad7266add227e10ec1", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/dc5172ce2d01965f50b6c51bccc5ae243709b3c2", + "reference": "dc5172ce2d01965f50b6c51bccc5ae243709b3c2", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.9", + "symfony/polyfill-php54": "~1.0" }, "require-dev": { - "symfony/expression-language": "~2.4" + "symfony/expression-language": "~2.4|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, - "classmap": [ - "Resources/stubs" - ], "exclude-from-classmap": [ "/Tests/" ] @@ -3505,48 +3364,48 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2015-12-18 15:35:58" + "time": "2015-12-18 15:38:35" }, { "name": "symfony/http-kernel", - "version": "v2.7.8", + "version": "v2.8.1", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "2dea13800e1a48710cf23a2c60c804c88e72ed57" + "reference": "f276fb5049b7ec3918f37ead373b4219b5d4ce0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2dea13800e1a48710cf23a2c60c804c88e72ed57", - "reference": "2dea13800e1a48710cf23a2c60c804c88e72ed57", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f276fb5049b7ec3918f37ead373b4219b5d4ce0e", + "reference": "f276fb5049b7ec3918f37ead373b4219b5d4ce0e", "shasum": "" }, "require": { "php": ">=5.3.9", "psr/log": "~1.0", "symfony/debug": "~2.6,>=2.6.2", - "symfony/event-dispatcher": "~2.6,>=2.6.7", - "symfony/http-foundation": "~2.5,>=2.5.4" + "symfony/event-dispatcher": "~2.6,>=2.6.7|~3.0.0", + "symfony/http-foundation": "~2.5,>=2.5.4|~3.0.0" }, "conflict": { "symfony/config": "<2.7" }, "require-dev": { - "symfony/browser-kit": "~2.3", - "symfony/class-loader": "~2.1", - "symfony/config": "~2.7", - "symfony/console": "~2.3", - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.2", - "symfony/dom-crawler": "~2.0,>=2.0.5", - "symfony/expression-language": "~2.4", - "symfony/finder": "~2.0,>=2.0.5", - "symfony/process": "~2.0,>=2.0.5", - "symfony/routing": "~2.2", - "symfony/stopwatch": "~2.3", - "symfony/templating": "~2.2", - "symfony/translation": "~2.0,>=2.0.5", - "symfony/var-dumper": "~2.6" + "symfony/browser-kit": "~2.3|~3.0.0", + "symfony/class-loader": "~2.1|~3.0.0", + "symfony/config": "~2.8", + "symfony/console": "~2.3|~3.0.0", + "symfony/css-selector": "~2.0,>=2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.8|~3.0.0", + "symfony/dom-crawler": "~2.0,>=2.0.5|~3.0.0", + "symfony/expression-language": "~2.4|~3.0.0", + "symfony/finder": "~2.0,>=2.0.5|~3.0.0", + "symfony/process": "~2.0,>=2.0.5|~3.0.0", + "symfony/routing": "~2.8|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0", + "symfony/templating": "~2.2|~3.0.0", + "symfony/translation": "~2.0,>=2.0.5|~3.0.0", + "symfony/var-dumper": "~2.6|~3.0.0" }, "suggest": { "symfony/browser-kit": "", @@ -3560,7 +3419,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -3587,25 +3446,27 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2015-12-26 15:01:55" + "time": "2015-12-26 15:56:42" }, { - "name": "symfony/polyfill-php56", + "name": "symfony/polyfill-mbstring", "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/e2e77609a9e2328eb370fbb0e0d8b2000ebb488f", - "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/49ff736bd5d41f45240cec77b44967d76e0c3d25", + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-util": "~1.0" + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" }, "type": "library", "extra": { @@ -3615,7 +3476,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php56\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, "files": [ "bootstrap.php" @@ -3635,28 +3496,29 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" ], - "time": "2015-12-18 15:10:25" + "time": "2015-11-20 09:19:13" }, { - "name": "symfony/polyfill-util", + "name": "symfony/polyfill-php54", "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-util.git", - "reference": "4271c55cbc0a77b2641f861b978123e46b3da969" + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4271c55cbc0a77b2641f861b978123e46b3da969", - "reference": "4271c55cbc0a77b2641f861b978123e46b3da969", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc", + "reference": "2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc", "shasum": "" }, "require": { @@ -3670,8 +3532,14 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Util\\": "" - } + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3687,45 +3555,46 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony utilities for portability of PHP codes", + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "compat", "compatibility", "polyfill", + "portable", "shim" ], "time": "2015-11-04 20:28:58" }, { - "name": "symfony/process", - "version": "v2.7.8", + "name": "symfony/polyfill-php56", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "a3fb8f4c4afc4f1b285de5df07e568602934f525" + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a3fb8f4c4afc4f1b285de5df07e568602934f525", - "reference": "a3fb8f4c4afc4f1b285de5df07e568602934f525", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/e2e77609a9e2328eb370fbb0e0d8b2000ebb488f", + "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Polyfill\\Php56\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3734,63 +3603,51 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", "homepage": "https://symfony.com", - "time": "2015-12-23 11:03:39" + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-12-18 15:10:25" }, { - "name": "symfony/security-core", - "version": "v2.7.8", + "name": "symfony/polyfill-util", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/security-core.git", - "reference": "e8521e268aab1a1ae39764353d194da59e818551" + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/e8521e268aab1a1ae39764353d194da59e818551", - "reference": "e8521e268aab1a1ae39764353d194da59e818551", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4271c55cbc0a77b2641f861b978123e46b3da969", + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "ircmaxell/password-compat": "1.0.*", - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/expression-language": "~2.6", - "symfony/http-foundation": "~2.4", - "symfony/validator": "~2.5,>=2.5.9" - }, - "suggest": { - "ircmaxell/password-compat": "For using the BCrypt password encoder in PHP <5.5", - "symfony/event-dispatcher": "", - "symfony/expression-language": "For using the expression voter", - "symfony/http-foundation": "", - "symfony/validator": "For using the user password constraint" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Security\\Core\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Util\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3798,58 +3655,50 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Security Component - Core Library", + "description": "Symfony utilities for portability of PHP codes", "homepage": "https://symfony.com", - "time": "2015-12-23 18:13:52" + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2015-11-04 20:28:58" }, { - "name": "symfony/translation", - "version": "v2.7.8", + "name": "symfony/process", + "version": "v3.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "e7e95debf0465f7886d2994cd808f9382adb423c" + "url": "https://github.com/symfony/process.git", + "reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e7e95debf0465f7886d2994cd808f9382adb423c", - "reference": "e7e95debf0465f7886d2994cd808f9382adb423c", + "url": "https://api.github.com/repos/symfony/process/zipball/f4794f1d00f0746621be3020ffbd8c5e0b217ee3", + "reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "conflict": { - "symfony/config": "<2.7" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.7", - "symfony/intl": "~2.4", - "symfony/yaml": "~2.2" - }, - "suggest": { - "psr/log": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Translation\\": "" + "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -3869,42 +3718,51 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2015-12-05 17:37:09" + "time": "2015-12-23 11:04:02" }, { - "name": "symfony/var-dumper", - "version": "v2.7.8", + "name": "symfony/translation", + "version": "v3.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "ec3233d755578c56612c13d81d4ef141f8f94e9e" + "url": "https://github.com/symfony/translation.git", + "reference": "dff0867826a7068d673801b7522f8e2634016ef9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ec3233d755578c56612c13d81d4ef141f8f94e9e", - "reference": "ec3233d755578c56612c13d81d4ef141f8f94e9e", + "url": "https://api.github.com/repos/symfony/translation/zipball/dff0867826a7068d673801b7522f8e2634016ef9", + "reference": "dff0867826a7068d673801b7522f8e2634016ef9", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" }, "suggest": { - "ext-symfony_debug": "" + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" + "Symfony\\Component\\Translation\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -3916,21 +3774,17 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony mechanism for exploring and dumping PHP variables", + "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "time": "2015-12-05 10:02:55" + "time": "2015-12-05 17:45:07" }, { "name": "venturecraft/revisionable", @@ -4031,69 +3885,6 @@ } ], "packages-dev": [ - { - "name": "barryvdh/laravel-ide-helper", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "d82e8f191fb043a0f8cbf2de64fd3027bfa4f772" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/d82e8f191fb043a0f8cbf2de64fd3027bfa4f772", - "reference": "d82e8f191fb043a0f8cbf2de64fd3027bfa4f772", - "shasum": "" - }, - "require": { - "illuminate/console": "5.0.x|5.1.x|5.2.x", - "illuminate/filesystem": "5.0.x|5.1.x|5.2.x", - "illuminate/support": "5.0.x|5.1.x|5.2.x", - "php": ">=5.4.0", - "phpdocumentor/reflection-docblock": "2.0.4", - "symfony/class-loader": "~2.3" - }, - "require-dev": { - "doctrine/dbal": "~2.3" - }, - "suggest": { - "doctrine/dbal": "Load information from the database about models for phpdocs (~2.3)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-4": { - "Barryvdh\\LaravelIdeHelper\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", - "keywords": [ - "autocomplete", - "codeintel", - "helper", - "ide", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" - ], - "time": "2015-12-21 19:48:06" - }, { "name": "doctrine/instantiator", "version": "1.0.5", @@ -5244,58 +5035,6 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2015-06-21 13:59:46" }, - { - "name": "symfony/class-loader", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/class-loader.git", - "reference": "ec74b0a279cf3a9bd36172b3e3061591d380ce6c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/class-loader/zipball/ec74b0a279cf3a9bd36172b3e3061591d380ce6c", - "reference": "ec74b0a279cf3a9bd36172b3e3061591d380ce6c", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/finder": "~2.0,>=2.0.5|~3.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\ClassLoader\\": "" - }, - "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 ClassLoader Component", - "homepage": "https://symfony.com", - "time": "2015-12-05 17:37:59" - }, { "name": "symfony/yaml", "version": "v3.0.1", @@ -5349,7 +5088,7 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { - "barryvdh/laravel-ide-helper": 20 + "spira/core": 20 }, "prefer-stable": false, "prefer-lowest": false, diff --git a/api/database/migrations/2014_09_24_074349_create_elastic_search_index.php b/api/database/migrations/2014_09_24_074349_create_elastic_search_index.php index 44862fbd..effded6a 100644 --- a/api/database/migrations/2014_09_24_074349_create_elastic_search_index.php +++ b/api/database/migrations/2014_09_24_074349_create_elastic_search_index.php @@ -18,7 +18,7 @@ class CreateElasticSearchIndex extends Migration public function __construct() { - $this->elasticSearch = App::make(ElasticSearch::class); + $this->elasticSearch = app(ElasticSearch::class); } /** diff --git a/api/database/seeds/AbstractPostSeeder.php b/api/database/seeds/AbstractPostSeeder.php index 72e5554b..cdf3adc3 100644 --- a/api/database/seeds/AbstractPostSeeder.php +++ b/api/database/seeds/AbstractPostSeeder.php @@ -57,7 +57,7 @@ public function run() $className = $this->class; /** @var $discussionsApi \App\Services\Api\Vanilla\Api\Discussion */ - $discussionsApi = App::make(VanillaClient::class)->api('discussions'); + $discussionsApi = app(VanillaClient::class)->api('discussions'); factory($className, 50) ->create() diff --git a/api/database/seeds/BaseSeeder.php b/api/database/seeds/BaseSeeder.php index aaf2c1ea..3034f3d8 100644 --- a/api/database/seeds/BaseSeeder.php +++ b/api/database/seeds/BaseSeeder.php @@ -11,7 +11,7 @@ use Illuminate\Database\Seeder; use Illuminate\Support\Collection; -class BaseSeeder extends Seeder +abstract class BaseSeeder extends Seeder { /** * Get random elements from collection, always returning a collection. diff --git a/api/database/seeds/ImageSeeder.php b/api/database/seeds/ImageSeeder.php index 4d869058..1aaf499c 100644 --- a/api/database/seeds/ImageSeeder.php +++ b/api/database/seeds/ImageSeeder.php @@ -51,7 +51,7 @@ public function run() private function seedFromCloudinary() { /** @var Cloudinary $cloudinary */ - $cloudinary = App::make(Cloudinary::class); + $cloudinary = app(Cloudinary::class); $remoteImageResponse = $cloudinary->getRemoteImages(); diff --git a/api/resources/views/documentation/sections/countries.blade.apib b/api/resources/views/documentation/sections/countries.blade.apib index b09b4f3d..8451ce68 100644 --- a/api/resources/views/documentation/sections/countries.blade.apib +++ b/api/resources/views/documentation/sections/countries.blade.apib @@ -13,7 +13,7 @@ Users can set their country in their user profile. {!! $factory->get() - ->setCollection(App::make('Spira\Core\Model\Datasets\Countries')->all()) + ->setCollection(app('Spira\Core\Model\Datasets\Countries')->all()) ->count(5) ->json() !!} diff --git a/api/resources/views/documentation/sections/timezones.blade.apib b/api/resources/views/documentation/sections/timezones.blade.apib index c944a9c9..36122da0 100644 --- a/api/resources/views/documentation/sections/timezones.blade.apib +++ b/api/resources/views/documentation/sections/timezones.blade.apib @@ -15,7 +15,7 @@ have their emails dispatched. {!! $factory->get() - ->setCollection(App::make('Spira\Core\Model\Datasets\Timezones')->all()) + ->setCollection(app('Spira\Core\Model\Datasets\Timezones')->all()) ->count(5) ->json() !!} diff --git a/api/src/Auth/Driver/Guard.php b/api/src/Auth/Driver/Guard.php index d8db7a09..c505b678 100644 --- a/api/src/Auth/Driver/Guard.php +++ b/api/src/Auth/Driver/Guard.php @@ -141,6 +141,22 @@ public function user() return $user; } + /** + * @inheritdoc + */ + public function setUser(Authenticatable $user) + { + $this->user = $user; + } + + /** + * @inheritdoc + */ + public function id() + { + return $this->user->getAuthIdentifier(); + } + /** * Get the token of currently authenticated user. * diff --git a/api/src/Rbac/Access/Gate.php b/api/src/Rbac/Access/Gate.php index 0e6e3658..687570d2 100644 --- a/api/src/Rbac/Access/Gate.php +++ b/api/src/Rbac/Access/Gate.php @@ -51,6 +51,30 @@ public function __construct(StorageInterface $storage, callable $userResolver, a $this->defaultRoles = $defaultRoles; } + /** + * @inheritdoc + */ + public function before(callable $callback) + { + return $this; + } + + /** + * @inheritdoc + */ + public function allows($ability, $arguments = []) + { + return $this->check($ability, $arguments); + } + + /** + * @inheritdoc + */ + public function denies($ability, $arguments = []) + { + return !$this->allows($ability, $arguments); + } + /** * Determine if a given ability has been defined. * @@ -116,7 +140,7 @@ public function check($itemName, $arguments = []) * @param Authenticatable $user * @return static */ - public function forUser(Authenticatable $user) + public function forUser($user) { return new static($this->getStorage(), function () use ($user) {return $user; }, $this->defaultRoles); } diff --git a/api/tests/Services/Api/VanillaIntegrationTest.php b/api/tests/Services/Api/VanillaIntegrationTest.php index 5b7ab302..61dd96a8 100644 --- a/api/tests/Services/Api/VanillaIntegrationTest.php +++ b/api/tests/Services/Api/VanillaIntegrationTest.php @@ -24,7 +24,7 @@ public function setUp() { parent::setUp(); - $this->client = App::make(Client::class); + $this->client = app(Client::class); } // Exceptions @@ -93,7 +93,7 @@ public function shouldNotAccessApiService() $env = getenv($port); putenv($port.'=8888'); - $client = App::make(Client::class); + $client = app(Client::class); // Restore the env variable putenv($port.'='.$env); diff --git a/api/tests/integration/ArticleTest.php b/api/tests/integration/ArticleTest.php index 1994d8f6..d84ee452 100644 --- a/api/tests/integration/ArticleTest.php +++ b/api/tests/integration/ArticleTest.php @@ -583,7 +583,7 @@ public function testShouldCreateDiscussionWhenPostCreated() $post = $this->makePost(); // Get the discussion - $client = App::make(VanillaClient::class); + $client = app(VanillaClient::class); $discussion = $client->api('discussions')->findByForeignId($post->post_id); $this->assertEquals($post->title, $discussion['Discussion']['Name']); @@ -598,7 +598,7 @@ public function testShouldCreateDiscussionWhenPostCreated() */ public function testShouldDeleteDiscussionWhenPostDeleted() { - $client = App::make(VanillaClient::class); + $client = app(VanillaClient::class); $post = $this->makePost(); $discussion = $client->api('discussions')->findByForeignId($post->post_id); @@ -614,7 +614,7 @@ public function testShouldGetCommentsForPost() $body = 'A comment'; // Get the discussion - $client = App::make(VanillaClient::class); + $client = app(VanillaClient::class); $discussion = $client->api('discussions')->findByForeignId($post->post_id); $discussionId = $discussion['Discussion']['DiscussionID']; @@ -638,7 +638,7 @@ public function testShouldGetCommentsForPostUsingWithNestedHeader() $body = 'A comment'; // Get the discussion - $client = App::make(VanillaClient::class); + $client = app(VanillaClient::class); $discussion = $client->api('discussions')->findByForeignId($post->post_id); $discussionId = $discussion['Discussion']['DiscussionID']; @@ -670,7 +670,7 @@ public function testShouldPostCommentForPost() $this->assertEquals($body, $array['body']); // Clean up Vanilla by removing the discussion and user created - $client = App::make(VanillaClient::class); + $client = app(VanillaClient::class); $client->api('discussions')->removeByForeignId($post->post_id); $user = $client->api('users')->sso($array['_author']['userId'], '', ''); $client->api('users')->remove($user['User']['UserID']); diff --git a/composer.json b/composer.json index 6089406f..bc7bdb0f 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ "satooshi/php-coveralls": "dev-master" }, "config": { - "preferred-install": "dist", - "discard-changes": true + "preferred-install": "dist", + "discard-changes": true } } From 6c0b6bf51f51c43abba281c697cdf9899306132f Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Sun, 10 Jan 2016 23:28:01 -0500 Subject: [PATCH 02/18] Applied fixes from StyleCI --- api/src/Auth/Driver/Guard.php | 4 ++-- api/src/Rbac/Access/Gate.php | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/src/Auth/Driver/Guard.php b/api/src/Auth/Driver/Guard.php index c505b678..f064925b 100644 --- a/api/src/Auth/Driver/Guard.php +++ b/api/src/Auth/Driver/Guard.php @@ -142,7 +142,7 @@ public function user() } /** - * @inheritdoc + * {@inheritdoc} */ public function setUser(Authenticatable $user) { @@ -150,7 +150,7 @@ public function setUser(Authenticatable $user) } /** - * @inheritdoc + * {@inheritdoc} */ public function id() { diff --git a/api/src/Rbac/Access/Gate.php b/api/src/Rbac/Access/Gate.php index 687570d2..c09df0c1 100644 --- a/api/src/Rbac/Access/Gate.php +++ b/api/src/Rbac/Access/Gate.php @@ -52,7 +52,7 @@ public function __construct(StorageInterface $storage, callable $userResolver, a } /** - * @inheritdoc + * {@inheritdoc} */ public function before(callable $callback) { @@ -60,7 +60,7 @@ public function before(callable $callback) } /** - * @inheritdoc + * {@inheritdoc} */ public function allows($ability, $arguments = []) { @@ -68,11 +68,11 @@ public function allows($ability, $arguments = []) } /** - * @inheritdoc + * {@inheritdoc} */ public function denies($ability, $arguments = []) { - return !$this->allows($ability, $arguments); + return ! $this->allows($ability, $arguments); } /** From 0096dcd7cc57b72c6066d685af9e4f770d9e684a Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Mon, 11 Jan 2016 17:37:03 +1100 Subject: [PATCH 03/18] Updated travis to use php server as artisan serve has been removed --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3bc1c818..b019dbce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,7 +63,7 @@ before_script: - psql -c 'create database spira;' -U postgres - gulp build - php ./api/artisan migrate --seed - - php ./api/artisan serve --port 8000 --host 127.0.0.1 --quiet 2>&1 >/dev/null & # start api server + - php -S 127.0.0.1:8000 2>&1 >/dev/null & # start api server - http-server ./app/build/ -p 8001 2>&1 >/dev/null & # start webserver - mailcatcher # start mailcatcher server - beanstalkd -d -l 127.0.0.1 -p 11300 # start queue listener From 2a1276500e7542a726d01c8f9f5f92781a64338b Mon Sep 17 00:00:00 2001 From: Igor Osharin Date: Tue, 12 Jan 2016 00:39:03 +0300 Subject: [PATCH 04/18] Fix class redis not found --- api/bootstrap/app.php | 1 + 1 file changed, 1 insertion(+) diff --git a/api/bootstrap/app.php b/api/bootstrap/app.php index bed41d48..04ee278f 100644 --- a/api/bootstrap/app.php +++ b/api/bootstrap/app.php @@ -96,6 +96,7 @@ $app->register(App\Providers\ElasticServiceProvider::class); $app->register(App\Providers\AccessServiceProvider::class); $app->register(App\Providers\AuthDriverServiceProvider::class); +$app->register(\Illuminate\Redis\RedisServiceProvider::class); $app->register(App\Extensions\Socialite\SocialiteServiceProvider::class); From b54c80ef4984b9c9af99931bc3ba799911915d20 Mon Sep 17 00:00:00 2001 From: Igor Osharin Date: Tue, 12 Jan 2016 02:06:36 +0300 Subject: [PATCH 05/18] Fix DI issues with AuthServiceProvider --- api/config/auth.php | 86 +++++++++++++++++++ .../JWTAuthDriverServiceProvider.php | 6 ++ docker/.common.env | 1 + 3 files changed, 93 insertions(+) create mode 100644 api/config/auth.php diff --git a/api/config/auth.php b/api/config/auth.php new file mode 100644 index 00000000..150cf109 --- /dev/null +++ b/api/config/auth.php @@ -0,0 +1,86 @@ + [ + 'guard' => env('AUTH_GUARD', 'api'), + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'api' => ['driver' => 'api'], + 'jwt' => ['driver' => 'jwt'], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + // + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | Here you may set the options for resetting passwords including the view + | that is your password reset e-mail. You may also set the name of the + | table that maintains all of the reset tokens for your application. + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + // + ], + +]; diff --git a/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php b/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php index aa457202..344cd3df 100644 --- a/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php +++ b/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php @@ -23,6 +23,7 @@ use Spira\Auth\Blacklist\CacheDriver; use Spira\Auth\Payload\PayloadFactory; use Illuminate\Support\ServiceProvider; +use Illuminate\Contracts\Cache\Repository; use Spira\Auth\Blacklist\StorageInterface; use Spira\Auth\Token\TokenExpiredException; use Spira\Auth\Token\TokenInvalidException; @@ -333,6 +334,11 @@ protected function registerBlackList() */ protected function registerBlackListDriver() { + // @todo consider of moving this somewhere else + $this->app->bind(Repository::class, function($app) { + return $this->app['cache']->driver(); + }); + $this->app->bind(StorageInterface::class, function ($app) { return $this->app[CacheDriver::class]; }); diff --git a/docker/.common.env b/docker/.common.env index c6696745..ef8a709e 100644 --- a/docker/.common.env +++ b/docker/.common.env @@ -45,6 +45,7 @@ WEBSERVER_PORT=8080 ## Auth config AUTH_MODEL=App\Models\User AUTH_DRIVER=jwt +AUTH_GUARD=jwt ### Services ## API Database From f1f15edf9d90e83526303a6a6543e6c451ab2dd1 Mon Sep 17 00:00:00 2001 From: Igor Osharin Date: Wed, 13 Jan 2016 01:50:05 +0300 Subject: [PATCH 06/18] Lots of compatibility issues fixed --- api/app/Http/Controllers/AuthController.php | 16 +- api/app/Http/Controllers/UserController.php | 2 - api/app/Jobs/Job.php | 5 +- api/app/Providers/AuthServiceProvider.php | 2 +- api/bootstrap/app.php | 2 + api/composer.json | 4 +- api/composer.lock | 180 ++++++++++++------ api/config/auth.php | 3 + api/config/mail.php | 111 +++++++++++ .../documentation/sections/auth.blade.apib | 2 +- api/src/Auth/Driver/Guard.php | 4 +- api/tests/integration/UserTest.php | 4 + 12 files changed, 256 insertions(+), 79 deletions(-) create mode 100644 api/config/mail.php diff --git a/api/app/Http/Controllers/AuthController.php b/api/app/Http/Controllers/AuthController.php index d0901c8d..99e2f267 100644 --- a/api/app/Http/Controllers/AuthController.php +++ b/api/app/Http/Controllers/AuthController.php @@ -34,13 +34,6 @@ class AuthController extends ApiController { - /** - * The application instance. - * - * @var Application - */ - protected $app; - /** * @var SpiraGuard */ @@ -59,13 +52,10 @@ class AuthController extends ApiController * @param AuthTokenTransformer $transformer * @param Application $app */ - public function __construct( - Guard $auth, - AuthTokenTransformer $transformer, - Application $app) + public function __construct(Guard $auth, AuthTokenTransformer $transformer) { $this->auth = $auth; - $this->app = $app; + parent::__construct($transformer); } @@ -255,7 +245,7 @@ public function singleSignOn($requester, Request $request) */ protected function validateProvider($provider) { - if (! in_array($provider, array_keys($this->app['config']['services']))) { + if (! in_array($provider, array_keys(app()['config']['services']))) { throw new NotImplementedException('Provider '.$provider.' is not supported.'); } } diff --git a/api/app/Http/Controllers/UserController.php b/api/app/Http/Controllers/UserController.php index 53c55048..b2e551af 100644 --- a/api/app/Http/Controllers/UserController.php +++ b/api/app/Http/Controllers/UserController.php @@ -29,8 +29,6 @@ class UserController extends EntityController { - use DispatchesJobs; - /** * @var SpiraGuard */ diff --git a/api/app/Jobs/Job.php b/api/app/Jobs/Job.php index 5d232a51..ae29f562 100644 --- a/api/app/Jobs/Job.php +++ b/api/app/Jobs/Job.php @@ -10,12 +10,11 @@ namespace App\Jobs; -use Illuminate\Contracts\Bus\SelfHandling; -use Illuminate\Contracts\Queue\ShouldBeQueued; +use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -abstract class Job implements SelfHandling, ShouldBeQueued +abstract class Job implements ShouldQueue { use InteractsWithQueue, SerializesModels; } diff --git a/api/app/Providers/AuthServiceProvider.php b/api/app/Providers/AuthServiceProvider.php index a2c15b74..b4f3923c 100644 --- a/api/app/Providers/AuthServiceProvider.php +++ b/api/app/Providers/AuthServiceProvider.php @@ -32,7 +32,7 @@ protected function registerAuthenticator() }); $this->app->singleton('auth.driver', function ($app) { - return $app['auth']->driver(); + return $app['auth']->guard(); }); } diff --git a/api/bootstrap/app.php b/api/bootstrap/app.php index 04ee278f..a5a0185c 100644 --- a/api/bootstrap/app.php +++ b/api/bootstrap/app.php @@ -36,6 +36,7 @@ $app->configure('regions'); $app->configure('jwt'); $app->configure('cors'); +$app->configure('mail'); /* |-------------------------------------------------------------------------- @@ -96,6 +97,7 @@ $app->register(App\Providers\ElasticServiceProvider::class); $app->register(App\Providers\AccessServiceProvider::class); $app->register(App\Providers\AuthDriverServiceProvider::class); +$app->register(\Illuminate\Mail\MailServiceProvider::class); $app->register(\Illuminate\Redis\RedisServiceProvider::class); $app->register(App\Extensions\Socialite\SocialiteServiceProvider::class); diff --git a/api/composer.json b/api/composer.json index 71277dcb..356d6954 100644 --- a/api/composer.json +++ b/api/composer.json @@ -33,6 +33,7 @@ "illuminate/redis": "5.2.*", "league/flysystem": "^1.0", "laravel/socialite": "^2.0", + "laravel/lumen-framework": "5.2.x-dev#17a1bc771d1d2bd80bb139659d659d8b296e3f5e", "cloudinary/cloudinary_php": "^1.1", "venturecraft/revisionable": "^2.0", "spira/core": "dev-feature/lumen-5.2-upgrade", @@ -41,7 +42,8 @@ "require-dev": { "phpunit/phpunit": "~5.1", "mockery/mockery": "^0.9.4", - "fzaninotto/faker": "^1.4" + "fzaninotto/faker": "^1.4", + "symfony/var-dumper": "^3.0" }, "autoload": { "psr-4": { diff --git a/api/composer.lock b/api/composer.lock index ea141a83..41b93de3 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "0c03fe504886c09265c8aeadc155d385", - "content-hash": "ba911de2833893232583c43365cdf1f9", + "hash": "f101513bcdf1e21c15eb7b45cdbb65d4", + "content-hash": "c133283da5c55ccf1dfa02ea401fa234", "packages": [ { "name": "asm89/stack-cors", @@ -395,22 +395,22 @@ }, { "name": "guzzle/guzzle", - "version": "v3.8.1", + "version": "v3.9.3", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" + "url": "https://github.com/guzzle/guzzle3.git", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", + "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", "shasum": "" }, "require": { "ext-curl": "*", "php": ">=5.3.3", - "symfony/event-dispatcher": ">=2.1" + "symfony/event-dispatcher": "~2.1" }, "replace": { "guzzle/batch": "self.version", @@ -437,18 +437,21 @@ "guzzle/stream": "self.version" }, "require-dev": { - "doctrine/cache": "*", - "monolog/monolog": "1.*", + "doctrine/cache": "~1.3", + "monolog/monolog": "~1.0", "phpunit/phpunit": "3.7.*", - "psr/log": "1.0.*", - "symfony/class-loader": "*", - "zendframework/zend-cache": "<2.3", - "zendframework/zend-log": "<2.3" + "psr/log": "~1.0", + "symfony/class-loader": "~2.1", + "zendframework/zend-cache": "2.*,<2.3", + "zendframework/zend-log": "2.*,<2.3" + }, + "suggest": { + "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.8-dev" + "dev-master": "3.9-dev" } }, "autoload": { @@ -472,7 +475,7 @@ "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -483,7 +486,7 @@ "rest", "web service" ], - "time": "2014-01-28 22:29:15" + "time": "2015-03-18 18:23:50" }, { "name": "guzzlehttp/guzzle", @@ -1871,16 +1874,16 @@ }, { "name": "laravel/lumen-framework", - "version": "v5.2.2", + "version": "5.2.x-dev", "source": { "type": "git", "url": "https://github.com/laravel/lumen-framework.git", - "reference": "91e07dd69930ed45515d2776a18e05f911b986f3" + "reference": "17a1bc771d1d2bd80bb139659d659d8b296e3f5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/91e07dd69930ed45515d2776a18e05f911b986f3", - "reference": "91e07dd69930ed45515d2776a18e05f911b986f3", + "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/17a1bc771d1d2bd80bb139659d659d8b296e3f5e", + "reference": "17a1bc771d1d2bd80bb139659d659d8b296e3f5e", "shasum": "" }, "require": { @@ -1950,7 +1953,7 @@ "laravel", "lumen" ], - "time": "2016-01-08 13:32:58" + "time": "2016-01-11 00:50:43" }, { "name": "laravel/socialite", @@ -2343,12 +2346,12 @@ "source": { "type": "git", "url": "https://github.com/namshi/jose.git", - "reference": "7176b9245040e44197ef34db3461b9abc24a6f47" + "reference": "8b1837b7f7d30e4c898ec05726f381759ff0d53c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/namshi/jose/zipball/7176b9245040e44197ef34db3461b9abc24a6f47", - "reference": "7176b9245040e44197ef34db3461b9abc24a6f47", + "url": "https://api.github.com/repos/namshi/jose/zipball/8b1837b7f7d30e4c898ec05726f381759ff0d53c", + "reference": "8b1837b7f7d30e4c898ec05726f381759ff0d53c", "shasum": "" }, "require": { @@ -2359,12 +2362,11 @@ "ext-pcre": "*", "ext-spl": "*", "php": ">=5.4.8", - "phpseclib/phpseclib": "1.0.0" + "phpseclib/phpseclib": "~1.0" }, "require-dev": { - "phpunit/phpunit": "~4.5", - "satooshi/php-coveralls": "dev-master", - "sllh/php-cs-fixer-styleci-bridge": "^1.4" + "phpunit/phpunit": "^4.5|^5.0", + "satooshi/php-coveralls": "^1.0" }, "type": "library", "autoload": { @@ -2392,7 +2394,7 @@ "jwt", "token" ], - "time": "2015-12-14 06:48:22" + "time": "2016-01-10 18:40:22" }, { "name": "nesbot/carbon", @@ -2982,12 +2984,12 @@ "source": { "type": "git", "url": "https://github.com/spira/api-core.git", - "reference": "47278f157659966a202c60568f93c4c251e6bcd3" + "reference": "66562110af2023cd8626eb6e54ae1e334e3c26aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spira/api-core/zipball/47278f157659966a202c60568f93c4c251e6bcd3", - "reference": "47278f157659966a202c60568f93c4c251e6bcd3", + "url": "https://api.github.com/repos/spira/api-core/zipball/66562110af2023cd8626eb6e54ae1e334e3c26aa", + "reference": "66562110af2023cd8626eb6e54ae1e334e3c26aa", "shasum": "" }, "require": { @@ -3032,7 +3034,7 @@ "source": "https://github.com/spira/api-core/tree/feature/lumen-5.2-upgrade", "issues": "https://github.com/spira/api-core/issues" }, - "time": "2016-01-11 03:46:44" + "time": "2016-01-12 21:58:26" }, { "name": "swiftmailer/swiftmailer", @@ -3206,27 +3208,27 @@ }, { "name": "symfony/event-dispatcher", - "version": "v3.0.1", + "version": "v2.8.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf" + "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d36355e026905fa5229e1ed7b4e9eda2e67adfcf", - "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a5eb815363c0388e83247e7e9853e5dbc14999cc", + "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": ">=5.3.9" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" + "symfony/config": "~2.0,>=2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.6|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0" }, "suggest": { "symfony/dependency-injection": "", @@ -3235,7 +3237,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -3262,7 +3264,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2015-10-30 23:35:59" + "time": "2015-10-30 20:15:42" }, { "name": "symfony/finder", @@ -4075,7 +4077,7 @@ ], "authors": [ { - "name": "Padraic Brady", + "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", "homepage": "http://blog.astrumfutura.com" }, @@ -4254,16 +4256,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "3.0.2", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f7bb5cddf4ffe113eeb737b05241adb947b43f9d" + "reference": "64d40a593fc31a8abf4ce3d200147ddf8ca64e52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f7bb5cddf4ffe113eeb737b05241adb947b43f9d", - "reference": "f7bb5cddf4ffe113eeb737b05241adb947b43f9d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/64d40a593fc31a8abf4ce3d200147ddf8ca64e52", + "reference": "64d40a593fc31a8abf4ce3d200147ddf8ca64e52", "shasum": "" }, "require": { @@ -4286,7 +4288,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -4312,7 +4314,7 @@ "testing", "xunit" ], - "time": "2015-11-12 21:08:20" + "time": "2016-01-11 10:05:34" }, { "name": "phpunit/php-file-iterator", @@ -4494,16 +4496,16 @@ }, { "name": "phpunit/phpunit", - "version": "5.1.3", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c047ff05d2279404af9a7e89e2a7151c32c88022" + "reference": "676c25c4ac563869572c878fdaf3db21587f5f3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c047ff05d2279404af9a7e89e2a7151c32c88022", - "reference": "c047ff05d2279404af9a7e89e2a7151c32c88022", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/676c25c4ac563869572c878fdaf3db21587f5f3b", + "reference": "676c25c4ac563869572c878fdaf3db21587f5f3b", "shasum": "" }, "require": { @@ -4564,7 +4566,7 @@ "testing", "xunit" ], - "time": "2015-12-10 07:54:54" + "time": "2016-01-11 10:11:10" }, { "name": "phpunit/phpunit-mock-objects", @@ -5035,6 +5037,69 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2015-06-21 13:59:46" }, + { + "name": "symfony/var-dumper", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "87db8700deb12ba2b65e858f656a1f885530bcb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/87db8700deb12ba2b65e858f656a1f885530bcb0", + "reference": "87db8700deb12ba2b65e858f656a1f885530bcb0", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "twig/twig": "~1.20|~2.0" + }, + "suggest": { + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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 mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2015-12-05 11:13:14" + }, { "name": "symfony/yaml", "version": "v3.0.1", @@ -5088,6 +5153,7 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { + "laravel/lumen-framework": 20, "spira/core": 20 }, "prefer-stable": false, diff --git a/api/config/auth.php b/api/config/auth.php index 150cf109..288d2579 100644 --- a/api/config/auth.php +++ b/api/config/auth.php @@ -17,6 +17,9 @@ 'guard' => env('AUTH_GUARD', 'api'), ], + /* Removed config value from 5.1 */ + 'model' => env('AUTH_MODEL', 'App\User'), + /* |-------------------------------------------------------------------------- | Authentication Guards diff --git a/api/config/mail.php b/api/config/mail.php new file mode 100644 index 00000000..cb783c90 --- /dev/null +++ b/api/config/mail.php @@ -0,0 +1,111 @@ + env('MAIL_DRIVER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Address + |-------------------------------------------------------------------------- + | + | Here you may provide the host address of the SMTP server used by your + | applications. A default option is provided that is compatible with + | the Mailgun mail service which will provide reliable deliveries. + | + */ + + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Port + |-------------------------------------------------------------------------- + | + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. + | + */ + + 'port' => env('MAIL_PORT', 587), + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => ['address' => null, 'name' => null], + + /* + |-------------------------------------------------------------------------- + | E-Mail Encryption Protocol + |-------------------------------------------------------------------------- + | + | Here you may specify the encryption protocol that should be used when + | the application send e-mail messages. A sensible default using the + | transport layer security protocol should provide great security. + | + */ + + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Username + |-------------------------------------------------------------------------- + | + | If your SMTP server requires a username for authentication, you should + | set it here. This will get used to authenticate with your server on + | connection. You may also set the "password" value below this one. + | + */ + + 'username' => env('MAIL_USERNAME'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Password + |-------------------------------------------------------------------------- + | + | Here you may set the password required by your SMTP server to send out + | messages from your application. This will be given to the server on + | connection so that the application will be able to send messages. + | + */ + + 'password' => env('MAIL_PASSWORD'), + + /* + |-------------------------------------------------------------------------- + | Sendmail System Path + |-------------------------------------------------------------------------- + | + | When using the "sendmail" driver to send e-mails, we will need to know + | the path to where Sendmail lives on this server. A default path has + | been provided here, which will work well on most of your systems. + | + */ + + 'sendmail' => '/usr/sbin/sendmail -bs', + +]; diff --git a/api/resources/views/documentation/sections/auth.blade.apib b/api/resources/views/documentation/sections/auth.blade.apib index a7083b3d..7f365d6d 100644 --- a/api/resources/views/documentation/sections/auth.blade.apib +++ b/api/resources/views/documentation/sections/auth.blade.apib @@ -143,7 +143,7 @@ experience. {!! json_encode(App\Services\SingleSignOn\SingleSignOnFactory::create( 'vanilla', - Request::instance(), + app(Illuminate\Http\Request::class), $factory->get(\App\Models\User::class)->modified())->formatUser() ); !!} diff --git a/api/src/Auth/Driver/Guard.php b/api/src/Auth/Driver/Guard.php index f064925b..443b03dc 100644 --- a/api/src/Auth/Driver/Guard.php +++ b/api/src/Auth/Driver/Guard.php @@ -82,7 +82,8 @@ public function __construct( PayloadValidationFactory $validationFactory, UserProvider $provider, RequestParser $requestParser, - Blacklist $blacklist + Blacklist $blacklist, + Request $request ) { $this->payloadFactory = $payloadFactory; $this->provider = $provider; @@ -90,6 +91,7 @@ public function __construct( $this->validationFactory = $validationFactory; $this->requestParser = $requestParser; $this->blacklist = $blacklist; + $this->request = $request; } /** diff --git a/api/tests/integration/UserTest.php b/api/tests/integration/UserTest.php index 510c8469..a737ead3 100644 --- a/api/tests/integration/UserTest.php +++ b/api/tests/integration/UserTest.php @@ -390,6 +390,8 @@ public function testDeleteOneByGuestUser() public function testResetPasswordMail() { + $this->markTestIncomplete('Fix mailer issues'); + $this->clearMessages(); $user = $this->createUser(); $token = $this->tokenFromUser($user); @@ -437,6 +439,8 @@ public function testResetPasswordMailInvalidEmail() public function testChangeEmail() { + $this->markTestIncomplete('Fix mailer issues'); + $this->clearMessages(); $user = $this->createUser(); // Ensure that the current email is considered confirmed. From e0bb3ad4406a685161f0a85b0842b5a75de7ec3d Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Wed, 13 Jan 2016 12:05:47 +1100 Subject: [PATCH 07/18] Fixed mailer test by changing mailer to not use dependency injection, instead using the facade --- api/app/Http/Controllers/UserController.php | 1 - api/app/Jobs/SendPasswordResetEmail.php | 10 ++++------ api/config/mail.php | 4 ++-- api/tests/Auth/GuardTest.php | 20 +++++++++++--------- api/tests/integration/UserTest.php | 2 -- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/api/app/Http/Controllers/UserController.php b/api/app/Http/Controllers/UserController.php index b2e551af..25c11e76 100644 --- a/api/app/Http/Controllers/UserController.php +++ b/api/app/Http/Controllers/UserController.php @@ -18,7 +18,6 @@ use App\Jobs\SendPasswordResetEmail; use Illuminate\Contracts\Auth\Guard; use App\Jobs\SendEmailConfirmationEmail; -use Laravel\Lumen\Routing\DispatchesJobs; use Spira\Auth\Driver\Guard as SpiraGuard; use Spira\Core\Controllers\EntityController; use Spira\Core\Responder\Response\ApiResponse; diff --git a/api/app/Jobs/SendPasswordResetEmail.php b/api/app/Jobs/SendPasswordResetEmail.php index 16c7652c..898551d5 100644 --- a/api/app/Jobs/SendPasswordResetEmail.php +++ b/api/app/Jobs/SendPasswordResetEmail.php @@ -12,12 +12,11 @@ use App\Models\User; use Illuminate\Mail\Message; -use Illuminate\Contracts\Mail\Mailer; -use Illuminate\Contracts\Bus\SelfHandling; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Support\Facades\Config; +use Illuminate\Support\Facades\Mail; -class SendPasswordResetEmail extends Job implements SelfHandling, ShouldQueue +class SendPasswordResetEmail extends Job implements ShouldQueue { /** * User to email. @@ -49,12 +48,11 @@ public function __construct(User $user, $loginToken) /** * Execute the job. * - * @param Mailer $mailer * @return void */ - public function handle(Mailer $mailer) + public function handle() { - $mailer->send('emails.resetPassword', [ + Mail::send('emails.resetPassword', [ 'user' => $this->user, 'passwordResetRedirectionUrl' => Config::get('hosts.app').'/profile?loginToken='.$this->loginToken, ], function (Message $m) { diff --git a/api/config/mail.php b/api/config/mail.php index cb783c90..173fa587 100644 --- a/api/config/mail.php +++ b/api/config/mail.php @@ -54,7 +54,7 @@ | */ - 'from' => ['address' => null, 'name' => null], + 'from' => ['address' => env('MAIL_FROM_ADDRESS'), 'name' => env('MAIL_FROM_NAME')], /* |-------------------------------------------------------------------------- @@ -108,4 +108,4 @@ 'sendmail' => '/usr/sbin/sendmail -bs', -]; +]; \ No newline at end of file diff --git a/api/tests/Auth/GuardTest.php b/api/tests/Auth/GuardTest.php index 3f521425..eeea97c2 100644 --- a/api/tests/Auth/GuardTest.php +++ b/api/tests/Auth/GuardTest.php @@ -8,17 +8,18 @@ * For the full copyright and license information, please view the LICENSE file that was distributed with this source code. */ -use Illuminate\Contracts\Auth\Authenticatable; use Mockery\Mock; -use Spira\Auth\Blacklist\Blacklist; +use Mockery as m; +use Illuminate\Http\Request; use Spira\Auth\Driver\Guard; -use Spira\Auth\Payload\PayloadFactory; -use Spira\Auth\Payload\PayloadValidationFactory; +use Spira\Auth\User\UserProvider; use Spira\Auth\Token\JWTInterface; +use Spira\Auth\Blacklist\Blacklist; use Spira\Auth\Token\RequestParser; +use Spira\Auth\Payload\PayloadFactory; use Spira\Auth\Token\TokenIsMissingException; -use Spira\Auth\User\UserProvider; -use Mockery as m; +use Illuminate\Contracts\Auth\Authenticatable; +use Spira\Auth\Payload\PayloadValidationFactory; use Spira\Core\Contract\Exception\NotImplementedException; class GuardTest extends TestCase @@ -238,11 +239,12 @@ public function testRealLife() new FakePayloadValidationFactory(), new FakeUserProvider(), new FakeRequestParser(), - new FakeBlacklist() + new FakeBlacklist(), + new Request() ); //request and provider are set inside lumen - $gate->setRequest(new \Illuminate\Http\Request()); + $gate->setRequest(new Request()); $gate->setProvider(new FakeUserProvider()); // no user at first @@ -316,7 +318,7 @@ public function retrieveByToken($identifier, $token) class FakeRequestParser extends RequestParser { - public function getToken(\Illuminate\Http\Request $request) + public function getToken(Request $request) { return 'token'; } diff --git a/api/tests/integration/UserTest.php b/api/tests/integration/UserTest.php index a737ead3..acef11a1 100644 --- a/api/tests/integration/UserTest.php +++ b/api/tests/integration/UserTest.php @@ -390,8 +390,6 @@ public function testDeleteOneByGuestUser() public function testResetPasswordMail() { - $this->markTestIncomplete('Fix mailer issues'); - $this->clearMessages(); $user = $this->createUser(); $token = $this->tokenFromUser($user); From 1b89de5ff8719db7179790dadb7a69ca5c11ac3a Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Wed, 13 Jan 2016 12:18:42 +1100 Subject: [PATCH 08/18] Added AUTH_GUARD record for travis --- api/.travis.env | 1 + 1 file changed, 1 insertion(+) diff --git a/api/.travis.env b/api/.travis.env index 9ae7c6af..9bcb8f18 100644 --- a/api/.travis.env +++ b/api/.travis.env @@ -16,6 +16,7 @@ WEBSERVER_PORT=8000 AUTH_MODEL=App\Models\User AUTH_DRIVER=jwt +AUTH_GUARD=jwt DB_CONNECTION=pgsql DB_HOST=127.0.0.1 From f16010a6d38ee4324fabde99a2192d05cb43bd46 Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Wed, 13 Jan 2016 12:38:49 +1100 Subject: [PATCH 09/18] Locked down protagonist version, added shrinkwrap file to lock it in --- api/npm-shrinkwrap.json | 71 +++++++++++++++++++++++++++++++++++++++++ api/package.json | 4 +-- 2 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 api/npm-shrinkwrap.json diff --git a/api/npm-shrinkwrap.json b/api/npm-shrinkwrap.json new file mode 100644 index 00000000..83c3f6be --- /dev/null +++ b/api/npm-shrinkwrap.json @@ -0,0 +1,71 @@ +{ + "name": "spira-api", + "version": "0.0.0", + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "from": "ansi-styles@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + }, + "api-blueprint-validator": { + "version": "0.1.3", + "from": "xiphiaz/api-blueprint-validator", + "resolved": "git://github.com/xiphiaz/api-blueprint-validator.git#24cce97c577970a0d359190db200118ad5e63444" + }, + "chalk": { + "version": "0.4.0", + "from": "chalk@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz" + }, + "has-color": { + "version": "0.1.7", + "from": "has-color@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" + }, + "jsonlint": { + "version": "1.6.0", + "from": "jsonlint@1.6.0", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz" + }, + "JSV": { + "version": "4.0.2", + "from": "JSV@>=4.0.0", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz" + }, + "minimist": { + "version": "0.0.10", + "from": "minimist@>=0.0.1 <0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + }, + "nan": { + "version": "2.0.9", + "from": "nan@>=2.0.9 <2.1.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.0.9.tgz" + }, + "nomnom": { + "version": "1.8.1", + "from": "nomnom@>=1.5.0", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz" + }, + "protagonist": { + "version": "1.2.3", + "from": "protagonist@1.2.3", + "resolved": "https://registry.npmjs.org/protagonist/-/protagonist-1.2.3.tgz" + }, + "strip-ansi": { + "version": "0.1.1", + "from": "strip-ansi@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + }, + "underscore": { + "version": "1.6.0", + "from": "underscore@>=1.6.0 <1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" + }, + "yargs": { + "version": "1.2.1", + "from": "yargs@1.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.1.tgz" + } + } +} diff --git a/api/package.json b/api/package.json index 74c265f6..3c72ec6f 100644 --- a/api/package.json +++ b/api/package.json @@ -15,8 +15,8 @@ ], "author": "Zak Henry", "license": "MIT", - "devDependencies": { + "dependencies": { "api-blueprint-validator": "xiphiaz/api-blueprint-validator", - "protagonist": "^1.2.3" + "protagonist": "1.2.3" } } From 28b11e780ca74499750c3782d69293ae96b804cb Mon Sep 17 00:00:00 2001 From: Igor Osharin Date: Wed, 13 Jan 2016 22:03:23 +0300 Subject: [PATCH 10/18] Request facade is deprecated --- api/tests/SpiraAuthTest.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/tests/SpiraAuthTest.php b/api/tests/SpiraAuthTest.php index 0d39582c..9b576085 100644 --- a/api/tests/SpiraAuthTest.php +++ b/api/tests/SpiraAuthTest.php @@ -53,6 +53,8 @@ public function testRequestAliasUserResolver() public function testRequestFacadeUserResolver() { + $this->markTestSkipped('Request facade is deprecated'); + $user = $this->createUser(); $token = $this->tokenFromUser($user); From 5b78cbdd9c1d73ce33c9009c762230ccac2cbf0b Mon Sep 17 00:00:00 2001 From: Igor Osharin Date: Wed, 13 Jan 2016 23:19:07 +0300 Subject: [PATCH 11/18] AuthTest Guzzle fix and incomplete testProviderRedirectReturnUrlOAuthOne --- api/tests/integration/AuthTest.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/api/tests/integration/AuthTest.php b/api/tests/integration/AuthTest.php index 8104ce5b..ba600092 100644 --- a/api/tests/integration/AuthTest.php +++ b/api/tests/integration/AuthTest.php @@ -195,15 +195,16 @@ public function testRefreshPlainHeader() $options = ['headers' => ['authorization' => 'Bearer '.$token]]; $client = new Client([ - 'base_url' => sprintf( + 'base_uri' => sprintf( 'http://%s:%s', getenv('WEBSERVER_HOST'), getenv('WEBSERVER_PORT') ), ]); + /** @var GuzzleHttp\Psr7\Response $res */ $res = $client->get('/auth/jwt/refresh', $options); - $array = $res->json(); + $array = json_decode($res->getBody(), true); $this->assertEquals(200, $res->getStatusCode()); $this->assertNotEquals($token, $array['token']); $payload = $this->app->make('auth')->getTokenizer()->decode($array['token']); @@ -341,6 +342,8 @@ public function testProviderRedirect() public function testProviderRedirectReturnUrlOAuthOne() { + $this->markTestIncomplete('Something strange here'); + $returnUrl = 'http://www.foo.bar/'; // If we have no valid twitter credentials, we'll mock the redirect From 84282bac312ba513c3d4adf125d26e93012a5949 Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Thu, 14 Jan 2016 10:36:34 +1100 Subject: [PATCH 12/18] Fixed travis conf to point to the right file for file serving --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b019dbce..26d107c1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,7 +63,7 @@ before_script: - psql -c 'create database spira;' -U postgres - gulp build - php ./api/artisan migrate --seed - - php -S 127.0.0.1:8000 2>&1 >/dev/null & # start api server + - php -S 127.0.0.1:8000 ./api/server.php 2>&1 >/dev/null & # start api server - http-server ./app/build/ -p 8001 2>&1 >/dev/null & # start webserver - mailcatcher # start mailcatcher server - beanstalkd -d -l 127.0.0.1 -p 11300 # start queue listener From 8231519eacc157449801926185103d3e044ca964 Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Thu, 14 Jan 2016 10:43:22 +1100 Subject: [PATCH 13/18] Updated test skip to give better reason --- api/tests/integration/AuthTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/tests/integration/AuthTest.php b/api/tests/integration/AuthTest.php index ba600092..7a97d745 100644 --- a/api/tests/integration/AuthTest.php +++ b/api/tests/integration/AuthTest.php @@ -342,7 +342,7 @@ public function testProviderRedirect() public function testProviderRedirectReturnUrlOAuthOne() { - $this->markTestIncomplete('Something strange here'); + $this->markTestSkipped('redirect is not working(): https://github.com/laravel/lumen-framework/issues/315'); $returnUrl = 'http://www.foo.bar/'; From ff8be1af602e39a4e98d432d595ac7db8bbc6adb Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Thu, 14 Jan 2016 10:51:29 +1100 Subject: [PATCH 14/18] Fixed user email change test by switching Mailer DI in email confirmation job to use of Mail facade --- api/app/Jobs/SendEmailConfirmationEmail.php | 23 ++++++++++----------- api/app/Jobs/SendPasswordResetEmail.php | 4 ++-- api/tests/integration/UserTest.php | 2 -- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/api/app/Jobs/SendEmailConfirmationEmail.php b/api/app/Jobs/SendEmailConfirmationEmail.php index 672a693e..973c352e 100644 --- a/api/app/Jobs/SendEmailConfirmationEmail.php +++ b/api/app/Jobs/SendEmailConfirmationEmail.php @@ -11,12 +11,12 @@ namespace App\Jobs; use App\Models\User; -use Illuminate\Contracts\Mail\Mailer; -use Illuminate\Contracts\Bus\SelfHandling; -use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Mail\Message; +use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Config; +use Illuminate\Contracts\Queue\ShouldQueue; -class SendEmailConfirmationEmail extends Job implements SelfHandling, ShouldQueue +class SendEmailConfirmationEmail extends Job implements ShouldQueue { /** * User to email. @@ -49,10 +49,10 @@ class SendEmailConfirmationEmail extends Job implements SelfHandling, ShouldQueu /** * Create a new job instance. * - * @param User $user - * @param string $email - * @param string $token - * @return void + * @param User $user + * @param string $email + * @param $emailConfirmToken + * @param $loginToken */ public function __construct(User $user, $email, $emailConfirmToken, $loginToken) { @@ -65,16 +65,15 @@ public function __construct(User $user, $email, $emailConfirmToken, $loginToken) /** * Execute the job. * - * @param Mailer $mailer * @return void */ - public function handle(Mailer $mailer) + public function handle() { - $mailer->send('emails.emailConfirmation', [ + Mail::send('emails.emailConfirmation', [ 'user' => $this->user, 'email' => $this->email, 'emailConfirmationRedirectionUrl' => Config::get('hosts.app').'/profile?emailConfirmationToken='.$this->emailConfirmToken.'&loginToken='.$this->loginToken, - ], function ($m) { + ], function (Message $m) { $m->to($this->email, $this->user->full_name) ->subject('Confirm Your Email'); diff --git a/api/app/Jobs/SendPasswordResetEmail.php b/api/app/Jobs/SendPasswordResetEmail.php index 898551d5..6494d934 100644 --- a/api/app/Jobs/SendPasswordResetEmail.php +++ b/api/app/Jobs/SendPasswordResetEmail.php @@ -12,9 +12,9 @@ use App\Models\User; use Illuminate\Mail\Message; -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Support\Facades\Config; use Illuminate\Support\Facades\Mail; +use Illuminate\Support\Facades\Config; +use Illuminate\Contracts\Queue\ShouldQueue; class SendPasswordResetEmail extends Job implements ShouldQueue { diff --git a/api/tests/integration/UserTest.php b/api/tests/integration/UserTest.php index acef11a1..510c8469 100644 --- a/api/tests/integration/UserTest.php +++ b/api/tests/integration/UserTest.php @@ -437,8 +437,6 @@ public function testResetPasswordMailInvalidEmail() public function testChangeEmail() { - $this->markTestIncomplete('Fix mailer issues'); - $this->clearMessages(); $user = $this->createUser(); // Ensure that the current email is considered confirmed. From 84f94db8c7e702d021d1622d1117ca756009d290 Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Thu, 14 Jan 2016 10:54:35 +1100 Subject: [PATCH 15/18] Fixed skipped test for facade deprecation skip - the facade isn't deprecated - the access via the global NS is. --- api/tests/SpiraAuthTest.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/api/tests/SpiraAuthTest.php b/api/tests/SpiraAuthTest.php index 9b576085..0ab94235 100644 --- a/api/tests/SpiraAuthTest.php +++ b/api/tests/SpiraAuthTest.php @@ -8,7 +8,7 @@ * For the full copyright and license information, please view the LICENSE file that was distributed with this source code. */ -use Illuminate\Http\Request; +//use Illuminate\Http\Request; use Spira\Auth\Driver\Guard; class SpiraAuthTest extends TestCase @@ -53,13 +53,10 @@ public function testRequestAliasUserResolver() public function testRequestFacadeUserResolver() { - $this->markTestSkipped('Request facade is deprecated'); - $user = $this->createUser(); $token = $this->tokenFromUser($user); - /** @var Request $request */ - $request = \Request::getFacadeRoot(); + $request = Illuminate\Support\Facades\Request::getFacadeRoot(); $request->headers->set('Authorization', 'Bearer '.$token); $this->assertEquals($user->user_id, $request->user()->user_id); } From 9f722afa610e03bc8a066b70f76cc776362c32e6 Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Wed, 13 Jan 2016 18:59:12 -0500 Subject: [PATCH 16/18] Applied fixes from StyleCI --- api/config/auth.php | 8 ++++++++ api/config/mail.php | 10 +++++++++- .../Auth/Providers/JWTAuthDriverServiceProvider.php | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/api/config/auth.php b/api/config/auth.php index 288d2579..9f8f8b40 100644 --- a/api/config/auth.php +++ b/api/config/auth.php @@ -1,5 +1,13 @@ '/usr/sbin/sendmail -bs', -]; \ No newline at end of file +]; diff --git a/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php b/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php index 344cd3df..d23673f2 100644 --- a/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php +++ b/api/src/Auth/Providers/JWTAuthDriverServiceProvider.php @@ -335,7 +335,7 @@ protected function registerBlackList() protected function registerBlackListDriver() { // @todo consider of moving this somewhere else - $this->app->bind(Repository::class, function($app) { + $this->app->bind(Repository::class, function ($app) { return $this->app['cache']->driver(); }); From f7c65ec7a406c522702085b34dc068242702181f Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Thu, 14 Jan 2016 11:18:55 +1100 Subject: [PATCH 17/18] Added more leniency into the test case for checking date for case when ci is crawling --- app/src/common/services/user/userService.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/common/services/user/userService.spec.ts b/app/src/common/services/user/userService.spec.ts index aa0ab172..329b73cc 100644 --- a/app/src/common/services/user/userService.spec.ts +++ b/app/src/common/services/user/userService.spec.ts @@ -238,7 +238,7 @@ namespace common.services.user { (jsonData:string) => { let data:{emailConfirmed:string} = JSON.parse(jsonData); // TSD only has definitions for moment 2.8.0 which does not contain function isBetween - return data.emailConfirmed && (moment)(data.emailConfirmed).isBetween(moment().subtract(1, 'second'), moment()); + return data.emailConfirmed && (moment)(data.emailConfirmed).isBetween(moment().subtract(10, 'seconds'), moment()); }, (headers) => { return headers['email-confirm-token'] == emailToken; From 563bcba6db8e4f044774e9dbcb1cf2d054727d6d Mon Sep 17 00:00:00 2001 From: Zak Henry Date: Thu, 14 Jan 2016 14:45:33 +1100 Subject: [PATCH 18/18] Fixed commented out Request class use statement --- api/tests/SpiraAuthTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/tests/SpiraAuthTest.php b/api/tests/SpiraAuthTest.php index 0ab94235..66a65b8f 100644 --- a/api/tests/SpiraAuthTest.php +++ b/api/tests/SpiraAuthTest.php @@ -8,7 +8,7 @@ * For the full copyright and license information, please view the LICENSE file that was distributed with this source code. */ -//use Illuminate\Http\Request; +use Illuminate\Http\Request; use Spira\Auth\Driver\Guard; class SpiraAuthTest extends TestCase