list airports api
This commit is contained in:
@@ -2,7 +2,19 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use GuzzleHttp\Psr7\Request;
|
use App\Libraries\IotaCodes\Airport;
|
||||||
|
use App\Libraries\IotaCodes\AirportTransformer;
|
||||||
|
use App\Libraries\IotaCodes\Client;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Pagination\LengthAwarePaginator;
|
||||||
|
use League\Fractal\Manager;
|
||||||
|
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
||||||
|
use League\Fractal\Resource\Collection;
|
||||||
|
use League\Fractal\Resource\Item;
|
||||||
|
use League\Fractal\Resource\ResourceInterface;
|
||||||
|
use League\Fractal\Serializer\JsonApiSerializer;
|
||||||
|
|
||||||
|
//use GuzzleHttp\Psr7\Request;
|
||||||
|
|
||||||
class AirportController extends Controller
|
class AirportController extends Controller
|
||||||
{
|
{
|
||||||
@@ -15,14 +27,76 @@ class AirportController extends Controller
|
|||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetch list of airports
|
||||||
|
*
|
||||||
|
* @api {get} /airports
|
||||||
|
* @apiName List Airports
|
||||||
|
*
|
||||||
|
* @apiParam (pagination) {number} [page] page number to display
|
||||||
|
* @apiParam (pagination) {number} [per_page] number of items to display on the page
|
||||||
|
*
|
||||||
|
* @apiParam (autocomplete) {string} [autocomplete] string to try and autocomplete
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\JsonResponse
|
||||||
|
*/
|
||||||
public function resourceList(Request $request)
|
public function resourceList(Request $request)
|
||||||
{
|
{
|
||||||
//todo
|
$client = Client::create();
|
||||||
|
$per_page = $request->input('per_page', 10);
|
||||||
|
$page = $request->input('page', 1);
|
||||||
|
|
||||||
|
$collection = $client->listAirports($request->input('autocomplete'));
|
||||||
|
$paginator = new LengthAwarePaginator(
|
||||||
|
$collection->forPage($page, $per_page),
|
||||||
|
$collection->count(),
|
||||||
|
$per_page,
|
||||||
|
$page
|
||||||
|
);
|
||||||
|
|
||||||
|
$airports = new Collection($paginator, new AirportTransformer(), 'airports');
|
||||||
|
$airports->setPaginator(new IlluminatePaginatorAdapter($paginator));
|
||||||
|
|
||||||
|
return $this->JsonApiResponse($airports, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get(Request $request)
|
/**
|
||||||
|
* Get details of an airport by it's code
|
||||||
|
*
|
||||||
|
* @api {get} /airports/:code
|
||||||
|
* @apiName Get Airport from code
|
||||||
|
*
|
||||||
|
* @apiParam {string} code 3 letter airport code
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param $code
|
||||||
|
* @return \Illuminate\Http\JsonResponse
|
||||||
|
*/
|
||||||
|
public function getAirport(Request $request, $code)
|
||||||
{
|
{
|
||||||
//
|
$client = Client::create();
|
||||||
|
|
||||||
|
$result = $client->getAirport($code);
|
||||||
|
$result = new Item($result, new AirportTransformer(), 'airports');
|
||||||
|
|
||||||
|
return $this->JsonApiResponse($result, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert the response to Json
|
||||||
|
*
|
||||||
|
* @param \League\Fractal\Resource\Item $resource
|
||||||
|
* @param $statusCode
|
||||||
|
* @return \Illuminate\Http\JsonResponse
|
||||||
|
*/
|
||||||
|
protected function JsonApiResponse(ResourceInterface $resource, $statusCode)
|
||||||
|
{
|
||||||
|
$manager = new Manager();
|
||||||
|
$manager->setSerializer(new JsonApiSerializer('http://docker.dev:8080'));
|
||||||
|
|
||||||
|
return response()->json($manager->createData($resource)->toArray(), $statusCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
21
app/Libraries/IotaCodes/Airport.php
Normal file
21
app/Libraries/IotaCodes/Airport.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Libraries\IotaCodes;
|
||||||
|
|
||||||
|
class Airport
|
||||||
|
{
|
||||||
|
|
||||||
|
public $name;
|
||||||
|
|
||||||
|
public $code;
|
||||||
|
|
||||||
|
protected function __construct($name, $code)
|
||||||
|
{
|
||||||
|
$this->name = $name;
|
||||||
|
$this->code = $code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function create($name, $code)
|
||||||
|
{
|
||||||
|
return new self($name, $code);
|
||||||
|
}
|
||||||
|
}
|
||||||
19
app/Libraries/IotaCodes/AirportTransformer.php
Normal file
19
app/Libraries/IotaCodes/AirportTransformer.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Libraries\IotaCodes;
|
||||||
|
|
||||||
|
use League\Fractal\TransformerAbstract;
|
||||||
|
|
||||||
|
class AirportTransformer extends TransformerAbstract
|
||||||
|
{
|
||||||
|
public function transform(Airport $airport)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id' => $airport->code,
|
||||||
|
'name' => $airport->name,
|
||||||
|
'links' => [
|
||||||
|
'rel' => 'self',
|
||||||
|
'uri' => '/airports/'.$airport->code,
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
117
app/Libraries/IotaCodes/Client.php
Normal file
117
app/Libraries/IotaCodes/Client.php
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Libraries\IotaCodes;
|
||||||
|
|
||||||
|
use GuzzleHttp\Client as Guzzle;
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
|
|
||||||
|
class Client
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Guzzle Client
|
||||||
|
* @var Guzzle
|
||||||
|
*/
|
||||||
|
protected $guzzle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Client constructor.
|
||||||
|
* @param \GuzzleHttp\Client $guzzle
|
||||||
|
* @param array $config
|
||||||
|
*/
|
||||||
|
public function __construct(Guzzle $guzzle, array $config = [])
|
||||||
|
{
|
||||||
|
$this->guzzle = $guzzle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function create()
|
||||||
|
{
|
||||||
|
return new self(new Guzzle([
|
||||||
|
'base_uri' => 'https://iatacodes.org',
|
||||||
|
'timeout' => 5.0,
|
||||||
|
'verify' => false
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listAirports($autoComplete = '')
|
||||||
|
{
|
||||||
|
$uri = '/api/v6/airports';
|
||||||
|
$key = 'all.airports';
|
||||||
|
$minutes = 60;
|
||||||
|
|
||||||
|
$response = app('cache')->get($key, function () use ($key, $minutes, $uri) {
|
||||||
|
try {
|
||||||
|
/** @var \Psr\Http\Message\ResponseInterface $response */
|
||||||
|
$response = $this->guzzle->get($uri, [
|
||||||
|
'query' => [
|
||||||
|
'lang' => 'en',
|
||||||
|
'api_key' => '8105c628-a86c-41af-85da-828bcf8190e0'
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
//todo handle error
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $response->getBody()->getContents();
|
||||||
|
app('cache')->put($key, $result, $minutes);
|
||||||
|
return $result;
|
||||||
|
});
|
||||||
|
|
||||||
|
$result = $this->toAirportCollection($response);
|
||||||
|
if ($autoComplete != '') {
|
||||||
|
$result = $this->autoCompleteMap($result, $autoComplete);
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAirport($code)
|
||||||
|
{
|
||||||
|
$uri = '/api/v6/airports';
|
||||||
|
$cacheKey = 'airport.'.$code;
|
||||||
|
$cacheMinutes = 60;
|
||||||
|
|
||||||
|
$response = app('cache')->get($cacheKey, function () use ($cacheKey, $cacheMinutes, $uri, $code) {
|
||||||
|
try {
|
||||||
|
/** @var \Psr\Http\Message\ResponseInterface $response */
|
||||||
|
$response = $this->guzzle->get($uri, [
|
||||||
|
'query' => [
|
||||||
|
'code' => $code,
|
||||||
|
'lang' => 'en',
|
||||||
|
'api_key' => '8105c628-a86c-41af-85da-828bcf8190e0'
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
//todo handle error
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $response->getBody()->getContents();
|
||||||
|
app('cache')->put($cacheKey, $result, $cacheMinutes);
|
||||||
|
return $result;
|
||||||
|
});
|
||||||
|
|
||||||
|
return $result = $this->toAirportCollection($response)->first();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $json string
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
*/
|
||||||
|
private function toAirportCollection($json)
|
||||||
|
{
|
||||||
|
$data = json_decode($json);
|
||||||
|
$result = (new Collection($data->response))
|
||||||
|
->sortBy('name')
|
||||||
|
->map(function ($item, $key) {
|
||||||
|
return Airport::create($item->name, $item->code);
|
||||||
|
});
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function autoCompleteMap(Collection $collection, $autoComplete)
|
||||||
|
{
|
||||||
|
return $collection->filter(function ($value, $key) use ($autoComplete) {
|
||||||
|
return strpos(strtolower($value->name), strtolower($autoComplete)) !== false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,7 +25,7 @@ $app = new Laravel\Lumen\Application(
|
|||||||
|
|
||||||
// $app->withFacades();
|
// $app->withFacades();
|
||||||
|
|
||||||
// $app->withEloquent();
|
$app->withEloquent();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -81,6 +81,7 @@ $app->singleton(
|
|||||||
// $app->register(App\Providers\AppServiceProvider::class);
|
// $app->register(App\Providers\AppServiceProvider::class);
|
||||||
// $app->register(App\Providers\AuthServiceProvider::class);
|
// $app->register(App\Providers\AuthServiceProvider::class);
|
||||||
// $app->register(App\Providers\EventServiceProvider::class);
|
// $app->register(App\Providers\EventServiceProvider::class);
|
||||||
|
$app->register(Illuminate\Redis\RedisServiceProvider::class);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -97,4 +98,17 @@ $app->group(['namespace' => 'App\Http\Controllers'], function ($app) {
|
|||||||
require __DIR__.'/../routes/web.php';
|
require __DIR__.'/../routes/web.php';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// configure Monolog
|
||||||
|
$app->configureMonologUsing(function($monolog) {
|
||||||
|
/** @var \Monolog\Logger $monolog */
|
||||||
|
|
||||||
|
$minimumLevel = $monolog::NOTICE;
|
||||||
|
if (env('APP_DEBUG', false)) {
|
||||||
|
$minimumLevel = $monolog::DEBUG;
|
||||||
|
}
|
||||||
|
|
||||||
|
$monolog->pushHandler(new Monolog\Handler\ErrorLogHandler());
|
||||||
|
return $monolog;
|
||||||
|
});
|
||||||
|
|
||||||
return $app;
|
return $app;
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
"vlucas/phpdotenv": "~2.2",
|
"vlucas/phpdotenv": "~2.2",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1",
|
||||||
"guzzlehttp/guzzle": "^6.2",
|
"guzzlehttp/guzzle": "^6.2",
|
||||||
"league/fractal": "^0.16.0"
|
"league/fractal": "^0.16.0",
|
||||||
|
"illuminate/redis": "^5.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fzaninotto/faker": "~1.4",
|
"fzaninotto/faker": "~1.4",
|
||||||
|
|||||||
222
composer.lock
generated
222
composer.lock
generated
@@ -4,7 +4,8 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "0f6011855d8a65ac742796d6646cc6c6",
|
"hash": "ac293e9fc1d1422ccd44359d5d1203ff",
|
||||||
|
"content-hash": "fdfbddc774b8c050f0587d9df9418bb8",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "doctrine/inflector",
|
"name": "doctrine/inflector",
|
||||||
@@ -71,7 +72,7 @@
|
|||||||
"singularize",
|
"singularize",
|
||||||
"string"
|
"string"
|
||||||
],
|
],
|
||||||
"time": "2015-11-06T14:35:42+00:00"
|
"time": "2015-11-06 14:35:42"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/guzzle",
|
"name": "guzzlehttp/guzzle",
|
||||||
@@ -133,7 +134,7 @@
|
|||||||
"rest",
|
"rest",
|
||||||
"web service"
|
"web service"
|
||||||
],
|
],
|
||||||
"time": "2017-02-28T22:50:30+00:00"
|
"time": "2017-02-28 22:50:30"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/promises",
|
"name": "guzzlehttp/promises",
|
||||||
@@ -184,7 +185,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"promise"
|
"promise"
|
||||||
],
|
],
|
||||||
"time": "2016-12-20T10:07:11+00:00"
|
"time": "2016-12-20 10:07:11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/psr7",
|
"name": "guzzlehttp/psr7",
|
||||||
@@ -249,7 +250,7 @@
|
|||||||
"uri",
|
"uri",
|
||||||
"url"
|
"url"
|
||||||
],
|
],
|
||||||
"time": "2017-03-20T17:10:46+00:00"
|
"time": "2017-03-20 17:10:46"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/auth",
|
"name": "illuminate/auth",
|
||||||
@@ -300,7 +301,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Auth package.",
|
"description": "The Illuminate Auth package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-16T13:31:21+00:00"
|
"time": "2017-04-16 13:31:21"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/broadcasting",
|
"name": "illuminate/broadcasting",
|
||||||
@@ -349,7 +350,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Broadcasting package.",
|
"description": "The Illuminate Broadcasting package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-15T17:10:29+00:00"
|
"time": "2017-03-15 17:10:29"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/bus",
|
"name": "illuminate/bus",
|
||||||
@@ -394,7 +395,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Bus package.",
|
"description": "The Illuminate Bus package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-01-17T14:21:32+00:00"
|
"time": "2017-01-17 14:21:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/cache",
|
"name": "illuminate/cache",
|
||||||
@@ -444,7 +445,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Cache package.",
|
"description": "The Illuminate Cache package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-02-27T20:54:32+00:00"
|
"time": "2017-02-27 20:54:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/config",
|
"name": "illuminate/config",
|
||||||
@@ -488,7 +489,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Config package.",
|
"description": "The Illuminate Config package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-02-04T20:27:32+00:00"
|
"time": "2017-02-04 20:27:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/console",
|
"name": "illuminate/console",
|
||||||
@@ -539,7 +540,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Console package.",
|
"description": "The Illuminate Console package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-23T15:59:01+00:00"
|
"time": "2017-03-23 15:59:01"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/container",
|
"name": "illuminate/container",
|
||||||
@@ -582,7 +583,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Container package.",
|
"description": "The Illuminate Container package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-16T13:32:45+00:00"
|
"time": "2017-04-16 13:32:45"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/contracts",
|
"name": "illuminate/contracts",
|
||||||
@@ -624,7 +625,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Contracts package.",
|
"description": "The Illuminate Contracts package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-29T13:17:47+00:00"
|
"time": "2017-03-29 13:17:47"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/database",
|
"name": "illuminate/database",
|
||||||
@@ -684,7 +685,7 @@
|
|||||||
"orm",
|
"orm",
|
||||||
"sql"
|
"sql"
|
||||||
],
|
],
|
||||||
"time": "2017-04-11T22:53:18+00:00"
|
"time": "2017-04-11 22:53:18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/encryption",
|
"name": "illuminate/encryption",
|
||||||
@@ -731,7 +732,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Encryption package.",
|
"description": "The Illuminate Encryption package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2016-12-30T22:45:27+00:00"
|
"time": "2016-12-30 22:45:27"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/events",
|
"name": "illuminate/events",
|
||||||
@@ -776,7 +777,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Events package.",
|
"description": "The Illuminate Events package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-09T00:57:11+00:00"
|
"time": "2017-04-09 00:57:11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/filesystem",
|
"name": "illuminate/filesystem",
|
||||||
@@ -826,7 +827,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Filesystem package.",
|
"description": "The Illuminate Filesystem package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-07T19:38:05+00:00"
|
"time": "2017-04-07 19:38:05"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/hashing",
|
"name": "illuminate/hashing",
|
||||||
@@ -870,7 +871,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Hashing package.",
|
"description": "The Illuminate Hashing package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-08T23:05:14+00:00"
|
"time": "2017-03-08 23:05:14"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/http",
|
"name": "illuminate/http",
|
||||||
@@ -916,7 +917,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Http package.",
|
"description": "The Illuminate Http package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-15T14:15:59+00:00"
|
"time": "2017-03-15 14:15:59"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/pagination",
|
"name": "illuminate/pagination",
|
||||||
@@ -960,7 +961,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Pagination package.",
|
"description": "The Illuminate Pagination package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-28T13:05:02+00:00"
|
"time": "2017-03-28 13:05:02"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/pipeline",
|
"name": "illuminate/pipeline",
|
||||||
@@ -1004,7 +1005,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Pipeline package.",
|
"description": "The Illuminate Pipeline package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-01-17T14:21:32+00:00"
|
"time": "2017-01-17 14:21:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/queue",
|
"name": "illuminate/queue",
|
||||||
@@ -1059,7 +1060,52 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Queue package.",
|
"description": "The Illuminate Queue package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-12T19:11:35+00:00"
|
"time": "2017-04-12 19:11:35"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "illuminate/redis",
|
||||||
|
"version": "v5.4.19",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/illuminate/redis.git",
|
||||||
|
"reference": "28ece0b065b4b864a3ba66cc360f4c25911fc115"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/illuminate/redis/zipball/28ece0b065b4b864a3ba66cc360f4c25911fc115",
|
||||||
|
"reference": "28ece0b065b4b864a3ba66cc360f4c25911fc115",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"illuminate/contracts": "5.4.*",
|
||||||
|
"illuminate/support": "5.4.*",
|
||||||
|
"php": ">=5.6.4",
|
||||||
|
"predis/predis": "~1.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "5.4-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Illuminate\\Redis\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Taylor Otwell",
|
||||||
|
"email": "taylor@laravel.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "The Illuminate Redis package.",
|
||||||
|
"homepage": "https://laravel.com",
|
||||||
|
"time": "2017-04-04 22:41:06"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/session",
|
"name": "illuminate/session",
|
||||||
@@ -1110,7 +1156,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Session package.",
|
"description": "The Illuminate Session package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-03-30T14:26:45+00:00"
|
"time": "2017-03-30 14:26:45"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/support",
|
"name": "illuminate/support",
|
||||||
@@ -1167,7 +1213,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Support package.",
|
"description": "The Illuminate Support package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-09T14:34:57+00:00"
|
"time": "2017-04-09 14:34:57"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/translation",
|
"name": "illuminate/translation",
|
||||||
@@ -1212,7 +1258,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Translation package.",
|
"description": "The Illuminate Translation package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-07T13:49:47+00:00"
|
"time": "2017-04-07 13:49:47"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/validation",
|
"name": "illuminate/validation",
|
||||||
@@ -1262,7 +1308,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate Validation package.",
|
"description": "The Illuminate Validation package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-05T14:24:42+00:00"
|
"time": "2017-04-05 14:24:42"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/view",
|
"name": "illuminate/view",
|
||||||
@@ -1310,7 +1356,7 @@
|
|||||||
],
|
],
|
||||||
"description": "The Illuminate View package.",
|
"description": "The Illuminate View package.",
|
||||||
"homepage": "https://laravel.com",
|
"homepage": "https://laravel.com",
|
||||||
"time": "2017-04-09T14:27:27+00:00"
|
"time": "2017-04-09 14:27:27"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/lumen-framework",
|
"name": "laravel/lumen-framework",
|
||||||
@@ -1394,7 +1440,7 @@
|
|||||||
"laravel",
|
"laravel",
|
||||||
"lumen"
|
"lumen"
|
||||||
],
|
],
|
||||||
"time": "2017-04-03T21:20:22+00:00"
|
"time": "2017-04-03 21:20:22"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "league/fractal",
|
"name": "league/fractal",
|
||||||
@@ -1458,7 +1504,7 @@
|
|||||||
"league",
|
"league",
|
||||||
"rest"
|
"rest"
|
||||||
],
|
],
|
||||||
"time": "2017-03-12T01:28:43+00:00"
|
"time": "2017-03-12 01:28:43"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "monolog/monolog",
|
"name": "monolog/monolog",
|
||||||
@@ -1536,7 +1582,7 @@
|
|||||||
"logging",
|
"logging",
|
||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
"time": "2017-03-13T07:08:03+00:00"
|
"time": "2017-03-13 07:08:03"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mtdowling/cron-expression",
|
"name": "mtdowling/cron-expression",
|
||||||
@@ -1580,7 +1626,7 @@
|
|||||||
"cron",
|
"cron",
|
||||||
"schedule"
|
"schedule"
|
||||||
],
|
],
|
||||||
"time": "2017-01-23T04:29:33+00:00"
|
"time": "2017-01-23 04:29:33"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nesbot/carbon",
|
"name": "nesbot/carbon",
|
||||||
@@ -1633,7 +1679,7 @@
|
|||||||
"datetime",
|
"datetime",
|
||||||
"time"
|
"time"
|
||||||
],
|
],
|
||||||
"time": "2017-01-16T07:55:07+00:00"
|
"time": "2017-01-16 07:55:07"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/fast-route",
|
"name": "nikic/fast-route",
|
||||||
@@ -1676,7 +1722,7 @@
|
|||||||
"router",
|
"router",
|
||||||
"routing"
|
"routing"
|
||||||
],
|
],
|
||||||
"time": "2017-01-19T11:35:12+00:00"
|
"time": "2017-01-19 11:35:12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "paragonie/random_compat",
|
"name": "paragonie/random_compat",
|
||||||
@@ -1724,7 +1770,7 @@
|
|||||||
"pseudorandom",
|
"pseudorandom",
|
||||||
"random"
|
"random"
|
||||||
],
|
],
|
||||||
"time": "2017-03-13T16:27:32+00:00"
|
"time": "2017-03-13 16:27:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "predis/predis",
|
"name": "predis/predis",
|
||||||
@@ -1774,7 +1820,7 @@
|
|||||||
"predis",
|
"predis",
|
||||||
"redis"
|
"redis"
|
||||||
],
|
],
|
||||||
"time": "2016-06-16T16:22:20+00:00"
|
"time": "2016-06-16 16:22:20"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/http-message",
|
"name": "psr/http-message",
|
||||||
@@ -1824,7 +1870,7 @@
|
|||||||
"request",
|
"request",
|
||||||
"response"
|
"response"
|
||||||
],
|
],
|
||||||
"time": "2016-08-06T14:39:51+00:00"
|
"time": "2016-08-06 14:39:51"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/log",
|
"name": "psr/log",
|
||||||
@@ -1871,7 +1917,7 @@
|
|||||||
"psr",
|
"psr",
|
||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
"time": "2016-10-10T12:19:37+00:00"
|
"time": "2016-10-10 12:19:37"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
@@ -1934,7 +1980,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Console Component",
|
"description": "Symfony Console Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-26T01:39:17+00:00"
|
"time": "2017-04-26 01:39:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/debug",
|
"name": "symfony/debug",
|
||||||
@@ -1991,7 +2037,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Debug Component",
|
"description": "Symfony Debug Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-19T20:17:50+00:00"
|
"time": "2017-04-19 20:17:50"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
@@ -2051,7 +2097,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony EventDispatcher Component",
|
"description": "Symfony EventDispatcher Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-05-01T14:58:48+00:00"
|
"time": "2017-05-01 14:58:48"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
@@ -2100,7 +2146,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Finder Component",
|
"description": "Symfony Finder Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
@@ -2153,7 +2199,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony HttpFoundation Component",
|
"description": "Symfony HttpFoundation Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-05-01T14:55:58+00:00"
|
"time": "2017-05-01 14:55:58"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
@@ -2235,7 +2281,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony HttpKernel Component",
|
"description": "Symfony HttpKernel Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-05-01T17:46:48+00:00"
|
"time": "2017-05-01 17:46:48"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
@@ -2294,7 +2340,7 @@
|
|||||||
"portable",
|
"portable",
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"time": "2016-11-14T01:06:16+00:00"
|
"time": "2016-11-14 01:06:16"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/process",
|
"name": "symfony/process",
|
||||||
@@ -2343,7 +2389,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Process Component",
|
"description": "Symfony Process Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation",
|
"name": "symfony/translation",
|
||||||
@@ -2407,7 +2453,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Translation Component",
|
"description": "Symfony Translation Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vlucas/phpdotenv",
|
"name": "vlucas/phpdotenv",
|
||||||
@@ -2457,7 +2503,7 @@
|
|||||||
"env",
|
"env",
|
||||||
"environment"
|
"environment"
|
||||||
],
|
],
|
||||||
"time": "2016-09-01T10:05:43+00:00"
|
"time": "2016-09-01 10:05:43"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
@@ -2518,7 +2564,7 @@
|
|||||||
"gherkin",
|
"gherkin",
|
||||||
"parser"
|
"parser"
|
||||||
],
|
],
|
||||||
"time": "2016-10-30T11:50:56+00:00"
|
"time": "2016-10-30 11:50:56"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "codeception/codeception",
|
"name": "codeception/codeception",
|
||||||
@@ -2612,7 +2658,7 @@
|
|||||||
"functional testing",
|
"functional testing",
|
||||||
"unit testing"
|
"unit testing"
|
||||||
],
|
],
|
||||||
"time": "2017-05-11T21:07:05+00:00"
|
"time": "2017-05-11 21:07:05"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/instantiator",
|
"name": "doctrine/instantiator",
|
||||||
@@ -2666,7 +2712,7 @@
|
|||||||
"constructor",
|
"constructor",
|
||||||
"instantiate"
|
"instantiate"
|
||||||
],
|
],
|
||||||
"time": "2015-06-14T21:17:01+00:00"
|
"time": "2015-06-14 21:17:01"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "facebook/webdriver",
|
"name": "facebook/webdriver",
|
||||||
@@ -2718,7 +2764,7 @@
|
|||||||
"selenium",
|
"selenium",
|
||||||
"webdriver"
|
"webdriver"
|
||||||
],
|
],
|
||||||
"time": "2017-04-28T14:54:49+00:00"
|
"time": "2017-04-28 14:54:49"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fzaninotto/faker",
|
"name": "fzaninotto/faker",
|
||||||
@@ -2766,7 +2812,7 @@
|
|||||||
"faker",
|
"faker",
|
||||||
"fixtures"
|
"fixtures"
|
||||||
],
|
],
|
||||||
"time": "2016-04-29T12:21:54+00:00"
|
"time": "2016-04-29 12:21:54"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "hamcrest/hamcrest-php",
|
"name": "hamcrest/hamcrest-php",
|
||||||
@@ -2811,7 +2857,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"test"
|
"test"
|
||||||
],
|
],
|
||||||
"time": "2015-05-11T14:41:42+00:00"
|
"time": "2015-05-11 14:41:42"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mockery/mockery",
|
"name": "mockery/mockery",
|
||||||
@@ -2876,7 +2922,7 @@
|
|||||||
"test double",
|
"test double",
|
||||||
"testing"
|
"testing"
|
||||||
],
|
],
|
||||||
"time": "2017-02-28T12:52:32+00:00"
|
"time": "2017-02-28 12:52:32"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "myclabs/deep-copy",
|
"name": "myclabs/deep-copy",
|
||||||
@@ -2918,7 +2964,7 @@
|
|||||||
"object",
|
"object",
|
||||||
"object graph"
|
"object graph"
|
||||||
],
|
],
|
||||||
"time": "2017-04-12T18:52:22+00:00"
|
"time": "2017-04-12 18:52:22"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pdepend/pdepend",
|
"name": "pdepend/pdepend",
|
||||||
@@ -2958,7 +3004,7 @@
|
|||||||
"BSD-3-Clause"
|
"BSD-3-Clause"
|
||||||
],
|
],
|
||||||
"description": "Official version of pdepend to be handled with Composer",
|
"description": "Official version of pdepend to be handled with Composer",
|
||||||
"time": "2017-01-19T14:23:36+00:00"
|
"time": "2017-01-19 14:23:36"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpdocumentor/reflection-common",
|
"name": "phpdocumentor/reflection-common",
|
||||||
@@ -3012,7 +3058,7 @@
|
|||||||
"reflection",
|
"reflection",
|
||||||
"static analysis"
|
"static analysis"
|
||||||
],
|
],
|
||||||
"time": "2015-12-27T11:43:31+00:00"
|
"time": "2015-12-27 11:43:31"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpdocumentor/reflection-docblock",
|
"name": "phpdocumentor/reflection-docblock",
|
||||||
@@ -3057,7 +3103,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||||
"time": "2016-09-30T07:12:33+00:00"
|
"time": "2016-09-30 07:12:33"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpdocumentor/type-resolver",
|
"name": "phpdocumentor/type-resolver",
|
||||||
@@ -3104,7 +3150,7 @@
|
|||||||
"email": "me@mikevanriel.com"
|
"email": "me@mikevanriel.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2016-11-25T06:54:22+00:00"
|
"time": "2016-11-25 06:54:22"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpmd/phpmd",
|
"name": "phpmd/phpmd",
|
||||||
@@ -3170,7 +3216,7 @@
|
|||||||
"phpmd",
|
"phpmd",
|
||||||
"pmd"
|
"pmd"
|
||||||
],
|
],
|
||||||
"time": "2017-01-20T14:41:10+00:00"
|
"time": "2017-01-20 14:41:10"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpspec/prophecy",
|
"name": "phpspec/prophecy",
|
||||||
@@ -3233,7 +3279,7 @@
|
|||||||
"spy",
|
"spy",
|
||||||
"stub"
|
"stub"
|
||||||
],
|
],
|
||||||
"time": "2017-03-02T20:05:34+00:00"
|
"time": "2017-03-02 20:05:34"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
@@ -3296,7 +3342,7 @@
|
|||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
"time": "2017-04-02T07:44:40+00:00"
|
"time": "2017-04-02 07:44:40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-file-iterator",
|
"name": "phpunit/php-file-iterator",
|
||||||
@@ -3343,7 +3389,7 @@
|
|||||||
"filesystem",
|
"filesystem",
|
||||||
"iterator"
|
"iterator"
|
||||||
],
|
],
|
||||||
"time": "2016-10-03T07:40:28+00:00"
|
"time": "2016-10-03 07:40:28"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-text-template",
|
"name": "phpunit/php-text-template",
|
||||||
@@ -3384,7 +3430,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"template"
|
"template"
|
||||||
],
|
],
|
||||||
"time": "2015-06-21T13:50:34+00:00"
|
"time": "2015-06-21 13:50:34"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-timer",
|
"name": "phpunit/php-timer",
|
||||||
@@ -3433,7 +3479,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"timer"
|
"timer"
|
||||||
],
|
],
|
||||||
"time": "2017-02-26T11:10:40+00:00"
|
"time": "2017-02-26 11:10:40"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-token-stream",
|
"name": "phpunit/php-token-stream",
|
||||||
@@ -3482,7 +3528,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"tokenizer"
|
"tokenizer"
|
||||||
],
|
],
|
||||||
"time": "2017-02-27T10:12:30+00:00"
|
"time": "2017-02-27 10:12:30"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit",
|
"name": "phpunit/phpunit",
|
||||||
@@ -3564,7 +3610,7 @@
|
|||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
"time": "2017-04-03T02:22:27+00:00"
|
"time": "2017-04-03 02:22:27"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit-mock-objects",
|
"name": "phpunit/phpunit-mock-objects",
|
||||||
@@ -3623,7 +3669,7 @@
|
|||||||
"mock",
|
"mock",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
"time": "2016-12-08T20:27:08+00:00"
|
"time": "2016-12-08 20:27:08"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/code-unit-reverse-lookup",
|
"name": "sebastian/code-unit-reverse-lookup",
|
||||||
@@ -3668,7 +3714,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Looks up which function or method a line of code belongs to",
|
"description": "Looks up which function or method a line of code belongs to",
|
||||||
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
||||||
"time": "2017-03-04T06:30:41+00:00"
|
"time": "2017-03-04 06:30:41"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/comparator",
|
"name": "sebastian/comparator",
|
||||||
@@ -3732,7 +3778,7 @@
|
|||||||
"compare",
|
"compare",
|
||||||
"equality"
|
"equality"
|
||||||
],
|
],
|
||||||
"time": "2017-01-29T09:50:25+00:00"
|
"time": "2017-01-29 09:50:25"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/diff",
|
"name": "sebastian/diff",
|
||||||
@@ -3784,7 +3830,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"diff"
|
"diff"
|
||||||
],
|
],
|
||||||
"time": "2015-12-08T07:14:41+00:00"
|
"time": "2015-12-08 07:14:41"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/environment",
|
"name": "sebastian/environment",
|
||||||
@@ -3834,7 +3880,7 @@
|
|||||||
"environment",
|
"environment",
|
||||||
"hhvm"
|
"hhvm"
|
||||||
],
|
],
|
||||||
"time": "2016-11-26T07:53:53+00:00"
|
"time": "2016-11-26 07:53:53"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/exporter",
|
"name": "sebastian/exporter",
|
||||||
@@ -3901,7 +3947,7 @@
|
|||||||
"export",
|
"export",
|
||||||
"exporter"
|
"exporter"
|
||||||
],
|
],
|
||||||
"time": "2016-11-19T08:54:04+00:00"
|
"time": "2016-11-19 08:54:04"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/global-state",
|
"name": "sebastian/global-state",
|
||||||
@@ -3952,7 +3998,7 @@
|
|||||||
"keywords": [
|
"keywords": [
|
||||||
"global state"
|
"global state"
|
||||||
],
|
],
|
||||||
"time": "2015-10-12T03:26:01+00:00"
|
"time": "2015-10-12 03:26:01"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/object-enumerator",
|
"name": "sebastian/object-enumerator",
|
||||||
@@ -3998,7 +4044,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
||||||
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
||||||
"time": "2017-02-18T15:18:39+00:00"
|
"time": "2017-02-18 15:18:39"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/recursion-context",
|
"name": "sebastian/recursion-context",
|
||||||
@@ -4051,7 +4097,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Provides functionality to recursively process PHP variables",
|
"description": "Provides functionality to recursively process PHP variables",
|
||||||
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
||||||
"time": "2016-11-19T07:33:16+00:00"
|
"time": "2016-11-19 07:33:16"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/resource-operations",
|
"name": "sebastian/resource-operations",
|
||||||
@@ -4093,7 +4139,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Provides a list of PHP built-in functions that operate on resources",
|
"description": "Provides a list of PHP built-in functions that operate on resources",
|
||||||
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
||||||
"time": "2015-07-28T20:34:47+00:00"
|
"time": "2015-07-28 20:34:47"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/version",
|
"name": "sebastian/version",
|
||||||
@@ -4136,7 +4182,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
||||||
"homepage": "https://github.com/sebastianbergmann/version",
|
"homepage": "https://github.com/sebastianbergmann/version",
|
||||||
"time": "2016-10-03T07:35:21+00:00"
|
"time": "2016-10-03 07:35:21"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "squizlabs/php_codesniffer",
|
"name": "squizlabs/php_codesniffer",
|
||||||
@@ -4187,7 +4233,7 @@
|
|||||||
"phpcs",
|
"phpcs",
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"time": "2017-05-04T00:33:04+00:00"
|
"time": "2017-05-04 00:33:04"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stecman/symfony-console-completion",
|
"name": "stecman/symfony-console-completion",
|
||||||
@@ -4232,7 +4278,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Automatic BASH completion for Symfony Console Component based applications.",
|
"description": "Automatic BASH completion for Symfony Console Component based applications.",
|
||||||
"time": "2016-02-24T05:08:54+00:00"
|
"time": "2016-02-24 05:08:54"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/browser-kit",
|
"name": "symfony/browser-kit",
|
||||||
@@ -4289,7 +4335,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony BrowserKit Component",
|
"description": "Symfony BrowserKit Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/config",
|
||||||
@@ -4345,7 +4391,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Config Component",
|
"description": "Symfony Config Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/css-selector",
|
"name": "symfony/css-selector",
|
||||||
@@ -4398,7 +4444,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony CssSelector Component",
|
"description": "Symfony CssSelector Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-05-01T14:55:58+00:00"
|
"time": "2017-05-01 14:55:58"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dependency-injection",
|
"name": "symfony/dependency-injection",
|
||||||
@@ -4461,7 +4507,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony DependencyInjection Component",
|
"description": "Symfony DependencyInjection Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-26T01:39:17+00:00"
|
"time": "2017-04-26 01:39:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dom-crawler",
|
"name": "symfony/dom-crawler",
|
||||||
@@ -4517,7 +4563,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony DomCrawler Component",
|
"description": "Symfony DomCrawler Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/filesystem",
|
||||||
@@ -4566,7 +4612,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Filesystem Component",
|
"description": "Symfony Filesystem Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-04-12T14:13:17+00:00"
|
"time": "2017-04-12 14:13:17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
@@ -4621,7 +4667,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Yaml Component",
|
"description": "Symfony Yaml Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2017-05-01T14:55:58+00:00"
|
"time": "2017-05-01 14:55:58"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "webmozart/assert",
|
"name": "webmozart/assert",
|
||||||
@@ -4671,7 +4717,7 @@
|
|||||||
"check",
|
"check",
|
||||||
"validate"
|
"validate"
|
||||||
],
|
],
|
||||||
"time": "2016-11-23T20:04:58+00:00"
|
"time": "2016-11-23 20:04:58"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./docker/Dockerfile
|
dockerfile: ./docker/Dockerfile
|
||||||
image: oauth:latest
|
image: tripbuilder:latest
|
||||||
ports:
|
ports:
|
||||||
- "9024:22"
|
- "9024:22"
|
||||||
volumes:
|
volumes:
|
||||||
@@ -19,7 +19,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./docker/Dockerfile-nginx
|
dockerfile: ./docker/Dockerfile-nginx
|
||||||
image: oauth:nginx
|
image: tripbuilder:nginx
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
- "9025:22"
|
- "9025:22"
|
||||||
@@ -44,3 +44,11 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
|
composer:
|
||||||
|
image: composer/composer:alpine
|
||||||
|
volumes:
|
||||||
|
- .:/app
|
||||||
|
- ~/.ssh:/root/.ssh
|
||||||
|
entrypoint:
|
||||||
|
- composer
|
||||||
|
- install
|
||||||
|
|||||||
@@ -15,11 +15,17 @@ COPY ./docker/docker-entrypoint.sh /docker-entrypoint.sh
|
|||||||
ENTRYPOINT /docker-entrypoint.sh
|
ENTRYPOINT /docker-entrypoint.sh
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
curl nano sed libwww-perl htop \
|
curl nano sed libwww-perl htop ca-certificates \
|
||||||
php7.0 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
|
php7.0 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
|
||||||
php-pgsql php-redis \
|
php-pgsql php-redis \
|
||||||
php-xdebug \
|
php-xdebug \
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
|
||||||
|
&& echo "xdebug.remote_enable=on" >> /etc/php/7.0/mods-available/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_autostart=on" >> /etc/php/7.0/mods-available/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_port = 9001" >> /etc/php/7.0/mods-available/xdebug.ini \
|
||||||
|
&& echo "xdebug.max_nesting_level=300" >> /etc/php/7.0/mods-available/xdebug.ini \
|
||||||
|
&& echo "xdebug.remote_connect_back=1" >> /etc/php/7.0/mods-available/xdebug.ini
|
||||||
|
|
||||||
COPY ./ /var/www/
|
COPY ./ /var/www/
|
||||||
COPY ./docker/docker-php-fpm.conf /etc/php/7.0/fpm/pool.d/www.conf
|
COPY ./docker/docker-php-fpm.conf /etc/php/7.0/fpm/pool.d/www.conf
|
||||||
|
|
||||||
|
|||||||
@@ -14,3 +14,6 @@
|
|||||||
$app->get('/', function () use ($app) {
|
$app->get('/', function () use ($app) {
|
||||||
return $app->version();
|
return $app->version();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$app->get('/airports', 'AirportController@resourceList');
|
||||||
|
$app->get('/airports/{code}', 'AirportController@getAirport');
|
||||||
|
|||||||
Reference in New Issue
Block a user