Commit c07bf5ee authored by Viral Solani's avatar Viral Solani

API Authentication with JWT

parent 07ff00a8
<?php
namespace App\Http\Controllers\API\V1;
use App\Http\Controllers\Controller;
use Illuminate\Http\Response as IlluminateResponse;
use Response;
/**
* Base API Controller.
*/
class APIController extends Controller
{
/**
* default status code.
*
* @var int
*/
protected $statusCode = 200;
/**
* get the status code.
*
* @return statuscode
*/
public function getStatusCode()
{
return $this->statusCode;
}
/**
* set the status code.
*
* @param [type] $statusCode [description]
*
* @return mix
*/
public function setStatusCode($statusCode)
{
$this->statusCode = $statusCode;
return $this;
}
/**
* responsd not found.
*
* @param string $message
*
* @return mix
*/
public function respondNotFound($message = 'Not Found')
{
return $this->setStatusCode(IlluminateResponse::HTTP_NOT_FOUND)->respondWithError($message);
}
/**
* Respond with error.
*
* @param string $message
*
* @return mix
*/
public function respondInternalError($message = 'Internal Error')
{
return $this->setStatusCode('500')->respondWithError($message);
}
/**
* Respond.
*
* @param array $data
* @param array $headers
*
* @return mix
*/
public function respond($data, $headers = [])
{
return response()->json($data, $this->getStatusCode(), $headers);
}
/**
* respond with pagincation.
*
* @param Paginator $items
* @param array $data
*
* @return mix
*/
public function respondWithPagination($items, $data)
{
$data = array_merge($data, [
'paginator' => [
'total_count' => $items->total(),
'total_pages' => ceil($items->total() / $items->perPage()),
'current_page' => $items->currentPage(),
'limit' => $items->perPage(),
],
]);
return $this->respond($data);
}
/**
* respond with error.
*
* @param $message
*
* @return mix
*/
public function respondWithError($message)
{
return $this->respond([
'error' => [
'message' => $message,
'status_code' => $this->getStatusCode(),
],
]);
}
/**
* Respond Created.
*
* @param string $message
*
* @return mix
*/
public function respondCreated($message)
{
return $this->setStatusCode(201)->respond([
'message' => $message,
]);
}
/**
* Throw Validation.
*
* @param string $message
*
* @return mix
*/
public function throwValidation($message)
{
return $this->setStatusCode(422)
->respondWithError($message);
}
}
<?php
namespace App\Http\Controllers\Api\V1;
use JWTAuth;
use Validator;
use Illuminate\Http\Request;
use App\Models\Access\User\User;
use App\Notifications\Activated;
use App\Notifications\Activation;
use App\Notifications\PasswordReset;
use App\Notifications\PasswordResetted;
use Tymon\JWTAuth\Exceptions\JWTException;
/**
* AuthController.
*/
class AuthController extends APIController
{
/**
* Authenticate User
*
* @param Request $request
* @return {mix}
*/
public function authenticate(Request $request)
{
$credentials = $request->only('email', 'password');
try {
if (!$token = JWTAuth::attempt($credentials)) {
return $this->throwValidation('Invalid Credentials! Please try again.');
}
} catch (JWTException $e) {
return $this->respondInternalError('This is something wrong. Please try again!');
}
$user = User::whereEmail(request('email'))->first();
if ($user->status != 1) {
return $this->throwValidation('Your account hasn\'t been activated. Please check your email & activate account.');
}
return response()->json(['message' => 'You are successfully logged in!', 'token' => $token]);
}
public function check()
{
try {
JWTAuth::parseToken()->authenticate();
} catch (JWTException $e) {
return response(['authenticated' => false]);
}
return response(['authenticated' => true]);
}
public function logout()
{
try {
$token = JWTAuth::getToken();
if ($token) {
JWTAuth::invalidate($token);
}
} catch (JWTException $e) {
return response()->json($e->getMessage(), 500);
}
return response()->json(['message' => 'You are successfully logged out!']);
}
public function register(Request $request)
{
$validation = Validator::make($request->all(), [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
'password_confirmation' => 'required|same:password',
]);
if ($validation->fails()) {
return response()->json(['message' => $validation->messages()->first()], 422);
}
$user = User::create([
'email' => request('email'),
'status' => 'pending_activation',
'password' => bcrypt(request('password')),
]);
$user->activation_token = generateUuid();
$user->save();
/* $profile = new Profile();
$profile->first_name = request('first_name');
$profile->last_name = request('last_name');
$user->profile()->save($profile);*/
$user->notify(new Activation($user));
return response()->json(['message' => 'You have registered successfully. Please check your email for activation!']);
}
public function activate($activation_token)
{
$user = User::whereActivationToken($activation_token)->first();
if (!$user) {
return response()->json(['message' => 'Invalid activation token!'], 422);
}
if ($user->status == 'activated') {
return response()->json(['message' => 'Your account has already been activated!'], 422);
}
if ($user->status != 'pending_activation') {
return response()->json(['message' => 'Invalid activation token!'], 422);
}
$user->status = 'activated';
$user->save();
$user->notify(new Activated($user));
return response()->json(['message' => 'Your account has been activated!']);
}
public function password(Request $request)
{
$validation = Validator::make($request->all(), [
'email' => 'required|email',
]);
if ($validation->fails()) {
return response()->json(['message' => $validation->messages()->first()], 422);
}
$user = User::whereEmail(request('email'))->first();
if (!$user) {
return response()->json(['message' => 'We couldn\'t found any user with this email. Please try again!'], 422);
}
$token = generateUuid();
\DB::table('password_resets')->insert([
'email' => request('email'),
'token' => $token,
]);
$user->notify(new PasswordReset($user, $token));
return response()->json(['message' => 'We have sent reminder email. Please check your inbox!']);
}
public function validatePasswordReset(Request $request)
{
$validate_password_request = \DB::table('password_resets')->where('token', '=', request('token'))->first();
if (!$validate_password_request) {
return response()->json(['message' => 'Invalid password reset token!'], 422);
}
if (date('Y-m-d H:i:s', strtotime($validate_password_request->created_at.'+30 minutes')) < date('Y-m-d H:i:s')) {
return response()->json(['message' => 'Password reset token is expired. Please request reset password again!'], 422);
}
return response()->json(['message' => '']);
}
public function reset(Request $request)
{
$validation = Validator::make($request->all(), [
'email' => 'required|email',
'password' => 'required|min:6',
'password_confirmation' => 'required|same:password',
]);
if ($validation->fails()) {
return response()->json(['message' => $validation->messages()->first()], 422);
}
$user = User::whereEmail(request('email'))->first();
if (!$user) {
return response()->json(['message' => 'We couldn\'t found any user with this email. Please try again!'], 422);
}
$validate_password_request = \DB::table('password_resets')->where('email', '=', request('email'))->where('token', '=', request('token'))->first();
if (!$validate_password_request) {
return response()->json(['message' => 'Invalid password reset token!'], 422);
}
if (date('Y-m-d H:i:s', strtotime($validate_password_request->created_at.'+30 minutes')) < date('Y-m-d H:i:s')) {
return response()->json(['message' => 'Password reset token is expired. Please request reset password again!'], 422);
}
$user->password = bcrypt(request('password'));
$user->save();
$user->notify(new PasswordResetted($user));
return response()->json(['message' => 'Your password has been reset. Please login again!']);
}
public function changePassword(Request $request)
{
if (env('IS_DEMO')) {
return response()->json(['message' => 'You are not allowed to perform this action in this mode.'], 422);
}
$validation = Validator::make($request->all(), [
'current_password' => 'required',
'new_password' => 'required|confirmed|different:current_password|min:6',
'new_password_confirmation' => 'required|same:new_password',
]);
if ($validation->fails()) {
return response()->json(['message' => $validation->messages()->first()], 422);
}
$user = JWTAuth::parseToken()->authenticate();
if (!\Hash::check(request('current_password'), $user->password)) {
return response()->json(['message' => 'Old password does not match! Please try again!'], 422);
}
$user->password = bcrypt(request('new_password'));
$user->save();
return response()->json(['message' => 'Your password has been changed successfully!']);
}
}
<?php
namespace App\Api\V1\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\Api\CmsPage\CmsPageRepository;
class CmsPageController extends Controller
{
public function __construct(CmsPageRepository $cmsgpage)
{
$this->cmsgpage = $cmsgpage;
}
public function showCmsPage($page_slug)
{
$result = $this->cmsgpage->findBySlug($page_slug);
return response()
->json([
'status' => 'ok',
'data' => $result,
]);
}
}
<?php
namespace App\Api\V1\Controllers;
use App\Api\V1\Requests\ForgotPasswordRequest;
use App\Http\Controllers\Controller;
use App\Mail\ForgotPasswordMail;
use App\Repositories\Api\User\PasswordResetRepository;
use App\Repositories\Api\User\UserRepository;
use Carbon\Carbon;
use Illuminate\Support\Facades\Password;
use Symfony\Component\HttpKernel\Exception\HttpException;
/**
* Class ForgotPasswordController.
*/
class ForgotPasswordController extends Controller
{
/**
* @var UserRepository
*/
protected $user;
/**
* ForgotPasswordController constructor.
*
* @param UserRepository $user
*/
public function __construct(UserRepository $user, PasswordResetRepository $passwordreset)
{
$this->user = $user;
$this->passwordreset = $passwordreset;
}
/**
* Recovery password api.
*/
public function forgotpassword(ForgotPasswordRequest $request)
{
$check_user = $this->user->checkUser($request->get('email'));
if (!(empty($check_user))) {
$otp = $this->user->generateOTP();
$attributes = [
'email' => $request->get('email'),
'token' => $otp,
'created_at' => Carbon::now(),
];
$check_reset = $this->passwordreset->getByEmail($request->get('email'));
if (empty($check_reset)) {
$token = $this->passwordreset->create($attributes);
} else {
$token = $this->passwordreset->update($attributes);
}
$forgot_mail = \Mail::to($request->get('email'))->send(new ForgotPasswordMail($otp));
return response()->json([
'status' => 'ok',
'data' => ['token' => $otp],
], 200);
}
throw new HttpException(500, trans('validation.api.forgotpassword.email_not_valid'));
}
}
<?php
namespace App\Api\V1\Controllers;
use App\Api\V1\Requests\LoginRequest;
use App\http\Controllers\Controller;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\JWTAuth;
/**
* Class LoginController.
*/
class LoginController extends Controller
{
/*
* Login api for user
*/
public function login(LoginRequest $request, JWTAuth $JWTAuth)
{
$credentials = [
'email' => $request->email,
'password' => $request->password,
];
try {
/**
* check credentials valid or not.
*/
$token = $JWTAuth->attempt($credentials);
if (!$token) {
throw new AccessDeniedHttpException(trans('validation.api.login.username_password_didnt_match'));
}
} catch (JWTException $e) {
throw new HttpException(500);
}
return response()
->json([
'status' => 'ok',
'token' => $token,
]);
}
}
<?php
namespace App\Api\V1\Controllers;
use App\Api\V1\Requests\ConfirmAccountRequest;
use App\Api\V1\Requests\RegisterRequest;
use App\Http\Controllers\Controller;
use App\Repositories\Api\User\UserRepository;
use Symfony\Component\HttpKernel\Exception\HttpException;
/**
* Class RegisterController.
*/
class RegisterController extends Controller
{
/**
* @var UserRepository
*/
protected $user;
/**
* RegisterController constructor.
*
* @param UserRepository $user
*/
public function __construct(UserRepository $user)
{
$this->user = $user;
}
/*
* Register api.
*/
public function Register(RegisterRequest $request)
{
$user = $this->user->create($request->all());
return response()
->json([
'status' => 'ok',
]);
}
/*
* Confirm account api
*/
public function confirmAccount(ConfirmAccountRequest $request)
{
$user = $this->user->checkUser($request->get('email'));
if (!(empty($user))) {
if ($user[0]['confirmation_code'] != '') {
if (md5($request->get('otp')) == $user[0]['confirmation_code']) {
$checkconfirmation = $this->user->checkconfirmation($request->get('email'));
if ($checkconfirmation[0]['confirmed'] == 0) {
$confirmuser = $this->user->confirmUser($request->get('email'));
} else {
throw new HttpException(500, trans('validation.api.confirmaccount.already_confirmed'));
}
} else {
throw new HttpException(500, trans('validation.api.confirmaccount.invalid_otp'));
}
}
} else {
throw new HttpException(500, trans('validation.api.confirmaccount.invalid_email'));
}
return response()
->json([
'status' => 'ok',
]);
}
}
<?php
namespace App\Api\V1\Controllers;
use App\Api\V1\Requests\ResetPasswordRequest;
use App\Http\Controllers\Controller;
use App\Repositories\Api\User\PasswordResetRepository;
use App\Repositories\Api\User\UserRepository;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Symfony\Component\HttpKernel\Exception\HttpException;
/**
* Class ResetPasswordController.
*/
class ResetPasswordController extends Controller
{
/**
* @var UserRepository
*/
protected $user;
/**
* ResetPasswordController constructor.
*
* @param UserRepository $user
*/
public function __construct(UserRepository $user, PasswordResetRepository $passwordreset)
{
$this->user = $user;
$this->passwordreset = $passwordreset;
}
/**
* Resetpassword api.
*/
public function resetpassword(ResetPasswordRequest $request)
{
$check_user = $this->user->checkUser($request->get('email'));
if (!(empty($check_user))) {
$response = $this->passwordreset->checkUser($this->credentials($request));
if (!(empty($response))) {
$resetpassword = $this->user->resetpassword($this->credentials($request));
$remove_token = $this->passwordreset->delete($this->credentials($request));
return response()
->json([
'status' => 'ok',
]);
}
throw new HttpException(500, trans('validation.api.resetpassword.token_not_valid'));
}
throw new HttpException(500, trans('validation.api.resetpassword.email_not_valid'));
}
/**
* Get the password reset credentials from the request.
*
* @param ResetPasswordRequest $request
*
* @return array
*/
protected function credentials(ResetPasswordRequest $request)
{
return $request->all(
'email', 'password', 'password_confirmation', 'token'
);
}
}
<?php
namespace App\Api\V1\Controllers;
use App\http\Controllers\Controller;
use App\Repositories\Api\User\UserRepository;
use Dingo\Api\Routing\Helpers;
use Illuminate\Http\Request;
use JWTAuth;
/**
* Class UserDetailController.
*/
class UserDetailController extends Controller
{
use Helpers;
/**
* @var UserRepository
*/
protected $user;
/**
* ResetPasswordController constructor.
*
* @param UserRepository $user
*/
public function __construct(UserRepository $user)
{
$this->user = $user;
}
/*
* User details api
*/
public function userDetails(Request $request)
{
$currentUser = JWTAuth::parseToken()->authenticate();
$user = $this->user->getById($currentUser->id);
return response()
->json([
'status' => 'ok',
'data' => $user,
]);
}
}
...@@ -73,6 +73,8 @@ class Kernel extends HttpKernel ...@@ -73,6 +73,8 @@ class Kernel extends HttpKernel
*/ */
'access.routeNeedsRole' => \App\Http\Middleware\RouteNeedsRole::class, 'access.routeNeedsRole' => \App\Http\Middleware\RouteNeedsRole::class,
'access.routeNeedsPermission' => \App\Http\Middleware\RouteNeedsPermission::class, 'access.routeNeedsPermission' => \App\Http\Middleware\RouteNeedsPermission::class,
'jwt.auth' => \App\Http\Middleware\VerifyJWTToken::class, #'jwt.auth' => \App\Http\Middleware\VerifyJWTToken::class,
'jwt.auth' => \Tymon\JWTAuth\Middleware\GetUserFromToken::class,
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class,
]; ];
} }
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class Activated extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
protected $user;
public function __construct($user)
{
$this->user = $user;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$url = url('/');
return (new MailMessage())
->greeting('Hello!')
->line('Your account has been activated.')
->line('Click on the below link to go to our application!')
->action('Proceed', $url)
->line('Thank you for using our application!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
*
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class Activation extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
protected $user;
public function __construct($user)
{
$this->user = $user;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$url = url('/auth/'.$this->user->activation_token.'/activate');
return (new MailMessage())
->greeting('Hello!')
->line('Thank you for registering an account with us.')
->line('Click on the below link to verify your email!')
->action('Verify now!', $url)
->line('Thank you for using our application!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
*
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class PasswordReset extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
protected $user;
protected $token;
public function __construct($user, $token)
{
$this->user = $user;
$this->token = $token;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$url = url('/password/reset/'.$this->token);
return (new MailMessage())
->greeting('Hello!')
->line('We have recevied password reset request from you!')
->line('Click on the below link to reset your password.')
->action('Reset Password', $url)
->line('If you haven\'t requested for password reset, please ignore this email.')
->line('Thank you!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
*
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class PasswordResetted extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
protected $user;
public function __construct($user)
{
$this->user = $user;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$url = url('/');
return (new MailMessage())
->greeting('Hello!')
->line('Your password has been reset successfully!')
->line('Click on the below link to continue login.')
->action('Login', $url)
->line('If you haven\'t changed your password, please contact administrator.')
->line('Thank you!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
*
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
...@@ -4,20 +4,20 @@ ...@@ -4,20 +4,20 @@
"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": "f0db0856ef828bbe877e49a03cca1cd4", "content-hash": "6ddd07d8806b3ceefd05d8193db4ffaf",
"packages": [ "packages": [
{ {
"name": "arcanedev/log-viewer", "name": "arcanedev/log-viewer",
"version": "4.4.0", "version": "4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ARCANEDEV/LogViewer.git", "url": "https://github.com/ARCANEDEV/LogViewer.git",
"reference": "5aacb3db635db4225efad9acba65c76fe40f73da" "reference": "b14e2de1dfe84db80fbc9eb4b12ce05b85a09472"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/5aacb3db635db4225efad9acba65c76fe40f73da", "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/b14e2de1dfe84db80fbc9eb4b12ce05b85a09472",
"reference": "5aacb3db635db4225efad9acba65c76fe40f73da", "reference": "b14e2de1dfe84db80fbc9eb4b12ce05b85a09472",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
"psr/log": "~1.0" "psr/log": "~1.0"
}, },
"require-dev": { "require-dev": {
"orchestra/testbench": "~3.5.0",
"phpunit/phpcov": "~4.0", "phpunit/phpcov": "~4.0",
"phpunit/phpunit": "~6.0" "phpunit/phpunit": "~6.0"
}, },
...@@ -69,7 +70,7 @@ ...@@ -69,7 +70,7 @@
"log-viewer", "log-viewer",
"logviewer" "logviewer"
], ],
"time": "2017-08-31T16:18:24+00:00" "time": "2017-10-28T10:32:04+00:00"
}, },
{ {
"name": "arcanedev/no-captcha", "name": "arcanedev/no-captcha",
...@@ -330,21 +331,21 @@ ...@@ -330,21 +331,21 @@
}, },
{ {
"name": "doctrine/annotations", "name": "doctrine/annotations",
"version": "v1.4.0", "version": "v1.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/annotations.git", "url": "https://github.com/doctrine/annotations.git",
"reference": "54cacc9b81758b14e3ce750f205a393d52339e97" "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97", "url": "https://api.github.com/repos/doctrine/annotations/zipball/5beebb01b025c94e93686b7a0ed3edae81fe3e7f",
"reference": "54cacc9b81758b14e3ce750f205a393d52339e97", "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/lexer": "1.*", "doctrine/lexer": "1.*",
"php": "^5.6 || ^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"doctrine/cache": "1.*", "doctrine/cache": "1.*",
...@@ -353,7 +354,7 @@ ...@@ -353,7 +354,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.4.x-dev" "dev-master": "1.5.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -394,37 +395,41 @@ ...@@ -394,37 +395,41 @@
"docblock", "docblock",
"parser" "parser"
], ],
"time": "2017-02-24T16:22:25+00:00" "time": "2017-07-22T10:58:02+00:00"
}, },
{ {
"name": "doctrine/cache", "name": "doctrine/cache",
"version": "v1.6.2", "version": "v1.7.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/cache.git", "url": "https://github.com/doctrine/cache.git",
"reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b" "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b", "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b", "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "~5.5|~7.0" "php": "~7.1"
}, },
"conflict": { "conflict": {
"doctrine/common": ">2.2,<2.4" "doctrine/common": ">2.2,<2.4"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.8|~5.0", "alcaeus/mongo-php-adapter": "^1.1",
"predis/predis": "~1.0", "mongodb/mongodb": "^1.1",
"satooshi/php-coveralls": "~0.6" "phpunit/phpunit": "^5.7",
"predis/predis": "~1.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.6.x-dev" "dev-master": "1.7.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -464,24 +469,24 @@ ...@@ -464,24 +469,24 @@
"cache", "cache",
"caching" "caching"
], ],
"time": "2017-07-22T12:49:21+00:00" "time": "2017-08-25T07:02:50+00:00"
}, },
{ {
"name": "doctrine/collections", "name": "doctrine/collections",
"version": "v1.4.0", "version": "v1.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/collections.git", "url": "https://github.com/doctrine/collections.git",
"reference": "1a4fb7e902202c33cce8c55989b945612943c2ba" "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba", "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
"reference": "1a4fb7e902202c33cce8c55989b945612943c2ba", "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.6 || ^7.0" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "~0.1@dev", "doctrine/coding-standard": "~0.1@dev",
...@@ -531,20 +536,20 @@ ...@@ -531,20 +536,20 @@
"collections", "collections",
"iterator" "iterator"
], ],
"time": "2017-01-03T10:49:41+00:00" "time": "2017-07-22T10:37:32+00:00"
}, },
{ {
"name": "doctrine/common", "name": "doctrine/common",
"version": "v2.7.3", "version": "v2.8.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/common.git", "url": "https://github.com/doctrine/common.git",
"reference": "4acb8f89626baafede6ee5475bc5844096eba8a9" "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9", "url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66",
"reference": "4acb8f89626baafede6ee5475bc5844096eba8a9", "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -553,15 +558,15 @@ ...@@ -553,15 +558,15 @@
"doctrine/collections": "1.*", "doctrine/collections": "1.*",
"doctrine/inflector": "1.*", "doctrine/inflector": "1.*",
"doctrine/lexer": "1.*", "doctrine/lexer": "1.*",
"php": "~5.6|~7.0" "php": "~7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^5.4.6" "phpunit/phpunit": "^5.7"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.7.x-dev" "dev-master": "2.8.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -604,28 +609,30 @@ ...@@ -604,28 +609,30 @@
"persistence", "persistence",
"spl" "spl"
], ],
"time": "2017-07-22T08:35:12+00:00" "time": "2017-08-31T08:43:38+00:00"
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "v2.5.13", "version": "v2.6.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "729340d8d1eec8f01bff708e12e449a3415af873" "reference": "1a4ee83a5a709555f2c6f9057a3aacf892451c7e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873", "url": "https://api.github.com/repos/doctrine/dbal/zipball/1a4ee83a5a709555f2c6f9057a3aacf892451c7e",
"reference": "729340d8d1eec8f01bff708e12e449a3415af873", "reference": "1a4ee83a5a709555f2c6f9057a3aacf892451c7e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/common": ">=2.4,<2.8-dev", "doctrine/common": "^2.7.1",
"php": ">=5.3.2" "ext-pdo": "*",
"php": "^7.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "4.*", "phpunit/phpunit": "^5.4.6",
"phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5",
"symfony/console": "2.*||^3.0" "symfony/console": "2.*||^3.0"
}, },
"suggest": { "suggest": {
...@@ -637,7 +644,7 @@ ...@@ -637,7 +644,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.5.x-dev" "dev-master": "2.6.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -675,7 +682,7 @@ ...@@ -675,7 +682,7 @@
"persistence", "persistence",
"queryobject" "queryobject"
], ],
"time": "2017-07-22T20:44:48+00:00" "time": "2017-08-28T11:02:56+00:00"
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
...@@ -1287,16 +1294,16 @@ ...@@ -1287,16 +1294,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v5.5.14", "version": "v5.5.20",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "26c700eb79e5bb55b59df2c495c9c71f16f43302" "reference": "ce0019d22a83b1b240330ea4115ae27a4d75d79c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/26c700eb79e5bb55b59df2c495c9c71f16f43302", "url": "https://api.github.com/repos/laravel/framework/zipball/ce0019d22a83b1b240330ea4115ae27a4d75d79c",
"reference": "26c700eb79e5bb55b59df2c495c9c71f16f43302", "reference": "ce0019d22a83b1b240330ea4115ae27a4d75d79c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1337,7 +1344,6 @@ ...@@ -1337,7 +1344,6 @@
"illuminate/database": "self.version", "illuminate/database": "self.version",
"illuminate/encryption": "self.version", "illuminate/encryption": "self.version",
"illuminate/events": "self.version", "illuminate/events": "self.version",
"illuminate/exception": "self.version",
"illuminate/filesystem": "self.version", "illuminate/filesystem": "self.version",
"illuminate/hashing": "self.version", "illuminate/hashing": "self.version",
"illuminate/http": "self.version", "illuminate/http": "self.version",
...@@ -1379,7 +1385,7 @@ ...@@ -1379,7 +1385,7 @@
"nexmo/client": "Required to use the Nexmo transport (~1.0).", "nexmo/client": "Required to use the Nexmo transport (~1.0).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).",
"predis/predis": "Required to use the redis cache and queue drivers (~1.0).", "predis/predis": "Required to use the redis cache and queue drivers (~1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~3.0).",
"symfony/css-selector": "Required to use some of the crawler integration testing tools (~3.3).", "symfony/css-selector": "Required to use some of the crawler integration testing tools (~3.3).",
"symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~3.3).", "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~3.3).",
"symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)." "symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)."
...@@ -1415,20 +1421,20 @@ ...@@ -1415,20 +1421,20 @@
"framework", "framework",
"laravel" "laravel"
], ],
"time": "2017-10-03T17:41:03+00:00" "time": "2017-11-07T14:24:50+00:00"
}, },
{ {
"name": "laravel/socialite", "name": "laravel/socialite",
"version": "v3.0.7", "version": "v3.0.9",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/socialite.git", "url": "https://github.com/laravel/socialite.git",
"reference": "d79174513dbf14359b53e44394cf71373ae03433" "reference": "fc1c8d415699e502f3e61cbc61e3250d5bd942eb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/socialite/zipball/d79174513dbf14359b53e44394cf71373ae03433", "url": "https://api.github.com/repos/laravel/socialite/zipball/fc1c8d415699e502f3e61cbc61e3250d5bd942eb",
"reference": "d79174513dbf14359b53e44394cf71373ae03433", "reference": "fc1c8d415699e502f3e61cbc61e3250d5bd942eb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -1477,7 +1483,7 @@ ...@@ -1477,7 +1483,7 @@
"laravel", "laravel",
"oauth" "oauth"
], ],
"time": "2017-07-22T14:44:37+00:00" "time": "2017-11-06T16:02:48+00:00"
}, },
{ {
"name": "laravel/tinker", "name": "laravel/tinker",
...@@ -1833,7 +1839,7 @@ ...@@ -1833,7 +1839,7 @@
}, },
{ {
"name": "mtdowling/cron-expression", "name": "mtdowling/cron-expression",
"version": "v1.2.0", "version": "v1.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/mtdowling/cron-expression.git", "url": "https://github.com/mtdowling/cron-expression.git",
...@@ -1993,16 +1999,16 @@ ...@@ -1993,16 +1999,16 @@
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v3.1.1", "version": "v3.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "a1e8e1a30e1352f118feff1a8481066ddc2f234a" "reference": "08131e7ff29de6bb9f12275c7d35df71f25f4d89"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a1e8e1a30e1352f118feff1a8481066ddc2f234a", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/08131e7ff29de6bb9f12275c7d35df71f25f4d89",
"reference": "a1e8e1a30e1352f118feff1a8481066ddc2f234a", "reference": "08131e7ff29de6bb9f12275c7d35df71f25f4d89",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2040,7 +2046,7 @@ ...@@ -2040,7 +2046,7 @@
"parser", "parser",
"php" "php"
], ],
"time": "2017-09-02T17:10:46+00:00" "time": "2017-11-04T11:48:34+00:00"
}, },
{ {
"name": "paragonie/random_compat", "name": "paragonie/random_compat",
...@@ -2286,16 +2292,16 @@ ...@@ -2286,16 +2292,16 @@
}, },
{ {
"name": "psy/psysh", "name": "psy/psysh",
"version": "v0.8.11", "version": "v0.8.14",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/bobthecow/psysh.git", "url": "https://github.com/bobthecow/psysh.git",
"reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0" "reference": "91e53c16560bdb8b9592544bb38429ae00d6baee"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/b193cd020e8c6b66cea6457826ae005e94e6d2c0", "url": "https://api.github.com/repos/bobthecow/psysh/zipball/91e53c16560bdb8b9592544bb38429ae00d6baee",
"reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0", "reference": "91e53c16560bdb8b9592544bb38429ae00d6baee",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2355,7 +2361,7 @@ ...@@ -2355,7 +2361,7 @@
"interactive", "interactive",
"shell" "shell"
], ],
"time": "2017-07-29T19:30:02+00:00" "time": "2017-11-04T16:06:49+00:00"
}, },
{ {
"name": "ramsey/uuid", "name": "ramsey/uuid",
...@@ -2496,16 +2502,16 @@ ...@@ -2496,16 +2502,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "116bc56e45a8e5572e51eb43ab58c769a352366c" "reference": "fd684d68f83568d8293564b4971928a2c4bdfc5c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/116bc56e45a8e5572e51eb43ab58c769a352366c", "url": "https://api.github.com/repos/symfony/console/zipball/fd684d68f83568d8293564b4971928a2c4bdfc5c",
"reference": "116bc56e45a8e5572e51eb43ab58c769a352366c", "reference": "fd684d68f83568d8293564b4971928a2c4bdfc5c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2560,20 +2566,20 @@ ...@@ -2560,20 +2566,20 @@
], ],
"description": "Symfony Console Component", "description": "Symfony Console Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-07T14:16:22+00:00"
}, },
{ {
"name": "symfony/css-selector", "name": "symfony/css-selector",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/css-selector.git", "url": "https://github.com/symfony/css-selector.git",
"reference": "07447650225ca9223bd5c97180fe7c8267f7d332" "reference": "66e6e046032ebdf1f562c26928549f613d428bd1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/07447650225ca9223bd5c97180fe7c8267f7d332", "url": "https://api.github.com/repos/symfony/css-selector/zipball/66e6e046032ebdf1f562c26928549f613d428bd1",
"reference": "07447650225ca9223bd5c97180fe7c8267f7d332", "reference": "66e6e046032ebdf1f562c26928549f613d428bd1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2613,20 +2619,20 @@ ...@@ -2613,20 +2619,20 @@
], ],
"description": "Symfony CssSelector Component", "description": "Symfony CssSelector Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-05T15:47:03+00:00"
}, },
{ {
"name": "symfony/debug", "name": "symfony/debug",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug.git", "url": "https://github.com/symfony/debug.git",
"reference": "eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd" "reference": "74557880e2846b5c84029faa96b834da37e29810"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd", "url": "https://api.github.com/repos/symfony/debug/zipball/74557880e2846b5c84029faa96b834da37e29810",
"reference": "eb95d9ce8f18dcc1b3dfff00cb624c402be78ffd", "reference": "74557880e2846b5c84029faa96b834da37e29810",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2669,20 +2675,20 @@ ...@@ -2669,20 +2675,20 @@
], ],
"description": "Symfony Debug Component", "description": "Symfony Debug Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-10T16:38:39+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher.git", "url": "https://github.com/symfony/event-dispatcher.git",
"reference": "d7ba037e4b8221956ab1e221c73c9e27e05dd423" "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d7ba037e4b8221956ab1e221c73c9e27e05dd423", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/271d8c27c3ec5ecee6e2ac06016232e249d638d9",
"reference": "d7ba037e4b8221956ab1e221c73c9e27e05dd423", "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2732,20 +2738,20 @@ ...@@ -2732,20 +2738,20 @@
], ],
"description": "Symfony EventDispatcher Component", "description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-05T15:47:03+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/finder.git", "url": "https://github.com/symfony/finder.git",
"reference": "773e19a491d97926f236942484cb541560ce862d" "reference": "138af5ec075d4b1d1bd19de08c38a34bb2d7d880"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/773e19a491d97926f236942484cb541560ce862d", "url": "https://api.github.com/repos/symfony/finder/zipball/138af5ec075d4b1d1bd19de08c38a34bb2d7d880",
"reference": "773e19a491d97926f236942484cb541560ce862d", "reference": "138af5ec075d4b1d1bd19de08c38a34bb2d7d880",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2781,20 +2787,20 @@ ...@@ -2781,20 +2787,20 @@
], ],
"description": "Symfony Finder Component", "description": "Symfony Finder Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-05T15:47:03+00:00"
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "22cf9c2b1d9f67cc8e75ae7f4eaa60e4c1eff1f8" "reference": "873ccdf8c1cae20da0184862820c434e20fdc8ce"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/22cf9c2b1d9f67cc8e75ae7f4eaa60e4c1eff1f8", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/873ccdf8c1cae20da0184862820c434e20fdc8ce",
"reference": "22cf9c2b1d9f67cc8e75ae7f4eaa60e4c1eff1f8", "reference": "873ccdf8c1cae20da0184862820c434e20fdc8ce",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2834,20 +2840,20 @@ ...@@ -2834,20 +2840,20 @@
], ],
"description": "Symfony HttpFoundation Component", "description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-05T23:10:23+00:00" "time": "2017-11-05T19:07:00+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "654f047a78756964bf91b619554f956517394018" "reference": "f38c96b8d88a37b4f6bc8ae46a48b018d4894dd0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/654f047a78756964bf91b619554f956517394018", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f38c96b8d88a37b4f6bc8ae46a48b018d4894dd0",
"reference": "654f047a78756964bf91b619554f956517394018", "reference": "f38c96b8d88a37b4f6bc8ae46a48b018d4894dd0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2855,7 +2861,7 @@ ...@@ -2855,7 +2861,7 @@
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/debug": "~2.8|~3.0", "symfony/debug": "~2.8|~3.0",
"symfony/event-dispatcher": "~2.8|~3.0", "symfony/event-dispatcher": "~2.8|~3.0",
"symfony/http-foundation": "~3.3" "symfony/http-foundation": "^3.3.11"
}, },
"conflict": { "conflict": {
"symfony/config": "<2.8", "symfony/config": "<2.8",
...@@ -2920,20 +2926,20 @@ ...@@ -2920,20 +2926,20 @@
], ],
"description": "Symfony HttpKernel Component", "description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-05T23:40:19+00:00" "time": "2017-11-10T20:08:13+00:00"
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-mbstring",
"version": "v1.5.0", "version": "v1.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git", "url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803" "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
"reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803", "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2945,7 +2951,7 @@ ...@@ -2945,7 +2951,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.5-dev" "dev-master": "1.6-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -2979,20 +2985,20 @@ ...@@ -2979,20 +2985,20 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2017-06-14T15:44:48+00:00" "time": "2017-10-11T12:05:26+00:00"
}, },
{ {
"name": "symfony/polyfill-php56", "name": "symfony/polyfill-php56",
"version": "v1.5.0", "version": "v1.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php56.git", "url": "https://github.com/symfony/polyfill-php56.git",
"reference": "e85ebdef569b84e8709864e1a290c40f156b30ca" "reference": "265fc96795492430762c29be291a371494ba3a5b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/e85ebdef569b84e8709864e1a290c40f156b30ca", "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b",
"reference": "e85ebdef569b84e8709864e1a290c40f156b30ca", "reference": "265fc96795492430762c29be291a371494ba3a5b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3002,7 +3008,7 @@ ...@@ -3002,7 +3008,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.5-dev" "dev-master": "1.6-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -3035,20 +3041,20 @@ ...@@ -3035,20 +3041,20 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2017-06-14T15:44:48+00:00" "time": "2017-10-11T12:05:26+00:00"
}, },
{ {
"name": "symfony/polyfill-util", "name": "symfony/polyfill-util",
"version": "v1.5.0", "version": "v1.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-util.git", "url": "https://github.com/symfony/polyfill-util.git",
"reference": "67925d1cf0b84bd234a83bebf26d4eb281744c6d" "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/67925d1cf0b84bd234a83bebf26d4eb281744c6d", "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176",
"reference": "67925d1cf0b84bd234a83bebf26d4eb281744c6d", "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3057,7 +3063,7 @@ ...@@ -3057,7 +3063,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.5-dev" "dev-master": "1.6-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -3087,20 +3093,20 @@ ...@@ -3087,20 +3093,20 @@
"polyfill", "polyfill",
"shim" "shim"
], ],
"time": "2017-07-05T15:09:33+00:00" "time": "2017-10-11T12:05:26+00:00"
}, },
{ {
"name": "symfony/process", "name": "symfony/process",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/process.git", "url": "https://github.com/symfony/process.git",
"reference": "fdf89e57a723a29baf536e288d6e232c059697b1" "reference": "e14bb64d7559e6923fb13ee3b3d8fa763a2c0930"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/fdf89e57a723a29baf536e288d6e232c059697b1", "url": "https://api.github.com/repos/symfony/process/zipball/e14bb64d7559e6923fb13ee3b3d8fa763a2c0930",
"reference": "fdf89e57a723a29baf536e288d6e232c059697b1", "reference": "e14bb64d7559e6923fb13ee3b3d8fa763a2c0930",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3136,20 +3142,20 @@ ...@@ -3136,20 +3142,20 @@
], ],
"description": "Symfony Process Component", "description": "Symfony Process Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-05T15:47:03+00:00"
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "2e26fa63da029dab49bf9377b3b4f60a8fecb009" "reference": "cf7fa1dfcfee2c96969bfa1c0341e5627ecb1e95"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/2e26fa63da029dab49bf9377b3b4f60a8fecb009", "url": "https://api.github.com/repos/symfony/routing/zipball/cf7fa1dfcfee2c96969bfa1c0341e5627ecb1e95",
"reference": "2e26fa63da029dab49bf9377b3b4f60a8fecb009", "reference": "cf7fa1dfcfee2c96969bfa1c0341e5627ecb1e95",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3214,20 +3220,20 @@ ...@@ -3214,20 +3220,20 @@
"uri", "uri",
"url" "url"
], ],
"time": "2017-10-02T07:25:00+00:00" "time": "2017-11-07T14:16:22+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "409bf229cd552bf7e3faa8ab7e3980b07672073f" "reference": "373e553477e55cd08f8b86b74db766c75b987fdb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/409bf229cd552bf7e3faa8ab7e3980b07672073f", "url": "https://api.github.com/repos/symfony/translation/zipball/373e553477e55cd08f8b86b74db766c75b987fdb",
"reference": "409bf229cd552bf7e3faa8ab7e3980b07672073f", "reference": "373e553477e55cd08f8b86b74db766c75b987fdb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3279,20 +3285,20 @@ ...@@ -3279,20 +3285,20 @@
], ],
"description": "Symfony Translation Component", "description": "Symfony Translation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-07T14:12:55+00:00"
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "03e3693a36701f1c581dd24a6d6eea2eba2113f6" "reference": "805de6bd6869073e60610df1b14ab7d969c61b01"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/03e3693a36701f1c581dd24a6d6eea2eba2113f6", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/805de6bd6869073e60610df1b14ab7d969c61b01",
"reference": "03e3693a36701f1c581dd24a6d6eea2eba2113f6", "reference": "805de6bd6869073e60610df1b14ab7d969c61b01",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3347,7 +3353,7 @@ ...@@ -3347,7 +3353,7 @@
"debug", "debug",
"dump" "dump"
], ],
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-07T14:16:22+00:00"
}, },
{ {
"name": "tijsverkoyen/css-to-inline-styles", "name": "tijsverkoyen/css-to-inline-styles",
...@@ -3511,16 +3517,16 @@ ...@@ -3511,16 +3517,16 @@
}, },
{ {
"name": "yajra/laravel-datatables-oracle", "name": "yajra/laravel-datatables-oracle",
"version": "v8.1.0", "version": "v8.3.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/yajra/laravel-datatables.git", "url": "https://github.com/yajra/laravel-datatables.git",
"reference": "92125cc7e0b94375dad740022115182bc6d08f9f" "reference": "8c3490d7a810824da147161033d6ef272d7c8726"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/92125cc7e0b94375dad740022115182bc6d08f9f", "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/8c3490d7a810824da147161033d6ef272d7c8726",
"reference": "92125cc7e0b94375dad740022115182bc6d08f9f", "reference": "8c3490d7a810824da147161033d6ef272d7c8726",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3577,7 +3583,7 @@ ...@@ -3577,7 +3583,7 @@
"jquery", "jquery",
"laravel" "laravel"
], ],
"time": "2017-10-08T01:16:25+00:00" "time": "2017-11-02T02:30:46+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [
...@@ -3651,32 +3657,32 @@ ...@@ -3651,32 +3657,32 @@
}, },
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
"version": "1.0.5", "version": "1.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/instantiator.git", "url": "https://github.com/doctrine/instantiator.git",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3,<8.0-DEV" "php": "^7.1"
}, },
"require-dev": { "require-dev": {
"athletic/athletic": "~0.1.8", "athletic/athletic": "~0.1.8",
"ext-pdo": "*", "ext-pdo": "*",
"ext-phar": "*", "ext-phar": "*",
"phpunit/phpunit": "~4.0", "phpunit/phpunit": "^6.2.3",
"squizlabs/php_codesniffer": "~2.0" "squizlabs/php_codesniffer": "^3.0.2"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "1.2.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -3701,20 +3707,20 @@ ...@@ -3701,20 +3707,20 @@
"constructor", "constructor",
"instantiate" "instantiate"
], ],
"time": "2015-06-14T21:17:01+00:00" "time": "2017-07-22T11:58:36+00:00"
}, },
{ {
"name": "filp/whoops", "name": "filp/whoops",
"version": "2.1.10", "version": "2.1.12",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filp/whoops.git", "url": "https://github.com/filp/whoops.git",
"reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec" "reference": "a99f0b151846021ba7a73b4e3cba3ebc9f14f03e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec", "url": "https://api.github.com/repos/filp/whoops/zipball/a99f0b151846021ba7a73b4e3cba3ebc9f14f03e",
"reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec", "reference": "a99f0b151846021ba7a73b4e3cba3ebc9f14f03e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3759,10 +3765,10 @@ ...@@ -3759,10 +3765,10 @@
"exception", "exception",
"handling", "handling",
"library", "library",
"whoops", "throwable",
"zf2" "whoops"
], ],
"time": "2017-08-03T18:23:40+00:00" "time": "2017-10-15T13:05:10+00:00"
}, },
{ {
"name": "fzaninotto/faker", "name": "fzaninotto/faker",
...@@ -3908,16 +3914,16 @@ ...@@ -3908,16 +3914,16 @@
}, },
{ {
"name": "maximebf/debugbar", "name": "maximebf/debugbar",
"version": "v1.14.0", "version": "v1.14.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/maximebf/php-debugbar.git", "url": "https://github.com/maximebf/php-debugbar.git",
"reference": "e23a98f2d65607d8aa6c7b409a513f8fdf4acdde" "reference": "64251a392344e3d22f3d21c3b7c531ba96eb01d2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/e23a98f2d65607d8aa6c7b409a513f8fdf4acdde", "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/64251a392344e3d22f3d21c3b7c531ba96eb01d2",
"reference": "e23a98f2d65607d8aa6c7b409a513f8fdf4acdde", "reference": "64251a392344e3d22f3d21c3b7c531ba96eb01d2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -3965,7 +3971,7 @@ ...@@ -3965,7 +3971,7 @@
"debug", "debug",
"debugbar" "debugbar"
], ],
"time": "2017-08-17T07:17:00+00:00" "time": "2017-09-13T12:19:36+00:00"
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
...@@ -4034,37 +4040,40 @@ ...@@ -4034,37 +4040,40 @@
}, },
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
"version": "1.6.1", "version": "1.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/myclabs/DeepCopy.git", "url": "https://github.com/myclabs/DeepCopy.git",
"reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
"reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.4.0" "php": "^5.6 || ^7.0"
}, },
"require-dev": { "require-dev": {
"doctrine/collections": "1.*", "doctrine/collections": "^1.0",
"phpunit/phpunit": "~4.1" "doctrine/common": "^2.6",
"phpunit/phpunit": "^4.1"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"DeepCopy\\": "src/DeepCopy/" "DeepCopy\\": "src/DeepCopy/"
} },
"files": [
"src/DeepCopy/deep_copy.php"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
"MIT" "MIT"
], ],
"description": "Create deep copies (clones) of your objects", "description": "Create deep copies (clones) of your objects",
"homepage": "https://github.com/myclabs/DeepCopy",
"keywords": [ "keywords": [
"clone", "clone",
"copy", "copy",
...@@ -4072,7 +4081,7 @@ ...@@ -4072,7 +4081,7 @@
"object", "object",
"object graph" "object graph"
], ],
"time": "2017-04-12T18:52:22+00:00" "time": "2017-10-19T19:58:43+00:00"
}, },
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
...@@ -4387,16 +4396,16 @@ ...@@ -4387,16 +4396,16 @@
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "5.2.2", "version": "5.2.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "8ed1902a57849e117b5651fc1a5c48110946c06b" "reference": "8e1d2397d8adf59a3f12b2878a3aaa66d1ab189d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/8ed1902a57849e117b5651fc1a5c48110946c06b", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/8e1d2397d8adf59a3f12b2878a3aaa66d1ab189d",
"reference": "8ed1902a57849e117b5651fc1a5c48110946c06b", "reference": "8e1d2397d8adf59a3f12b2878a3aaa66d1ab189d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -4405,7 +4414,7 @@ ...@@ -4405,7 +4414,7 @@
"php": "^7.0", "php": "^7.0",
"phpunit/php-file-iterator": "^1.4.2", "phpunit/php-file-iterator": "^1.4.2",
"phpunit/php-text-template": "^1.2.1", "phpunit/php-text-template": "^1.2.1",
"phpunit/php-token-stream": "^1.4.11 || ^2.0", "phpunit/php-token-stream": "^2.0",
"sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/code-unit-reverse-lookup": "^1.0.1",
"sebastian/environment": "^3.0", "sebastian/environment": "^3.0",
"sebastian/version": "^2.0.1", "sebastian/version": "^2.0.1",
...@@ -4447,7 +4456,7 @@ ...@@ -4447,7 +4456,7 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2017-08-03T12:40:43+00:00" "time": "2017-11-03T13:47:33+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
...@@ -4637,16 +4646,16 @@ ...@@ -4637,16 +4646,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "6.4.1", "version": "6.4.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "b770d8ba7e60295ee91d69d5a5e01ae833cac220" "reference": "562f7dc75d46510a4ed5d16189ae57fbe45a9932"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b770d8ba7e60295ee91d69d5a5e01ae833cac220", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/562f7dc75d46510a4ed5d16189ae57fbe45a9932",
"reference": "b770d8ba7e60295ee91d69d5a5e01ae833cac220", "reference": "562f7dc75d46510a4ed5d16189ae57fbe45a9932",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -4717,7 +4726,7 @@ ...@@ -4717,7 +4726,7 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2017-10-07T17:53:53+00:00" "time": "2017-11-08T11:26:09+00:00"
}, },
{ {
"name": "phpunit/phpunit-mock-objects", "name": "phpunit/phpunit-mock-objects",
...@@ -4825,30 +4834,30 @@ ...@@ -4825,30 +4834,30 @@
}, },
{ {
"name": "sebastian/comparator", "name": "sebastian/comparator",
"version": "2.0.2", "version": "2.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git", "url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "ae068fede81d06e7bb9bb46a367210a3d3e1fe6a" "reference": "1174d9018191e93cb9d719edec01257fc05f8158"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ae068fede81d06e7bb9bb46a367210a3d3e1fe6a", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1174d9018191e93cb9d719edec01257fc05f8158",
"reference": "ae068fede81d06e7bb9bb46a367210a3d3e1fe6a", "reference": "1174d9018191e93cb9d719edec01257fc05f8158",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0", "php": "^7.0",
"sebastian/diff": "^2.0", "sebastian/diff": "^2.0",
"sebastian/exporter": "^3.0" "sebastian/exporter": "^3.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.0" "phpunit/phpunit": "^6.4"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0.x-dev" "dev-master": "2.1.x-dev"
} }
}, },
"autoload": { "autoload": {
...@@ -4879,13 +4888,13 @@ ...@@ -4879,13 +4888,13 @@
} }
], ],
"description": "Provides the functionality to compare PHP values for equality", "description": "Provides the functionality to compare PHP values for equality",
"homepage": "http://www.github.com/sebastianbergmann/comparator", "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [ "keywords": [
"comparator", "comparator",
"compare", "compare",
"equality" "equality"
], ],
"time": "2017-08-03T07:14:59+00:00" "time": "2017-11-03T07:16:52+00:00"
}, },
{ {
"name": "sebastian/diff", "name": "sebastian/diff",
...@@ -5339,16 +5348,16 @@ ...@@ -5339,16 +5348,16 @@
}, },
{ {
"name": "symfony/dom-crawler", "name": "symfony/dom-crawler",
"version": "v3.3.10", "version": "v3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dom-crawler.git", "url": "https://github.com/symfony/dom-crawler.git",
"reference": "40dafd42d5dad7fe5ad4e958413d92a207522ac1" "reference": "cebe3c068867956e012d9135282ba6a05d8a259e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/40dafd42d5dad7fe5ad4e958413d92a207522ac1", "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/cebe3c068867956e012d9135282ba6a05d8a259e",
"reference": "40dafd42d5dad7fe5ad4e958413d92a207522ac1", "reference": "cebe3c068867956e012d9135282ba6a05d8a259e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -5391,7 +5400,7 @@ ...@@ -5391,7 +5400,7 @@
], ],
"description": "Symfony DomCrawler Component", "description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2017-10-02T06:42:24+00:00" "time": "2017-11-05T15:47:03+00:00"
}, },
{ {
"name": "theseer/tokenizer", "name": "theseer/tokenizer",
......
...@@ -69,7 +69,7 @@ return [ ...@@ -69,7 +69,7 @@ return [
'providers' => [ 'providers' => [
'users' => [ 'users' => [
'driver' => 'eloquent', 'driver' => 'eloquent',
'model' => App\Models\Access\User\User::class, 'model' => User::class,
], ],
// 'users' => [ // 'users' => [
......
{ {
"/js/frontend.js": "/js/frontend.70ee44a92d84e7318a9d.js", "/js/frontend.js": "/js/frontend.2bea3bf4ad584622eb6b.js",
"/js/backend.js": "/js/backend.9cdae6ab449e701ce881.js", "/js/backend.js": "/js/backend.321ce1e5ca635759765f.js",
"/mix.js": "/mix.247ab120fe7680658924.js", "/mix.js": "/mix.247ab120fe7680658924.js",
"/css/frontend.css": "/css/frontend.3af0a6cbd7d1d8d042f2a37e97008b7c.css", "/css/frontend.css": "/css/frontend.3af0a6cbd7d1d8d042f2a37e97008b7c.css",
"/css/backend.css": "/css/backend.f8550f50504e5b8ef6055285205f223a.css", "/css/backend.css": "/css/backend.f8550f50504e5b8ef6055285205f223a.css",
......
<?php
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::group(['namespace' => 'Api\V1', 'prefix' => 'v1', 'as' => 'v1.'], function () {
Route::group(['prefix' => 'auth'], function () {
Route::post('/login', 'AuthController@authenticate');
Route::post('/logout', 'AuthController@logout');
Route::post('/check', 'AuthController@check');
Route::post('/register', 'AuthController@register');
Route::get('/activate/{token}', 'AuthController@activate');
Route::post('/password', 'AuthController@password');
Route::post('/validate-password-reset', 'AuthController@validatePasswordReset');
Route::post('/reset', 'AuthController@reset');
});
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment