diff --git a/.docker/api/Dockerfile b/.docker/api/Dockerfile index 1325564f..eebcd356 100644 --- a/.docker/api/Dockerfile +++ b/.docker/api/Dockerfile @@ -11,27 +11,6 @@ RUN pecl install -o -f redis \ && rm -rf /tmp/pear \ && docker-php-ext-enable redis -ARG WITH_COMPOSER=false - -RUN if [ $WITH_COMPOSER = "true" ] ; then \ - curl -o /tmp/composer-setup.php https://getcomposer.org/installer \ - && curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig \ - && php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" \ - && php /tmp/composer-setup.php --no-ansi --install-dir=/usr/local/bin --filename=composer \ - && rm -f /tmp/composer-setup.*; \ -fi ; - -ARG WITH_XDEBUG=false - -RUN if [ $WITH_XDEBUG = "true" ] ; then \ - pecl install xdebug; \ - docker-php-ext-enable xdebug; \ - echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ - echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ - echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ - echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ -fi ; - RUN chown -R www-data:www-data /var/www/html \ && a2enmod rewrite diff --git a/CHANGELOG.md b/CHANGELOG.md index d4bf2cf1..72af4cde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ The complete changelog for the Costs to Expect REST API, our changelog follows the format defined at https://keepachangelog.com/en/1.0.0/ +## [v2.18.0] - 2021-01-27 +### Added +- We have opened up registration on the API; you can register, login, and use all the expected authentication features. +- We have added notification emails for registration and forgot password requests. + +### Changed +- We have switched to Laravel Sanctum and removed all references to Laravel Passport, Sanctum makes more sense for our API. +- We have updated to Laravel version 8. +- We have tweaked our Docker setup and removed composer and phpunit. +- Content updates + ## [v2.17.1] - 2020-11-28 ### Changed - We have added the `X-Last-Updated` header to the `resource-types`, `resources`, `categories`, `subcategories`, `items` and `resource items` collection routes. diff --git a/README.md b/README.md index 611a1528..8110a0bf 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ Costs to Expect is a service which focuses on tracking and forecasting expenses. The Costs to Expect API is the backbone of the service and is not going to be -limited to expenses; however, we figured that it was an excellent place to start. +limited to tracking expenses; however, we figured that it was an excellent place to start. ## Documentation -The documentation for Costs to Expect API can be found at +The documentation for the Costs to Expect API can be found at [postman.costs-to-expect.com](https://postman.costs-to-expect.com?version=latest). ### The App @@ -20,7 +20,8 @@ The [alpha](https://app.costs-to-expect.com) for the service is online, we are to see how we are progressing. ### The Website -A small part of the service is tracking the costs to raise a child in the UK, + +A small part of the service is tracking our costs to raise our children in the UK, more detail can be found at [Costs to Expect](https://www.costs-to-expect.com). ## Set up @@ -37,7 +38,7 @@ directory and run the below. * $ `docker-compose build` * $ `docker-compose up` -*We include a network for local development purposed, I need the Costs to Expect +*We include a network for local development purposes, I need the Costs to Expect Website and App to communicate with a local API. You probably don't need this so remove the network section from the docker-compose file and don't create the network.* @@ -60,12 +61,12 @@ drivers have been set to our defaults, sessions, cache, and the queue default to * `docker-compose exec api composer install` * `docker-compose exec api php artisan key:generate` * `docker-compose exec api php artisan migrate` -* `docker-compose exec api php artisan passport:install` * `docker-compose exec api php artisan queue:work` * Run an OPTIONS request on `http://[your.domail.local:8080]/v2/resource_types`, you will see an OPTIONS response, alternatively a GET request to `http://[your.domail.local:8080]/v1` will show all the defined routes. -* You can add a development user by POSTing to `http://[your.domail.local:8080]/v2/auth/register`. A bearer will be in the - response from POSTing to `http://[your.domail.local:8080]/v2/auth/login` - you will need a bearer for all the routes that require authentication. +* You can create a user by POSTing to `http://[your.domail.local:8080]/v2/auth/register`. +* You create a password by POSTing a password and password_confirmation to the URI register response. +* You login by posting to `http://[your.domail.local:8080]/v2/auth/login` - you will need a bearer for all the routes that require authentication. * Our API defaults to Mailgun, populate `MAILGUN_DOMAIN` and `MAILGUN_SECRET` with the relevant values from your account, you will also need to set `MAIL_FROM_ADDRESS` and `MAIL_TO_ADDRESS`. You may need to set `Authorized Recipients` in Mailgun. @@ -77,30 +78,13 @@ you will also need to set `MAIL_FROM_ADDRESS` and `MAIL_TO_ADDRESS`. You may nee * Successful PATCH requests will return 204. * Successful DELETE requests will return a 204. * Non 2xx results will return an object with a message field and optionally a fields array. When we -return a validation error, the response will be 422 and the fields array will contain the validation errors. +return a validation error, the response will be 422 and include a fields array which will contain any validation errors. ### Caching We include local level caching in the API, as time goes on we will move towards conditional caching, specifically including an Etag header and returning a 304 response. -The TTL for the cache types is a below. As expected, caches will be -invalidated if the API detects a change. - -#### Collections - -- Item types: One year -- Resource types: One week -- Partial transfers: One week -- Transfers: One week -- Permitted users: One month -- Categories: One month -- Subcategories: One month -- Resources: One week -- Items: One week -- Item categories: One week -- Item subcategories: One week - ## Headers Responses will include multiple headers, the table below details the intention @@ -116,23 +100,29 @@ behind each of our custom headers. | X-Link-Previous | Pagination: URI for previous result set if relevant | | X-Link-Next | Pagination: URI for next result set if relevant | | X-Link-Next | Pagination: URI for next result set if relevant | +| X-Last-Updated | The last time the collection was updated | | X-Sort | Sort options applied to request after validation | | X-Search | Search options applied to request after validation | | X-Parameters | Request parameters applied to request after validation | ## Routes -Access to a route will be limited based upon your permitted resource types. -When you create a resource type you have full access to everything below, -additionally, the same is true if you are assigned to a resource type. +Access to a route will be limited based upon a users permitted resource types. +When you create a resource type you have full access to everything below it, +additionally, the same is true if you are assigned as a permitted user to a resource type. | HTTP Verb(s) | Route | | :--- | :--- | | GET/HEAD | v2/ | | OPTIONS | v2/ | +| GET/HEAD | v2/auth/check | +| POST | v2/auth/create-password | +| POST | v2/auth/create-new-password | +| POST | v2/auth/forgot-password | | POST | v2/auth/login | | POST | v2/auth/register | -| GET/HEAD | v2/auth/check | +| POST | v2/auth/update-password | +| POST | v2/auth/update-profile | | GET/HEAD | v2/auth/user | | GET/HEAD | v2/changelog | | OPTIONS | v2/changelog | @@ -221,12 +211,13 @@ additionally, the same is true if you are assigned to a resource type. ## Summary routes -Eventually, there will be a summary route for every API GET endpoint. Until -that point, the summary routes that exists are detailed below. Some use GET +Eventually, there will be a summary route for every API collection GET endpoint. Until +that point, the summary routes that exists are detailed below. Some allow GET parameters to breakdown the data, one example being -`v2/summary/resource-types/{resource_type_id}/items`. Review the OPTIONS -request for each summary route to see the supported parameters, these should -largely match the non summary route. +`v2/summary/resource-types/{resource_type_id}/items`. + +Review the OPTIONS request for each summary route to see the supported parameters, these should +largely match the matching non-summary route. | HTTP Verb(s) | Route | | :--- | :--- | diff --git a/app/Http/Controllers/Authentication.php b/app/Http/Controllers/Authentication.php new file mode 100644 index 00000000..19a440ef --- /dev/null +++ b/app/Http/Controllers/Authentication.php @@ -0,0 +1,393 @@ +json(['auth' => Auth::guard('api')->check()]); + } + + public function createPassword(): Http\JsonResponse + { + $email = Str::replaceFirst(' ', '+', urldecode(request()->query('email'))); + $token = request()->query('token'); + + $tokens = DB::table('password_creates') + ->where('email', '=', $email) + ->first(); + + if ($tokens === null || Hash::check($token, $tokens->token) === false) { + return response()->json( + [ + 'message'=>'Sorry, the email and or token you supplied are invalid' + ], + 401 + ); + } + + $validator = Validator::make( + request()->only(['password', 'password_confirmation']), + [ + 'password' => [ + 'required', + 'min:10' + ], + 'password_confirmation' => [ + 'required', + 'same:password', + ] + ] + ); + + if ($validator->fails()) { + return response()->json( + [ + 'message' => 'Validation error, please review the below', + 'fields' => $validator->errors() + ], + 422 + ); + } + + try { + $user = User::with([]) + ->where('email', '=', $email) + ->first(); + + if ($user !== null) { + $user->password = Hash::make(request()->input('password')); + $user->save(); + + DB::table('password_creates') + ->where('email', '=', request()->input(['email'])) + ->delete(); + + return response()->json([], 204); + } + + return response()->json(['message' => 'Unable to fetch your account to create password, please try again later'], 404); + } catch (\Exception $e) { + return response()->json(['message' => 'Unable to create password, please try again later'], 500); + } + } + + public function createNewPassword(): Http\JsonResponse + { + $email = Str::replaceFirst(' ', '+', urldecode(request()->query('email'))); + $token = request()->query('token'); + + $tokens = DB::table('password_resets') + ->where('email', '=', $email) + ->first(); + + if ($tokens === null || Hash::check($token, $tokens->token) === false) { + return response()->json( + [ + 'message'=>'Sorry, the email and token you supplied are invalid' + ], + 404 + ); + } + + $validator = Validator::make( + request()->only(['password', 'password_confirmation']), + [ + 'password' => [ + 'required', + 'min:10' + ], + 'password_confirmation' => [ + 'required', + 'same:password', + ] + ] + ); + + if ($validator->fails()) { + return response()->json( + [ + 'message' => 'Validation error, please review the below', + 'fields' => $validator->errors() + ], + 422 + ); + } + + try { + $user = User::with([]) + ->where('email', '=', $email) + ->first(); + + if ($user !== null) { + $user->password = Hash::make(request()->input('password')); + $user->save(); + + DB::table('password_resets') + ->where('email', '=', request()->input(['email'])) + ->delete(); + + return response()->json([], 204); + } + + return response()->json(['message' => 'Unable to fetch your account to create password, please try again later'], 500); + } catch (\Exception $e) { + return response()->json(['message' => 'Unable to create password, please try again later'], 500); + } + } + + public function forgotPassword(): Http\JsonResponse + { + $validator = Validator::make( + request()->only(['email']), + [ + 'email' => 'required|email', + ] + ); + + if ($validator->fails()) { + return response()->json( + [ + 'message' => 'Validation error, please review the errors below', + 'fields' => $validator->errors() + ], + 422 + ); + } + + $email = request()->input('email'); + + $user = User::with([]) + ->where('email', '=', $email) + ->first(); + + if ($user !== null) { + try { + $create_token = Str::random(20); + + $password = new PasswordResets(); + $password->email = $email; + $password->token = Hash::make($create_token); + $password->created_at = now()->toDateTimeString(); + $password->save(); + + $user->notify(new ForgotPassword($user, $create_token)); + } catch (\Exception $e) { + return response()->json(['error' => 'Unable to process your forgot password request, please try again later'], 500); + } + + return response()->json( + [ + 'message' => 'Request received, please check your email for instructions on how to create your new password' + ], + 201 + ); + } + + return response()->json(['message' => 'Unable to fetch your user account, please try again later'], 404); + } + + public function login(): Http\JsonResponse + { + if ( + Auth::attempt( + [ + 'email' => request('email'), + 'password' => request('password') + ] + ) === true + ) { + $user = Auth::user(); + + if ($user !== null) { + $token = request()->user()->createToken('costs-to-expect-api'); + return response()->json( + [ + 'id' => $this->hash->user()->encode($user->id), + 'type' => 'Bearer', + 'token' => $token->plainTextToken, + ], + 201 + ); + } + + return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); + } + + return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); + } + + public function register(): Http\JsonResponse + { + $validator = Validator::make( + request()->all(), + [ + 'name' => 'required', + 'email' => 'required|email', + ] + ); + + if ($validator->fails()) { + return response()->json( + [ + 'message' => 'Validation error, please review the below', + 'fields' => $validator->errors() + ], + 422 + ); + } + + try { + $email = request()->input('email'); + + $user = new User(); + $user->name = request()->input('name'); + $user->email = request()->input('email'); + $user->password = Hash::make(Str::random(20)); + $user->save(); + + $create_token = Str::random(20); + + $password = new PasswordCreates(); + $password->email = $email; + $password->token = Hash::make($create_token); + $password->created_at = now()->toDateTimeString(); + $password->save(); + + $user->notify(new Registered($user, $create_token)); + + } catch (\Exception $e) { + return response()->json(['error' => 'Unable to create the account, please try again later'], 500); + } + + return response()->json( + [ + 'message' => 'Account created, please check you email, we include instructions on creating your password' + ], + 201 + ); + } + + public function updatePassword(): Http\JsonResponse + { + $validator = Validator::make( + request()->only(['password', 'password_confirmation']), + [ + 'password' => [ + 'required', + 'min:10' + ], + 'password_confirmation' => [ + 'required', + 'same:password', + ] + ] + ); + + if ($validator->fails()) { + return response()->json( + [ + 'message' => 'Validation error, please review the messages', + 'fields' => $validator->errors() + ], + 422 + ); + } + + $user = auth()->guard('api')->user(); + + if ($user !== null) { + $user->password = Hash::make(request()->input('password')); + $user->save(); + + return response()->json([], 204); + } + + return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); + } + + public function updateProfile(): Http\JsonResponse + { + $validator = Validator::make( + request()->only(['name', 'email']), + [ + 'name' => [ + 'sometimes' + ], + 'email' => [ + 'sometimes', + 'email' + ] + ] + ); + + if ($validator->fails()) { + return response()->json( + [ + 'message' => 'Validation error, please review the messages', + 'fields' => $validator->errors() + ], + 422 + ); + } + + $user = auth()->guard('api')->user(); + + if ($user !== null) { + $fields = []; + if (request()->input('name') !== null) { + $fields['name'] = request()->input('name'); + } + if (request()->input('email') !== null) { + $fields['email'] = request()->input('email'); + } + + if (count($fields) === 0) { + return response()->json(['message' => 'You have provided any fields to change'], 400); + } + + try { + foreach ($fields as $field => $value) { + $user->$field = $value; + } + + $user->save(); + } catch (\Exception $e) { + return response()->json(['message' => 'Unable to update your profile, please try again'], 401); + } + + return response()->json([], 204); + } + + return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); + } + + public function user(): Http\JsonResponse + { + $user = auth()->guard('api')->user(); + + if ($user !== null) { + $user = [ + 'id' => $this->hash->user()->encode($user->id), + 'name' => $user->name, + 'email' => $user->email + ]; + return response()->json($user); + } + + return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); + } +} diff --git a/app/Http/Controllers/CategoryManage.php b/app/Http/Controllers/CategoryManage.php index 8ba69e04..c952567b 100644 --- a/app/Http/Controllers/CategoryManage.php +++ b/app/Http/Controllers/CategoryManage.php @@ -15,7 +15,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class CategoryManage extends Controller diff --git a/app/Http/Controllers/CategoryView.php b/app/Http/Controllers/CategoryView.php index 648a6a0b..549e035e 100644 --- a/app/Http/Controllers/CategoryView.php +++ b/app/Http/Controllers/CategoryView.php @@ -17,7 +17,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class CategoryView extends Controller diff --git a/app/Http/Controllers/CurrencyView.php b/app/Http/Controllers/CurrencyView.php index ee3f839d..c28004f1 100644 --- a/app/Http/Controllers/CurrencyView.php +++ b/app/Http/Controllers/CurrencyView.php @@ -15,7 +15,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class CurrencyView extends Controller diff --git a/app/Http/Controllers/IndexView.php b/app/Http/Controllers/IndexView.php index f748daf0..ede0e00f 100644 --- a/app/Http/Controllers/IndexView.php +++ b/app/Http/Controllers/IndexView.php @@ -12,7 +12,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class IndexView extends Controller diff --git a/app/Http/Controllers/ItemCategoryManage.php b/app/Http/Controllers/ItemCategoryManage.php index 92302d93..20069722 100644 --- a/app/Http/Controllers/ItemCategoryManage.php +++ b/app/Http/Controllers/ItemCategoryManage.php @@ -16,7 +16,7 @@ * Manage the category for an item row * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemCategoryManage extends Controller diff --git a/app/Http/Controllers/ItemCategoryView.php b/app/Http/Controllers/ItemCategoryView.php index 1b949250..d7db6071 100644 --- a/app/Http/Controllers/ItemCategoryView.php +++ b/app/Http/Controllers/ItemCategoryView.php @@ -15,7 +15,7 @@ * Manage the category for an item row * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemCategoryView extends Controller diff --git a/app/Http/Controllers/ItemManage.php b/app/Http/Controllers/ItemManage.php index 4c429fb5..07c4922e 100644 --- a/app/Http/Controllers/ItemManage.php +++ b/app/Http/Controllers/ItemManage.php @@ -16,7 +16,7 @@ * Manage items * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemManage extends Controller diff --git a/app/Http/Controllers/ItemPartialTransferManage.php b/app/Http/Controllers/ItemPartialTransferManage.php index a69eaea6..821d5989 100644 --- a/app/Http/Controllers/ItemPartialTransferManage.php +++ b/app/Http/Controllers/ItemPartialTransferManage.php @@ -16,7 +16,7 @@ * Partial transfer of items * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemPartialTransferManage extends Controller diff --git a/app/Http/Controllers/ItemPartialTransferView.php b/app/Http/Controllers/ItemPartialTransferView.php index 4ec5bd8f..5e5e8d79 100644 --- a/app/Http/Controllers/ItemPartialTransferView.php +++ b/app/Http/Controllers/ItemPartialTransferView.php @@ -19,7 +19,7 @@ * Partial transfer of items * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemPartialTransferView extends Controller diff --git a/app/Http/Controllers/ItemSubcategoryManage.php b/app/Http/Controllers/ItemSubcategoryManage.php index 145cf568..1f0f692e 100644 --- a/app/Http/Controllers/ItemSubcategoryManage.php +++ b/app/Http/Controllers/ItemSubcategoryManage.php @@ -17,7 +17,7 @@ * Manage the category for an item row * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubcategoryManage extends Controller diff --git a/app/Http/Controllers/ItemSubcategoryView.php b/app/Http/Controllers/ItemSubcategoryView.php index 04868013..9329be0d 100644 --- a/app/Http/Controllers/ItemSubcategoryView.php +++ b/app/Http/Controllers/ItemSubcategoryView.php @@ -16,7 +16,7 @@ * Manage the category for an item row * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubcategoryView extends Controller diff --git a/app/Http/Controllers/ItemSubtypeView.php b/app/Http/Controllers/ItemSubtypeView.php index 440f4904..7aa011ff 100644 --- a/app/Http/Controllers/ItemSubtypeView.php +++ b/app/Http/Controllers/ItemSubtypeView.php @@ -18,7 +18,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubtypeView extends Controller diff --git a/app/Http/Controllers/ItemTransferManage.php b/app/Http/Controllers/ItemTransferManage.php index 5e01b4e3..2ed17a85 100644 --- a/app/Http/Controllers/ItemTransferManage.php +++ b/app/Http/Controllers/ItemTransferManage.php @@ -16,7 +16,7 @@ * Transfer items * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemTransferManage extends Controller diff --git a/app/Http/Controllers/ItemTransferView.php b/app/Http/Controllers/ItemTransferView.php index 118930f2..6be643dd 100644 --- a/app/Http/Controllers/ItemTransferView.php +++ b/app/Http/Controllers/ItemTransferView.php @@ -18,7 +18,7 @@ * Transfer items * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemTransferView extends Controller diff --git a/app/Http/Controllers/ItemTypeView.php b/app/Http/Controllers/ItemTypeView.php index 56c6c397..e858526e 100644 --- a/app/Http/Controllers/ItemTypeView.php +++ b/app/Http/Controllers/ItemTypeView.php @@ -19,7 +19,7 @@ * Manage the item types supported by the API * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemTypeView extends Controller diff --git a/app/Http/Controllers/ItemView.php b/app/Http/Controllers/ItemView.php index 4bdfabee..78bb3a2e 100644 --- a/app/Http/Controllers/ItemView.php +++ b/app/Http/Controllers/ItemView.php @@ -10,7 +10,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemView extends Controller diff --git a/app/Http/Controllers/PassportView.php b/app/Http/Controllers/PassportView.php deleted file mode 100644 index 2fd65ed8..00000000 --- a/app/Http/Controllers/PassportView.php +++ /dev/null @@ -1,119 +0,0 @@ - request('email'), - 'password' => request('password') - ] - ) === true - ) { - $user = Auth::user(); - - if ($user !== null) { - - $token = $user->createToken('costs-to-expect-api'); - - return response()->json( - [ - 'id' => $this->hash->user()->encode(Auth::id()), - 'type' => 'Bearer', - 'token' => $token->accessToken, - 'created' => $token->token->created_at, - 'updated' => $token->token->updated_at, - 'expires' => $token->token->expires_at - ], - 201 - ); - } - - return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); - } - - return response()->json(['message' => 'Unauthorised, credentials invalid'], 401); - } - - public function check() - { - return response()->json(['auth' => Auth::guard('api')->check()], 200); - } - - /** - * Register with the API will return the token - * - * @return Http\JsonResponse - */ - public function register() - { - $validator = Validator::make( - request()->all(), - [ - 'name' => 'required', - 'email' => 'required|email', - 'password' => 'required', - 'password_confirmation' => 'required|same:password', - ] - ); - - if ($validator->fails()) { - return response()->json( - [ - 'message' => 'Validation error, please review the below', - 'fields' => $validator->errors() - ], - 422 - ); - } - - $input = request()->all(); - - $input['password'] = Hash::make($input['password']); - - try { - User::create($input); - } catch (\Exception $e) { - return response()->json(['error' => 'Unable to create user'], 500); - } - - return response()->json([], 204); - } - - /** - * Return user details - * - * @return Http\JsonResponse - */ - public function user() - { - $user = Auth::user(); - - if ($user === null) { - abort(403); - } - - $user = $user->toArray(); - $user['id'] = $this->hash->user()->encode($user['id']); - - return response()->json($user, 200); - } -} diff --git a/app/Http/Controllers/PermittedUserView.php b/app/Http/Controllers/PermittedUserView.php index 1ac69a08..6827b442 100644 --- a/app/Http/Controllers/PermittedUserView.php +++ b/app/Http/Controllers/PermittedUserView.php @@ -16,7 +16,7 @@ * Manage permitted users * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class PermittedUserView extends Controller diff --git a/app/Http/Controllers/QueueView.php b/app/Http/Controllers/QueueView.php index 758aa7e0..908a8a40 100644 --- a/app/Http/Controllers/QueueView.php +++ b/app/Http/Controllers/QueueView.php @@ -15,7 +15,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class QueueView extends Controller diff --git a/app/Http/Controllers/RequestManage.php b/app/Http/Controllers/RequestManage.php index 318173aa..ce400958 100644 --- a/app/Http/Controllers/RequestManage.php +++ b/app/Http/Controllers/RequestManage.php @@ -12,7 +12,7 @@ * Manage categories * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class RequestManage extends Controller diff --git a/app/Http/Controllers/RequestView.php b/app/Http/Controllers/RequestView.php index a2670c5a..b027b40a 100644 --- a/app/Http/Controllers/RequestView.php +++ b/app/Http/Controllers/RequestView.php @@ -12,7 +12,7 @@ * Manage categories * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class RequestView extends Controller diff --git a/app/Http/Controllers/ResourceManage.php b/app/Http/Controllers/ResourceManage.php index 16491414..ff0fd9d3 100644 --- a/app/Http/Controllers/ResourceManage.php +++ b/app/Http/Controllers/ResourceManage.php @@ -19,7 +19,7 @@ * Manage resources * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceManage extends Controller diff --git a/app/Http/Controllers/ResourceTypeItemView.php b/app/Http/Controllers/ResourceTypeItemView.php index 97650d88..343f7c14 100644 --- a/app/Http/Controllers/ResourceTypeItemView.php +++ b/app/Http/Controllers/ResourceTypeItemView.php @@ -10,7 +10,7 @@ * View items for all resources for a resource type * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeItemView extends Controller diff --git a/app/Http/Controllers/ResourceTypeManage.php b/app/Http/Controllers/ResourceTypeManage.php index 8190bb64..2b66c774 100644 --- a/app/Http/Controllers/ResourceTypeManage.php +++ b/app/Http/Controllers/ResourceTypeManage.php @@ -20,7 +20,7 @@ * Manage resource types * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeManage extends Controller diff --git a/app/Http/Controllers/ResourceTypeView.php b/app/Http/Controllers/ResourceTypeView.php index c0c216e7..07d02ed9 100644 --- a/app/Http/Controllers/ResourceTypeView.php +++ b/app/Http/Controllers/ResourceTypeView.php @@ -19,7 +19,7 @@ * Manage resource types * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeView extends Controller diff --git a/app/Http/Controllers/ResourceView.php b/app/Http/Controllers/ResourceView.php index 30b37584..eb390184 100644 --- a/app/Http/Controllers/ResourceView.php +++ b/app/Http/Controllers/ResourceView.php @@ -20,7 +20,7 @@ * Manage resources * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceView extends Controller diff --git a/app/Http/Controllers/SubcategoryManage.php b/app/Http/Controllers/SubcategoryManage.php index 42b3d86e..3a43cd0b 100644 --- a/app/Http/Controllers/SubcategoryManage.php +++ b/app/Http/Controllers/SubcategoryManage.php @@ -16,7 +16,7 @@ * Manage category sub categories * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SubcategoryManage extends Controller diff --git a/app/Http/Controllers/SubcategoryView.php b/app/Http/Controllers/SubcategoryView.php index ac9b9432..ab5915cf 100644 --- a/app/Http/Controllers/SubcategoryView.php +++ b/app/Http/Controllers/SubcategoryView.php @@ -18,7 +18,7 @@ * Manage category sub categories * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SubcategoryView extends Controller diff --git a/app/Http/Controllers/Summary/CategoryView.php b/app/Http/Controllers/Summary/CategoryView.php index 8b25086b..6390bb8b 100644 --- a/app/Http/Controllers/Summary/CategoryView.php +++ b/app/Http/Controllers/Summary/CategoryView.php @@ -15,7 +15,7 @@ * Summary controller for the categories routes * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class CategoryView extends Controller diff --git a/app/Http/Controllers/Summary/ResourceTypeItemView.php b/app/Http/Controllers/Summary/ResourceTypeItemView.php index 89ff6a08..1e300209 100644 --- a/app/Http/Controllers/Summary/ResourceTypeItemView.php +++ b/app/Http/Controllers/Summary/ResourceTypeItemView.php @@ -12,7 +12,7 @@ * Summary for resource type items route * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeItemView extends Controller diff --git a/app/Http/Controllers/Summary/ResourceTypeView.php b/app/Http/Controllers/Summary/ResourceTypeView.php index c5f91ad0..521d62ba 100644 --- a/app/Http/Controllers/Summary/ResourceTypeView.php +++ b/app/Http/Controllers/Summary/ResourceTypeView.php @@ -15,7 +15,7 @@ * Summary controller for the resource-type routes * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeView extends Controller diff --git a/app/Http/Controllers/Summary/ResourceView.php b/app/Http/Controllers/Summary/ResourceView.php index 681dc54a..8f3dea4e 100644 --- a/app/Http/Controllers/Summary/ResourceView.php +++ b/app/Http/Controllers/Summary/ResourceView.php @@ -15,7 +15,7 @@ * Summary controller for the resource routes * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceView extends Controller diff --git a/app/Http/Controllers/Summary/SubcategoryView.php b/app/Http/Controllers/Summary/SubcategoryView.php index 73e5a87a..8f50066b 100644 --- a/app/Http/Controllers/Summary/SubcategoryView.php +++ b/app/Http/Controllers/Summary/SubcategoryView.php @@ -15,7 +15,7 @@ * Summary controller for the subcategories routes * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SubcategoryView extends Controller diff --git a/app/Http/Controllers/ToolManage.php b/app/Http/Controllers/ToolManage.php index 5c716a30..969fcab2 100644 --- a/app/Http/Controllers/ToolManage.php +++ b/app/Http/Controllers/ToolManage.php @@ -8,7 +8,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ToolManage extends Controller diff --git a/app/Http/Controllers/ToolView.php b/app/Http/Controllers/ToolView.php index d6735149..e00013ad 100644 --- a/app/Http/Controllers/ToolView.php +++ b/app/Http/Controllers/ToolView.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ToolView extends Controller diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index ff44ce8a..8a85b5f7 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -37,7 +37,7 @@ class Kernel extends HttpKernel ], 'api' => [ - 'throttle:300,1', + 'throttle:api', 'bindings' ], ]; diff --git a/app/Http/Middleware/ConvertGetParameters.php b/app/Http/Middleware/ConvertGetParameters.php index 6234d2c0..f647a1bf 100644 --- a/app/Http/Middleware/ConvertGetParameters.php +++ b/app/Http/Middleware/ConvertGetParameters.php @@ -10,7 +10,7 @@ * Convert hashed GET params, decode the value and reset in the request * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ConvertGetParameters diff --git a/app/Http/Middleware/ConvertRouteParameters.php b/app/Http/Middleware/ConvertRouteParameters.php index e54c8c34..ab56b58f 100644 --- a/app/Http/Middleware/ConvertRouteParameters.php +++ b/app/Http/Middleware/ConvertRouteParameters.php @@ -9,7 +9,7 @@ * Convert hashed route params, decode the value and reset in the route * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ConvertRouteParameters diff --git a/app/ItemType/AllocatedExpense/Model.php b/app/ItemType/AllocatedExpense/Model.php index 7760ba40..faf4dac6 100644 --- a/app/ItemType/AllocatedExpense/Model.php +++ b/app/ItemType/AllocatedExpense/Model.php @@ -13,7 +13,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Model extends LaravelModel diff --git a/app/ItemType/AllocatedExpense/ResourceTypeModel.php b/app/ItemType/AllocatedExpense/ResourceTypeModel.php index 29dcce48..06a273f6 100644 --- a/app/ItemType/AllocatedExpense/ResourceTypeModel.php +++ b/app/ItemType/AllocatedExpense/ResourceTypeModel.php @@ -12,7 +12,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeModel extends LaravelModel diff --git a/app/ItemType/AllocatedExpense/ResourceTypeTransformer.php b/app/ItemType/AllocatedExpense/ResourceTypeTransformer.php index d60743e7..45c97654 100644 --- a/app/ItemType/AllocatedExpense/ResourceTypeTransformer.php +++ b/app/ItemType/AllocatedExpense/ResourceTypeTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeTransformer extends BaseTransformer diff --git a/app/ItemType/AllocatedExpense/SummaryModel.php b/app/ItemType/AllocatedExpense/SummaryModel.php index ca15f36b..7176c78d 100644 --- a/app/ItemType/AllocatedExpense/SummaryModel.php +++ b/app/ItemType/AllocatedExpense/SummaryModel.php @@ -11,7 +11,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryModel extends LaravelModel diff --git a/app/ItemType/AllocatedExpense/SummaryResourceTypeModel.php b/app/ItemType/AllocatedExpense/SummaryResourceTypeModel.php index c9fea0cf..f86b6f4f 100644 --- a/app/ItemType/AllocatedExpense/SummaryResourceTypeModel.php +++ b/app/ItemType/AllocatedExpense/SummaryResourceTypeModel.php @@ -11,7 +11,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryResourceTypeModel extends LaravelModel diff --git a/app/ItemType/AllocatedExpense/SummaryTransformer.php b/app/ItemType/AllocatedExpense/SummaryTransformer.php index af16ef51..f9139172 100644 --- a/app/ItemType/AllocatedExpense/SummaryTransformer.php +++ b/app/ItemType/AllocatedExpense/SummaryTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformer extends Transformer diff --git a/app/ItemType/AllocatedExpense/SummaryTransformerByCategory.php b/app/ItemType/AllocatedExpense/SummaryTransformerByCategory.php index 405a3a6c..46280ccc 100644 --- a/app/ItemType/AllocatedExpense/SummaryTransformerByCategory.php +++ b/app/ItemType/AllocatedExpense/SummaryTransformerByCategory.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByCategory extends Transformer diff --git a/app/ItemType/AllocatedExpense/SummaryTransformerByMonth.php b/app/ItemType/AllocatedExpense/SummaryTransformerByMonth.php index 1dfdad73..501f7605 100644 --- a/app/ItemType/AllocatedExpense/SummaryTransformerByMonth.php +++ b/app/ItemType/AllocatedExpense/SummaryTransformerByMonth.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByMonth extends Transformer diff --git a/app/ItemType/AllocatedExpense/SummaryTransformerByResource.php b/app/ItemType/AllocatedExpense/SummaryTransformerByResource.php index 1899adb8..f12cafde 100644 --- a/app/ItemType/AllocatedExpense/SummaryTransformerByResource.php +++ b/app/ItemType/AllocatedExpense/SummaryTransformerByResource.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByResource extends Transformer diff --git a/app/ItemType/AllocatedExpense/SummaryTransformerBySubcategory.php b/app/ItemType/AllocatedExpense/SummaryTransformerBySubcategory.php index e308aa85..92d4c6a3 100644 --- a/app/ItemType/AllocatedExpense/SummaryTransformerBySubcategory.php +++ b/app/ItemType/AllocatedExpense/SummaryTransformerBySubcategory.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerBySubcategory extends Transformer diff --git a/app/ItemType/AllocatedExpense/SummaryTransformerByYear.php b/app/ItemType/AllocatedExpense/SummaryTransformerByYear.php index 276fadec..40b7e0ec 100644 --- a/app/ItemType/AllocatedExpense/SummaryTransformerByYear.php +++ b/app/ItemType/AllocatedExpense/SummaryTransformerByYear.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByYear extends Transformer diff --git a/app/ItemType/AllocatedExpense/Transformer.php b/app/ItemType/AllocatedExpense/Transformer.php index 0b99c40d..41629114 100644 --- a/app/ItemType/AllocatedExpense/Transformer.php +++ b/app/ItemType/AllocatedExpense/Transformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Transformer extends BaseTransformer diff --git a/app/ItemType/AllocatedExpense/Validator.php b/app/ItemType/AllocatedExpense/Validator.php index ccbefdff..e946b548 100644 --- a/app/ItemType/AllocatedExpense/Validator.php +++ b/app/ItemType/AllocatedExpense/Validator.php @@ -8,7 +8,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Validator extends BaseValidator diff --git a/app/ItemType/Game/Model.php b/app/ItemType/Game/Model.php index 7de2f37b..868fe0ff 100644 --- a/app/ItemType/Game/Model.php +++ b/app/ItemType/Game/Model.php @@ -11,7 +11,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Model extends LaravelModel diff --git a/app/ItemType/Game/ResourceTypeModel.php b/app/ItemType/Game/ResourceTypeModel.php index 7fabb036..aa80f2a7 100644 --- a/app/ItemType/Game/ResourceTypeModel.php +++ b/app/ItemType/Game/ResourceTypeModel.php @@ -10,7 +10,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeModel extends LaravelModel diff --git a/app/ItemType/Game/ResourceTypeTransformer.php b/app/ItemType/Game/ResourceTypeTransformer.php index 2feb82ce..a67f1097 100644 --- a/app/ItemType/Game/ResourceTypeTransformer.php +++ b/app/ItemType/Game/ResourceTypeTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeTransformer extends BaseTransformer diff --git a/app/ItemType/Game/SummaryModel.php b/app/ItemType/Game/SummaryModel.php index 20db7f7a..9214a843 100644 --- a/app/ItemType/Game/SummaryModel.php +++ b/app/ItemType/Game/SummaryModel.php @@ -10,7 +10,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryModel extends LaravelModel diff --git a/app/ItemType/Game/SummaryResourceTypeModel.php b/app/ItemType/Game/SummaryResourceTypeModel.php index 68dc2638..5a9b435c 100644 --- a/app/ItemType/Game/SummaryResourceTypeModel.php +++ b/app/ItemType/Game/SummaryResourceTypeModel.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryResourceTypeModel extends LaravelModel diff --git a/app/ItemType/Game/SummaryTransformer.php b/app/ItemType/Game/SummaryTransformer.php index a6ee9ee0..f9d6f94b 100644 --- a/app/ItemType/Game/SummaryTransformer.php +++ b/app/ItemType/Game/SummaryTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformer extends Transformer diff --git a/app/ItemType/Game/SummaryTransformerByResource.php b/app/ItemType/Game/SummaryTransformerByResource.php index d2c41785..3cd9bfe5 100644 --- a/app/ItemType/Game/SummaryTransformerByResource.php +++ b/app/ItemType/Game/SummaryTransformerByResource.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByResource extends Transformer diff --git a/app/ItemType/Game/Transformer.php b/app/ItemType/Game/Transformer.php index b640da58..3e2e00f4 100644 --- a/app/ItemType/Game/Transformer.php +++ b/app/ItemType/Game/Transformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Transformer extends BaseTransformer diff --git a/app/ItemType/Game/Validator.php b/app/ItemType/Game/Validator.php index a3aaab1d..741069c4 100644 --- a/app/ItemType/Game/Validator.php +++ b/app/ItemType/Game/Validator.php @@ -9,7 +9,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Validator extends BaseValidator diff --git a/app/ItemType/SimpleExpense/Model.php b/app/ItemType/SimpleExpense/Model.php index 23a8ae8e..c259428a 100644 --- a/app/ItemType/SimpleExpense/Model.php +++ b/app/ItemType/SimpleExpense/Model.php @@ -12,7 +12,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Model extends LaravelModel diff --git a/app/ItemType/SimpleExpense/ResourceTypeModel.php b/app/ItemType/SimpleExpense/ResourceTypeModel.php index 197b32fa..51582053 100644 --- a/app/ItemType/SimpleExpense/ResourceTypeModel.php +++ b/app/ItemType/SimpleExpense/ResourceTypeModel.php @@ -11,7 +11,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeModel extends LaravelModel diff --git a/app/ItemType/SimpleExpense/ResourceTypeTransformer.php b/app/ItemType/SimpleExpense/ResourceTypeTransformer.php index f4a48f54..ab3b56a9 100644 --- a/app/ItemType/SimpleExpense/ResourceTypeTransformer.php +++ b/app/ItemType/SimpleExpense/ResourceTypeTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeTransformer extends BaseTransformer diff --git a/app/ItemType/SimpleExpense/SummaryModel.php b/app/ItemType/SimpleExpense/SummaryModel.php index 66e888e9..282e05e7 100644 --- a/app/ItemType/SimpleExpense/SummaryModel.php +++ b/app/ItemType/SimpleExpense/SummaryModel.php @@ -10,7 +10,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryModel extends LaravelModel diff --git a/app/ItemType/SimpleExpense/SummaryResourceTypeModel.php b/app/ItemType/SimpleExpense/SummaryResourceTypeModel.php index 0092ba2c..ea4acedf 100644 --- a/app/ItemType/SimpleExpense/SummaryResourceTypeModel.php +++ b/app/ItemType/SimpleExpense/SummaryResourceTypeModel.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryResourceTypeModel extends LaravelModel diff --git a/app/ItemType/SimpleExpense/SummaryTransformer.php b/app/ItemType/SimpleExpense/SummaryTransformer.php index 16fd804f..e07d51a4 100644 --- a/app/ItemType/SimpleExpense/SummaryTransformer.php +++ b/app/ItemType/SimpleExpense/SummaryTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformer extends Transformer diff --git a/app/ItemType/SimpleExpense/SummaryTransformerByCategory.php b/app/ItemType/SimpleExpense/SummaryTransformerByCategory.php index 33edd95c..1333a197 100644 --- a/app/ItemType/SimpleExpense/SummaryTransformerByCategory.php +++ b/app/ItemType/SimpleExpense/SummaryTransformerByCategory.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByCategory extends Transformer diff --git a/app/ItemType/SimpleExpense/SummaryTransformerByResource.php b/app/ItemType/SimpleExpense/SummaryTransformerByResource.php index 5355c3c0..86ead82b 100644 --- a/app/ItemType/SimpleExpense/SummaryTransformerByResource.php +++ b/app/ItemType/SimpleExpense/SummaryTransformerByResource.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByResource extends Transformer diff --git a/app/ItemType/SimpleExpense/SummaryTransformerBySubcategory.php b/app/ItemType/SimpleExpense/SummaryTransformerBySubcategory.php index 93a9b23c..c5f0e035 100644 --- a/app/ItemType/SimpleExpense/SummaryTransformerBySubcategory.php +++ b/app/ItemType/SimpleExpense/SummaryTransformerBySubcategory.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerBySubcategory extends Transformer diff --git a/app/ItemType/SimpleExpense/Transformer.php b/app/ItemType/SimpleExpense/Transformer.php index 40d2e0a2..27477e8e 100644 --- a/app/ItemType/SimpleExpense/Transformer.php +++ b/app/ItemType/SimpleExpense/Transformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Transformer extends BaseTransformer diff --git a/app/ItemType/SimpleExpense/Validator.php b/app/ItemType/SimpleExpense/Validator.php index b05fb2a7..ef134db6 100644 --- a/app/ItemType/SimpleExpense/Validator.php +++ b/app/ItemType/SimpleExpense/Validator.php @@ -8,7 +8,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Validator extends BaseValidator diff --git a/app/ItemType/SimpleItem/Model.php b/app/ItemType/SimpleItem/Model.php index aa898d63..463461ca 100644 --- a/app/ItemType/SimpleItem/Model.php +++ b/app/ItemType/SimpleItem/Model.php @@ -10,7 +10,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Model extends LaravelModel diff --git a/app/ItemType/SimpleItem/ResourceTypeModel.php b/app/ItemType/SimpleItem/ResourceTypeModel.php index 9e4d6c31..b0f9b7a0 100644 --- a/app/ItemType/SimpleItem/ResourceTypeModel.php +++ b/app/ItemType/SimpleItem/ResourceTypeModel.php @@ -10,7 +10,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeModel extends LaravelModel diff --git a/app/ItemType/SimpleItem/ResourceTypeTransformer.php b/app/ItemType/SimpleItem/ResourceTypeTransformer.php index 6b25f209..dd41fbf0 100644 --- a/app/ItemType/SimpleItem/ResourceTypeTransformer.php +++ b/app/ItemType/SimpleItem/ResourceTypeTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeTransformer extends BaseTransformer diff --git a/app/ItemType/SimpleItem/SummaryModel.php b/app/ItemType/SimpleItem/SummaryModel.php index f01e9fb5..13a0c3bf 100644 --- a/app/ItemType/SimpleItem/SummaryModel.php +++ b/app/ItemType/SimpleItem/SummaryModel.php @@ -10,7 +10,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryModel extends LaravelModel diff --git a/app/ItemType/SimpleItem/SummaryResourceTypeModel.php b/app/ItemType/SimpleItem/SummaryResourceTypeModel.php index 86338ca2..9bd3bb81 100644 --- a/app/ItemType/SimpleItem/SummaryResourceTypeModel.php +++ b/app/ItemType/SimpleItem/SummaryResourceTypeModel.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryResourceTypeModel extends LaravelModel diff --git a/app/ItemType/SimpleItem/SummaryTransformer.php b/app/ItemType/SimpleItem/SummaryTransformer.php index c505f4e5..abe61d8a 100644 --- a/app/ItemType/SimpleItem/SummaryTransformer.php +++ b/app/ItemType/SimpleItem/SummaryTransformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformer extends Transformer diff --git a/app/ItemType/SimpleItem/SummaryTransformerByResource.php b/app/ItemType/SimpleItem/SummaryTransformerByResource.php index dc4a2a97..4d1081f1 100644 --- a/app/ItemType/SimpleItem/SummaryTransformerByResource.php +++ b/app/ItemType/SimpleItem/SummaryTransformerByResource.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class SummaryTransformerByResource extends Transformer diff --git a/app/ItemType/SimpleItem/Transformer.php b/app/ItemType/SimpleItem/Transformer.php index d1a4daf5..caf0a660 100644 --- a/app/ItemType/SimpleItem/Transformer.php +++ b/app/ItemType/SimpleItem/Transformer.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Transformer extends BaseTransformer diff --git a/app/ItemType/SimpleItem/Validator.php b/app/ItemType/SimpleItem/Validator.php index f44bccc6..6cb39ce6 100644 --- a/app/ItemType/SimpleItem/Validator.php +++ b/app/ItemType/SimpleItem/Validator.php @@ -8,7 +8,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Validator extends BaseValidator diff --git a/app/Jobs/ClearCache.php b/app/Jobs/ClearCache.php index 854c51e5..b80595e1 100644 --- a/app/Jobs/ClearCache.php +++ b/app/Jobs/ClearCache.php @@ -18,7 +18,7 @@ * Clear the requested cache keys * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ClearCache implements ShouldQueue diff --git a/app/Listeners/PruneTokens.php b/app/Listeners/PruneTokens.php deleted file mode 100644 index 6387b9a1..00000000 --- a/app/Listeners/PruneTokens.php +++ /dev/null @@ -1,33 +0,0 @@ - - where('revoked', '=', 1)-> - where('user_id', '=', $event->userId)-> - delete(); - } -} diff --git a/app/Listeners/RevokeTokens.php b/app/Listeners/RevokeTokens.php deleted file mode 100644 index 820f7eac..00000000 --- a/app/Listeners/RevokeTokens.php +++ /dev/null @@ -1,33 +0,0 @@ - - where('id', '!=', $event->tokenId)-> - where('user_id', '=', $event->userId)-> - update(['revoked' => 1]); - } -} diff --git a/app/Method/DeleteRequest.php b/app/Method/DeleteRequest.php index 5c39d89e..04d78201 100644 --- a/app/Method/DeleteRequest.php +++ b/app/Method/DeleteRequest.php @@ -5,7 +5,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class DeleteRequest extends Method diff --git a/app/Method/GetRequest.php b/app/Method/GetRequest.php index 5467632c..de95a4c5 100644 --- a/app/Method/GetRequest.php +++ b/app/Method/GetRequest.php @@ -5,7 +5,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class GetRequest extends Method diff --git a/app/Method/Method.php b/app/Method/Method.php index 6858b058..1dae6a2b 100644 --- a/app/Method/Method.php +++ b/app/Method/Method.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ abstract class Method diff --git a/app/Method/PatchRequest.php b/app/Method/PatchRequest.php index 56d29469..66c66f9e 100644 --- a/app/Method/PatchRequest.php +++ b/app/Method/PatchRequest.php @@ -8,7 +8,7 @@ * a single HTTP Verb, in this case PATCH * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class PatchRequest extends Method diff --git a/app/Method/PostRequest.php b/app/Method/PostRequest.php index a54097d6..71ac5a98 100644 --- a/app/Method/PostRequest.php +++ b/app/Method/PostRequest.php @@ -5,7 +5,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class PostRequest extends Method diff --git a/app/Models/Cache.php b/app/Models/Cache.php index c1f8ce88..15f97ce2 100644 --- a/app/Models/Cache.php +++ b/app/Models/Cache.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Cache extends Model diff --git a/app/Models/Category.php b/app/Models/Category.php index 32cddea4..7fe14e48 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -13,7 +13,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Category extends Model diff --git a/app/Models/Clause.php b/app/Models/Clause.php index b03be94e..7a15cca1 100644 --- a/app/Models/Clause.php +++ b/app/Models/Clause.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Clause diff --git a/app/Models/Currency.php b/app/Models/Currency.php index 123b6ca4..175fc737 100644 --- a/app/Models/Currency.php +++ b/app/Models/Currency.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Currency extends Model diff --git a/app/Models/EntityLimits.php b/app/Models/EntityLimits.php index 3b37686d..76398aa7 100644 --- a/app/Models/EntityLimits.php +++ b/app/Models/EntityLimits.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class EntityLimits extends Model diff --git a/app/Models/ErrorLog.php b/app/Models/ErrorLog.php index c36f5856..9caa936e 100644 --- a/app/Models/ErrorLog.php +++ b/app/Models/ErrorLog.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ErrorLog extends Model diff --git a/app/Models/Item.php b/app/Models/Item.php index 37e144bc..600fa8a7 100644 --- a/app/Models/Item.php +++ b/app/Models/Item.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Item extends Model diff --git a/app/Models/ItemCategory.php b/app/Models/ItemCategory.php index ffcb8a59..45c62c0d 100644 --- a/app/Models/ItemCategory.php +++ b/app/Models/ItemCategory.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemCategory extends Model diff --git a/app/Models/ItemPartialTransfer.php b/app/Models/ItemPartialTransfer.php index d53e0ca6..25bb9f90 100644 --- a/app/Models/ItemPartialTransfer.php +++ b/app/Models/ItemPartialTransfer.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemPartialTransfer extends Model diff --git a/app/Models/ItemSubcategory.php b/app/Models/ItemSubcategory.php index 4b2b2722..b07ac6c7 100644 --- a/app/Models/ItemSubcategory.php +++ b/app/Models/ItemSubcategory.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubcategory extends Model diff --git a/app/Models/ItemSubtype.php b/app/Models/ItemSubtype.php index c4ca493d..30d1f011 100644 --- a/app/Models/ItemSubtype.php +++ b/app/Models/ItemSubtype.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubtype extends Model diff --git a/app/Models/ItemTransfer.php b/app/Models/ItemTransfer.php index ec0ae25d..fb451b6d 100644 --- a/app/Models/ItemTransfer.php +++ b/app/Models/ItemTransfer.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemTransfer extends Model diff --git a/app/Models/ItemType.php b/app/Models/ItemType.php index 8897e889..40893af0 100644 --- a/app/Models/ItemType.php +++ b/app/Models/ItemType.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemType extends Model diff --git a/app/Models/PasswordCreates.php b/app/Models/PasswordCreates.php new file mode 100644 index 00000000..87bb7547 --- /dev/null +++ b/app/Models/PasswordCreates.php @@ -0,0 +1,20 @@ + + * @copyright Dean Blackborough 2018-2021 + * @license https://github.com/costs-to-expect/api/blob/master/LICENSE + */ +class PasswordCreates extends Model +{ + protected $table = 'password_creates'; + + public $timestamps = false; +} diff --git a/app/Models/PasswordResets.php b/app/Models/PasswordResets.php new file mode 100644 index 00000000..b429da2c --- /dev/null +++ b/app/Models/PasswordResets.php @@ -0,0 +1,20 @@ + + * @copyright Dean Blackborough 2018-2021 + * @license https://github.com/costs-to-expect/api/blob/master/LICENSE + */ +class PasswordResets extends Model +{ + protected $table = 'password_resets'; + + public $timestamps = false; +} diff --git a/app/Models/PermittedUser.php b/app/Models/PermittedUser.php index fecb5a4f..f2cd1fb1 100644 --- a/app/Models/PermittedUser.php +++ b/app/Models/PermittedUser.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class PermittedUser extends Model diff --git a/app/Models/Queue.php b/app/Models/Queue.php index da988220..bb7a8d88 100644 --- a/app/Models/Queue.php +++ b/app/Models/Queue.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Queue extends Model diff --git a/app/Models/RequestErrorLog.php b/app/Models/RequestErrorLog.php index 25f2779c..41538a7c 100644 --- a/app/Models/RequestErrorLog.php +++ b/app/Models/RequestErrorLog.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class RequestErrorLog extends Model diff --git a/app/Models/Resource.php b/app/Models/Resource.php index bfc49d15..e6283e98 100644 --- a/app/Models/Resource.php +++ b/app/Models/Resource.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Resource extends Model diff --git a/app/Models/ResourceAccess.php b/app/Models/ResourceAccess.php index e5115e32..f0b69c0e 100644 --- a/app/Models/ResourceAccess.php +++ b/app/Models/ResourceAccess.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceAccess extends Model diff --git a/app/Models/ResourceItemSubtype.php b/app/Models/ResourceItemSubtype.php index c88fa03d..fafaba89 100644 --- a/app/Models/ResourceItemSubtype.php +++ b/app/Models/ResourceItemSubtype.php @@ -9,7 +9,7 @@ /** * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceItemSubtype extends Model diff --git a/app/Models/ResourceType.php b/app/Models/ResourceType.php index 7b21b515..c6a9be44 100644 --- a/app/Models/ResourceType.php +++ b/app/Models/ResourceType.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceType extends Model diff --git a/app/Models/ResourceTypeItem.php b/app/Models/ResourceTypeItem.php index c65cafe8..04332921 100644 --- a/app/Models/ResourceTypeItem.php +++ b/app/Models/ResourceTypeItem.php @@ -13,7 +13,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeItem extends Model diff --git a/app/Models/ResourceTypeItemType.php b/app/Models/ResourceTypeItemType.php index 0c132d49..86df27a8 100644 --- a/app/Models/ResourceTypeItemType.php +++ b/app/Models/ResourceTypeItemType.php @@ -11,7 +11,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeItemType extends Model diff --git a/app/Models/Subcategory.php b/app/Models/Subcategory.php index 3b458aaf..8307f1b0 100644 --- a/app/Models/Subcategory.php +++ b/app/Models/Subcategory.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Subcategory extends Model diff --git a/app/Models/Summary/Category.php b/app/Models/Summary/Category.php index a4aa7115..8d39dde1 100644 --- a/app/Models/Summary/Category.php +++ b/app/Models/Summary/Category.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Category extends Model diff --git a/app/Models/Summary/Resource.php b/app/Models/Summary/Resource.php index a6cfbfb8..a8606da2 100644 --- a/app/Models/Summary/Resource.php +++ b/app/Models/Summary/Resource.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Resource extends Model diff --git a/app/Models/Summary/ResourceType.php b/app/Models/Summary/ResourceType.php index ded95769..f31a2786 100644 --- a/app/Models/Summary/ResourceType.php +++ b/app/Models/Summary/ResourceType.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceType extends Model diff --git a/app/Models/Summary/Subcategory.php b/app/Models/Summary/Subcategory.php index a3f6e17c..f7d72543 100644 --- a/app/Models/Summary/Subcategory.php +++ b/app/Models/Summary/Subcategory.php @@ -12,7 +12,7 @@ * * @mixin QueryBuilder * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Subcategory extends Model diff --git a/app/Notifications/ForgotPassword.php b/app/Notifications/ForgotPassword.php new file mode 100644 index 00000000..6beae511 --- /dev/null +++ b/app/Notifications/ForgotPassword.php @@ -0,0 +1,57 @@ +user = $user; + $this->token = $token; + } + + 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) + { + return (new MailMessage) + ->subject('Costs to Expect API: Reset password') + ->greeting('Hi,') + ->line('We have received a request to reset your password, if this we you please follow the steps below, if this was not you, please ignore this email and let us know.') + ->line("To create a new password please POST `password` and `password_confirmation` to " . url('/v2/auth/create-new-password?email=' . urlencode($this->user->email) . '&token=' . urlencode($this->token))) + ->line('Thank you for using the Costs to Expect API.'); + } + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return [ + // + ]; + } +} diff --git a/app/Notifications/Registered.php b/app/Notifications/Registered.php new file mode 100644 index 00000000..831ca7a1 --- /dev/null +++ b/app/Notifications/Registered.php @@ -0,0 +1,49 @@ +user = $user; + $this->token = $token; + } + + public function via($notifiable) + { + return ['mail']; + } + + public function toMail($notifiable) + { + return + (new MailMessage) + ->subject('Costs to Expect API: Account registration') + ->greeting('Hi,') + ->line('Thank you for registering with the Costs to Expect API.') + ->line('To use the Costs to Expect API you need to complete your account. To complete your account you need to create a password.') + ->line("To create a password please POST `password` and `password_confirmation` to " . url('/v2/auth/create-password?email=' . urlencode($this->user->email) . '&token=' . urlencode($this->token))) + ->line('Whilst we have you, the documentation for the API is available online.') + ->action('Read our documentation', url('https://postman.costs-to-expect.com/')) + ->line('Thank you for using the Costs to Expect API.'); + } + + public function toArray($notifiable) + { + return [ + // + ]; + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 35471f6f..aec06312 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,8 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider; +use Laravel\Sanctum\PersonalAccessToken; +use Laravel\Sanctum\Sanctum; class AppServiceProvider extends ServiceProvider { @@ -13,7 +15,7 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - // + Sanctum::usePersonalAccessTokenModel(PersonalAccessToken::class); } /** diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 9c687cf4..d29ec85e 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -5,7 +5,6 @@ use DateInterval; use DateTime; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; -use Laravel\Passport\Passport; class AuthServiceProvider extends ServiceProvider { @@ -28,12 +27,6 @@ public function boot() { $this->registerPolicies(); - Passport::routes(); - Passport::personalAccessTokensExpireIn( - (new DateTime())->add( - new DateInterval('P3M') - ) - ); } } diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 0bc571e1..8f4df417 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -12,10 +12,6 @@ class EventServiceProvider extends ServiceProvider * @var array */ protected $listen = [ - 'Laravel\Passport\Events\AccessTokenCreated' => [ - 'App\Listeners\RevokeTokens', - 'App\Listeners\PruneTokens' - ], 'App\Events\RequestError' => [ 'App\Listeners\CaptureAndSendRequestError' ], diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index c5da22bf..faf7a8b4 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -2,69 +2,61 @@ namespace App\Providers; -use Illuminate\Support\Facades\Route; +use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\RateLimiter; +use Illuminate\Support\Facades\Route; class RouteServiceProvider extends ServiceProvider { /** - * This namespace is applied to your controller routes. + * The path to the "home" route for your application. * - * In addition, it is set as the URL generator's root namespace. + * This is used by Laravel authentication to redirect users after login. * * @var string */ - protected $namespace = 'App\Http\Controllers'; + public const HOME = '/home'; /** - * Define your route model bindings, pattern filters, etc. + * The controller namespace for the application. * - * @return void + * When present, controller route declarations will automatically be prefixed with this namespace. + * + * @var string|null */ - public function boot() - { - // - - parent::boot(); - } + protected $namespace = 'App\\Http\\Controllers'; /** - * Define the routes for the application. + * Define your route model bindings, pattern filters, etc. * * @return void */ - public function map() + public function boot() { - $this->mapApiRoutes(); + $this->configureRateLimiting(); - $this->mapWebRoutes(); - } + $this->routes(function () { + Route::middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapWebRoutes() - { - Route::middleware('web') - ->namespace($this->namespace) - ->group(base_path('routes/web.php')); + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + }); } /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. + * Configure the rate limiters for the application. * * @return void */ - protected function mapApiRoutes() + protected function configureRateLimiting() { - Route::middleware('api') - ->namespace($this->namespace) - ->group(base_path('routes/api.php')); + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(300)->by(optional($request->user())->id ?: $request->ip()); + }); } } diff --git a/app/Request/BodyValidation.php b/app/Request/BodyValidation.php index 3562ed1a..e92a70b3 100644 --- a/app/Request/BodyValidation.php +++ b/app/Request/BodyValidation.php @@ -14,7 +14,7 @@ * sense. * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class BodyValidation diff --git a/app/Request/Hash.php b/app/Request/Hash.php index 6cad642f..7f33b322 100644 --- a/app/Request/Hash.php +++ b/app/Request/Hash.php @@ -14,7 +14,7 @@ * sense. * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Hash diff --git a/app/Request/Parameter/Filter.php b/app/Request/Parameter/Filter.php index 0c44d517..815120c6 100644 --- a/app/Request/Parameter/Filter.php +++ b/app/Request/Parameter/Filter.php @@ -10,7 +10,7 @@ * Fetch and validate any filter parameters * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Filter diff --git a/app/Request/Parameter/Request.php b/app/Request/Parameter/Request.php index c6dc9be4..cd64ed1d 100644 --- a/app/Request/Parameter/Request.php +++ b/app/Request/Parameter/Request.php @@ -15,7 +15,7 @@ * ignore any invalid parameters * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Request diff --git a/app/Request/Parameter/Search.php b/app/Request/Parameter/Search.php index 41b9ffce..257120d8 100644 --- a/app/Request/Parameter/Search.php +++ b/app/Request/Parameter/Search.php @@ -7,7 +7,7 @@ * Fetch and validate any search parameters * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Search diff --git a/app/Request/Parameter/Sort.php b/app/Request/Parameter/Sort.php index 14a69e95..da22fb82 100644 --- a/app/Request/Parameter/Sort.php +++ b/app/Request/Parameter/Sort.php @@ -7,7 +7,7 @@ * Fetch and validate any sort parameters * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Sort diff --git a/app/Request/Route/Validate/Currency.php b/app/Request/Route/Validate/Currency.php index 4645763d..0a6c6f52 100644 --- a/app/Request/Route/Validate/Currency.php +++ b/app/Request/Route/Validate/Currency.php @@ -9,7 +9,7 @@ * Validate the route params to a currency * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Currency diff --git a/app/Request/Route/Validate/ItemSubtype.php b/app/Request/Route/Validate/ItemSubtype.php index ffe62d1c..f8013a8b 100644 --- a/app/Request/Route/Validate/ItemSubtype.php +++ b/app/Request/Route/Validate/ItemSubtype.php @@ -9,7 +9,7 @@ * Validate the route params to an item subtype * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubtype diff --git a/app/Request/Route/Validate/ItemType.php b/app/Request/Route/Validate/ItemType.php index 60c47aba..b378faea 100644 --- a/app/Request/Route/Validate/ItemType.php +++ b/app/Request/Route/Validate/ItemType.php @@ -9,7 +9,7 @@ * Validate the route params to an item type * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemType diff --git a/app/Request/Route/Validate/Queue.php b/app/Request/Route/Validate/Queue.php index ebd98b2e..5e432b91 100644 --- a/app/Request/Route/Validate/Queue.php +++ b/app/Request/Route/Validate/Queue.php @@ -7,7 +7,7 @@ /** * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Queue diff --git a/app/Request/Validate/Boolean.php b/app/Request/Validate/Boolean.php index 5213bc7d..77f62c03 100644 --- a/app/Request/Validate/Boolean.php +++ b/app/Request/Validate/Boolean.php @@ -7,7 +7,7 @@ * Small boolean validation utility * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Boolean diff --git a/app/Request/Validate/Category.php b/app/Request/Validate/Category.php index e92e1e8d..b944a979 100644 --- a/app/Request/Validate/Category.php +++ b/app/Request/Validate/Category.php @@ -11,7 +11,7 @@ * Validation helper class for categories, returns the generated validator objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Category extends BaseValidator diff --git a/app/Request/Validate/ItemCategory.php b/app/Request/Validate/ItemCategory.php index 356ff7e4..dd7bf8f3 100644 --- a/app/Request/Validate/ItemCategory.php +++ b/app/Request/Validate/ItemCategory.php @@ -11,7 +11,7 @@ * Validation helper class for item category, returns the generated validator objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemCategory extends BaseValidator diff --git a/app/Request/Validate/ItemPartialTransfer.php b/app/Request/Validate/ItemPartialTransfer.php index 96c761ed..d5ef7547 100644 --- a/app/Request/Validate/ItemPartialTransfer.php +++ b/app/Request/Validate/ItemPartialTransfer.php @@ -13,7 +13,7 @@ * objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemPartialTransfer extends BaseValidator diff --git a/app/Request/Validate/ItemSubcategory.php b/app/Request/Validate/ItemSubcategory.php index 7982fde4..12945ba7 100644 --- a/app/Request/Validate/ItemSubcategory.php +++ b/app/Request/Validate/ItemSubcategory.php @@ -11,7 +11,7 @@ * Validation helper class for item sub category, returns the generated validator objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubcategory extends BaseValidator diff --git a/app/Request/Validate/ItemTransfer.php b/app/Request/Validate/ItemTransfer.php index c5d84c31..40a02e06 100644 --- a/app/Request/Validate/ItemTransfer.php +++ b/app/Request/Validate/ItemTransfer.php @@ -12,7 +12,7 @@ * objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemTransfer extends BaseValidator diff --git a/app/Request/Validate/RequestErrorLog.php b/app/Request/Validate/RequestErrorLog.php index 5328bc8b..0580dbed 100644 --- a/app/Request/Validate/RequestErrorLog.php +++ b/app/Request/Validate/RequestErrorLog.php @@ -12,7 +12,7 @@ * object * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class RequestErrorLog extends BaseValidator diff --git a/app/Request/Validate/Resource.php b/app/Request/Validate/Resource.php index d4eafd99..1c3b95b9 100644 --- a/app/Request/Validate/Resource.php +++ b/app/Request/Validate/Resource.php @@ -12,7 +12,7 @@ * Validation helper class for resources, returns the generated validator objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Resource extends BaseValidator diff --git a/app/Request/Validate/ResourceType.php b/app/Request/Validate/ResourceType.php index 3ac6bae0..be2bfe2f 100644 --- a/app/Request/Validate/ResourceType.php +++ b/app/Request/Validate/ResourceType.php @@ -12,7 +12,7 @@ * Validation helper class for resource types, returns the generated validator objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceType extends BaseValidator diff --git a/app/Request/Validate/Subcategory.php b/app/Request/Validate/Subcategory.php index b6e07498..db088843 100644 --- a/app/Request/Validate/Subcategory.php +++ b/app/Request/Validate/Subcategory.php @@ -12,7 +12,7 @@ * validator objects * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Subcategory extends BaseValidator diff --git a/app/Request/Validate/Validator.php b/app/Request/Validate/Validator.php index 037291d7..8450ac90 100644 --- a/app/Request/Validate/Validator.php +++ b/app/Request/Validate/Validator.php @@ -12,7 +12,7 @@ * Base validator class, sets up the interface and includes helper methods * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ abstract class Validator diff --git a/app/Response/Cache/Collection.php b/app/Response/Cache/Collection.php index c0faeba2..2a9c1fa6 100644 --- a/app/Response/Cache/Collection.php +++ b/app/Response/Cache/Collection.php @@ -9,7 +9,7 @@ * object to interact with * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Collection diff --git a/app/Response/Cache/Control.php b/app/Response/Cache/Control.php index a29b9e28..677c720e 100644 --- a/app/Response/Cache/Control.php +++ b/app/Response/Cache/Control.php @@ -11,7 +11,7 @@ * Cache helper, wrapper around the Laravel cache facade * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Control diff --git a/app/Response/Cache/Job.php b/app/Response/Cache/Job.php index 36b0e533..223f3ca8 100644 --- a/app/Response/Cache/Job.php +++ b/app/Response/Cache/Job.php @@ -7,7 +7,7 @@ * Decode the payload for a job * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Job diff --git a/app/Response/Cache/JobPayload.php b/app/Response/Cache/JobPayload.php index 40799c08..8a60f050 100644 --- a/app/Response/Cache/JobPayload.php +++ b/app/Response/Cache/JobPayload.php @@ -9,7 +9,7 @@ * necessary * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class JobPayload diff --git a/app/Response/Cache/Summary.php b/app/Response/Cache/Summary.php index a2419daf..bbf64465 100644 --- a/app/Response/Cache/Summary.php +++ b/app/Response/Cache/Summary.php @@ -9,7 +9,7 @@ * object to interact with * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Summary diff --git a/app/Response/Header/Header.php b/app/Response/Header/Header.php index 0e8d5634..a882d488 100644 --- a/app/Response/Header/Header.php +++ b/app/Response/Header/Header.php @@ -11,7 +11,7 @@ * sense. * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Header diff --git a/app/Response/Header/Headers.php b/app/Response/Header/Headers.php index 6f30b76b..2184e1ce 100644 --- a/app/Response/Header/Headers.php +++ b/app/Response/Header/Headers.php @@ -8,7 +8,7 @@ * Headers helper, generate the necessary headers for the response * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Headers diff --git a/app/Response/Pagination.php b/app/Response/Pagination.php index b9c2b928..93f57703 100644 --- a/app/Response/Pagination.php +++ b/app/Response/Pagination.php @@ -12,7 +12,7 @@ * Generate the pagination URIs based on all the request parameters * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Pagination diff --git a/app/Response/Responses.php b/app/Response/Responses.php index 9a603333..3e9a9263 100644 --- a/app/Response/Responses.php +++ b/app/Response/Responses.php @@ -17,7 +17,7 @@ * sense. * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Responses diff --git a/app/Transformers/Category.php b/app/Transformers/Category.php index 2fb04d4e..473f570b 100644 --- a/app/Transformers/Category.php +++ b/app/Transformers/Category.php @@ -10,7 +10,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Category extends Transformer diff --git a/app/Transformers/Currency.php b/app/Transformers/Currency.php index 21f450dd..937a6f1c 100644 --- a/app/Transformers/Currency.php +++ b/app/Transformers/Currency.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Currency extends Transformer diff --git a/app/Transformers/ItemCategory.php b/app/Transformers/ItemCategory.php index 8d0bbf24..325d65c6 100644 --- a/app/Transformers/ItemCategory.php +++ b/app/Transformers/ItemCategory.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemCategory extends Transformer diff --git a/app/Transformers/ItemPartialTransfer.php b/app/Transformers/ItemPartialTransfer.php index 9a771f07..5e10ac87 100644 --- a/app/Transformers/ItemPartialTransfer.php +++ b/app/Transformers/ItemPartialTransfer.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemPartialTransfer extends Transformer diff --git a/app/Transformers/ItemSubcategory.php b/app/Transformers/ItemSubcategory.php index 6649f852..520f8248 100644 --- a/app/Transformers/ItemSubcategory.php +++ b/app/Transformers/ItemSubcategory.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubcategory extends Transformer diff --git a/app/Transformers/ItemSubtype.php b/app/Transformers/ItemSubtype.php index 5b9ab21c..8cc52539 100644 --- a/app/Transformers/ItemSubtype.php +++ b/app/Transformers/ItemSubtype.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemSubtype extends Transformer diff --git a/app/Transformers/ItemTransfer.php b/app/Transformers/ItemTransfer.php index 77156cb5..8162683b 100644 --- a/app/Transformers/ItemTransfer.php +++ b/app/Transformers/ItemTransfer.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemTransfer extends Transformer diff --git a/app/Transformers/ItemType.php b/app/Transformers/ItemType.php index bad5abf8..bff36533 100644 --- a/app/Transformers/ItemType.php +++ b/app/Transformers/ItemType.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ItemType extends Transformer diff --git a/app/Transformers/PermittedUser.php b/app/Transformers/PermittedUser.php index e04b8ac5..ee404a55 100644 --- a/app/Transformers/PermittedUser.php +++ b/app/Transformers/PermittedUser.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class PermittedUser extends Transformer diff --git a/app/Transformers/Queue.php b/app/Transformers/Queue.php index 47e5e580..9f4071e4 100644 --- a/app/Transformers/Queue.php +++ b/app/Transformers/Queue.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Queue extends Transformer diff --git a/app/Transformers/RequestErrorLog.php b/app/Transformers/RequestErrorLog.php index 4a342034..f42ca738 100644 --- a/app/Transformers/RequestErrorLog.php +++ b/app/Transformers/RequestErrorLog.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class RequestErrorLog extends Transformer diff --git a/app/Transformers/Resource.php b/app/Transformers/Resource.php index 27fe17f9..e6b7da40 100644 --- a/app/Transformers/Resource.php +++ b/app/Transformers/Resource.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Resource extends Transformer diff --git a/app/Transformers/ResourceType.php b/app/Transformers/ResourceType.php index cb1c7abd..8e5fafbe 100644 --- a/app/Transformers/ResourceType.php +++ b/app/Transformers/ResourceType.php @@ -11,7 +11,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceType extends Transformer diff --git a/app/Transformers/ResourceTypeItem.php b/app/Transformers/ResourceTypeItem.php index af03d3c9..2dd46ca8 100644 --- a/app/Transformers/ResourceTypeItem.php +++ b/app/Transformers/ResourceTypeItem.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class ResourceTypeItem extends Transformer diff --git a/app/Transformers/Subcategory.php b/app/Transformers/Subcategory.php index a3cdd2e5..39852bc9 100644 --- a/app/Transformers/Subcategory.php +++ b/app/Transformers/Subcategory.php @@ -9,7 +9,7 @@ * Transform the data from our queries into the format we want to display * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ class Subcategory extends Transformer diff --git a/app/Transformers/Transformer.php b/app/Transformers/Transformer.php index 75b59a16..ac4dc0f8 100644 --- a/app/Transformers/Transformer.php +++ b/app/Transformers/Transformer.php @@ -10,7 +10,7 @@ * a useful structure and then the required format * * @author Dean Blackborough - * @copyright Dean Blackborough 2018-2020 + * @copyright Dean Blackborough 2018-2021 * @license https://github.com/costs-to-expect/api/blob/master/LICENSE */ abstract class Transformer diff --git a/app/User.php b/app/User.php index 4b3f3215..a018464a 100644 --- a/app/User.php +++ b/app/User.php @@ -4,7 +4,7 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; -use Laravel\Passport\HasApiTokens; +use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { diff --git a/composer.json b/composer.json index 4dc75e55..3c386a36 100644 --- a/composer.json +++ b/composer.json @@ -2,31 +2,34 @@ "name": "costs-to-expect/api", "description": "The API for https://api.costs-to-expect.com", "keywords": [ - "api", - "laravel", - "child cost" + "API", + "REST API", + "Laravel", + "Child cost", + "Expense API" ], "license": "MIT", "type": "project", "require": { "php": "^7.4", "ext-json": "*", - "lcobucci/jwt": "3.3.0", "doctrine/dbal": "^2.9", "fideloper/proxy": "^4.0", - "guzzlehttp/guzzle": "^6.3", + "guzzlehttp/guzzle": "^7.0.1", "hashids/hashids": "^3.0", - "laravel/framework": "^7.0", + "laravel/framework": "^8.0", "laravel/helpers": "^1.2", - "laravel/passport": "^7.0", - "laravel/tinker": "^2.0" + "laravel/sanctum": "^2.8", + "laravel/tinker": "^2.0", + "lcobucci/jwt": "3.3.0" }, "require-dev": { + "roave/security-advisories": "dev-master", "filp/whoops": "^2.0", "fzaninotto/faker": "^1.4", "mockery/mockery": "^1.0", - "nunomaduro/collision": "^4.1", - "phpunit/phpunit": "^8.5" + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.0" }, "autoload": { "classmap": [ @@ -60,9 +63,9 @@ ] }, "config": { + "optimize-autoloader": true, "preferred-install": "dist", - "sort-packages": true, - "classmap-authoritative": true + "sort-packages": true }, "minimum-stability": "dev", "prefer-stable": true diff --git a/composer.lock b/composer.lock index f74de26d..814cfdb3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,30 +4,30 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d869d9f5a2533c7fd6db5a19a5d384ec", + "content-hash": "7b3c70183593b69df747c6a0ab125b68", "packages": [ { "name": "brick/math", - "version": "0.9.1", + "version": "0.9.2", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "283a40c901101e66de7061bd359252c013dcc43c" + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c", - "reference": "283a40c901101e66de7061bd359252c013dcc43c", + "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", "shasum": "" }, "require": { "ext-json": "*", - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15|^8.5", - "vimeo/psalm": "^3.5" + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.3.2" }, "type": "library", "autoload": { @@ -56,70 +56,7 @@ "type": "tidelift" } ], - "time": "2020-08-18T23:57:15+00:00" - }, - { - "name": "defuse/php-encryption", - "version": "v2.2.1", - "source": { - "type": "git", - "url": "https://github.com/defuse/php-encryption.git", - "reference": "0f407c43b953d571421e0020ba92082ed5fb7620" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/defuse/php-encryption/zipball/0f407c43b953d571421e0020ba92082ed5fb7620", - "reference": "0f407c43b953d571421e0020ba92082ed5fb7620", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "paragonie/random_compat": ">= 2", - "php": ">=5.4.0" - }, - "require-dev": { - "nikic/php-parser": "^2.0|^3.0|^4.0", - "phpunit/phpunit": "^4|^5" - }, - "bin": [ - "bin/generate-defuse-key" - ], - "type": "library", - "autoload": { - "psr-4": { - "Defuse\\Crypto\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Hornby", - "email": "taylor@defuse.ca", - "homepage": "https://defuse.ca/" - }, - { - "name": "Scott Arciszewski", - "email": "info@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "Secure PHP Encryption Library", - "keywords": [ - "aes", - "authenticated encryption", - "cipher", - "crypto", - "cryptography", - "encrypt", - "encryption", - "openssl", - "security", - "symmetric key cryptography" - ], - "time": "2018-07-24T23:27:56+00:00" + "time": "2021-01-20T22:51:39+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -616,30 +553,32 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v2.3.1", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2" + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", "shasum": "" }, "require": { - "php": "^7.0|^8.0" + "php": "^7.2|^8.0", + "webmozart/assert": "^1.7.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^6.4|^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12.7", + "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -650,11 +589,6 @@ "MIT" ], "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, { "name": "Chris Tankersley", "email": "chris@ctankersley.com", @@ -672,20 +606,20 @@ "type": "github" } ], - "time": "2020-10-13T00:52:37+00:00" + "time": "2020-11-24T19:55:57+00:00" }, { "name": "egulias/email-validator", - "version": "2.1.24", + "version": "2.1.25", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ca90a3291eee1538cd48ff25163240695bd95448" + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ca90a3291eee1538cd48ff25163240695bd95448", - "reference": "ca90a3291eee1538cd48ff25163240695bd95448", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", "shasum": "" }, "require": { @@ -736,7 +670,7 @@ "type": "github" } ], - "time": "2020-11-14T15:56:27+00:00" + "time": "2020-12-29T14:50:06+00:00" }, { "name": "fideloper/proxy", @@ -793,88 +727,106 @@ "time": "2020-10-22T13:48:01+00:00" }, { - "name": "firebase/php-jwt", - "version": "v5.2.0", + "name": "graham-campbell/result-type", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "feb0e820b8436873675fd3aca04f3728eb2185cb" + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/feb0e820b8436873675fd3aca04f3728eb2185cb", - "reference": "feb0e820b8436873675fd3aca04f3728eb2185cb", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.0|^8.0", + "phpoption/phpoption": "^1.7.3" }, "require-dev": { - "phpunit/phpunit": ">=4.8 <=9" + "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { "psr-4": { - "Firebase\\JWT\\": "src" + "GrahamCampbell\\ResultType\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" + "name": "Graham Campbell", + "email": "graham@alt-three.com" } ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", + "description": "An Implementation Of The Result Type", "keywords": [ - "jwt", - "php" + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" ], - "time": "2020-03-25T18:49:23+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2020-04-13T13:17:36+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "version": "7.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79", + "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "guzzlehttp/promises": "^1.4", + "guzzlehttp/psr7": "^1.7", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", "psr/log": "^1.1" }, "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5-dev" + "dev-master": "7.1-dev" } }, "autoload": { @@ -894,6 +846,11 @@ "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "Guzzle is a PHP HTTP client library", @@ -904,10 +861,30 @@ "framework", "http", "http client", + "psr-18", + "psr-7", "rest", "web service" ], - "time": "2020-06-16T21:01:06+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + } + ], + "time": "2020-10-10T11:47:56+00:00" }, { "name": "guzzlehttp/promises", @@ -1099,21 +1076,21 @@ }, { "name": "laravel/framework", - "version": "v7.29.3", + "version": "v8.24.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "93f6d565a07045baa0e4b941ae1f733cd5984d65" + "reference": "d16e9f875e4d7609a05d5007393e22ba95efd1fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/93f6d565a07045baa0e4b941ae1f733cd5984d65", - "reference": "93f6d565a07045baa0e4b941ae1f733cd5984d65", + "url": "https://api.github.com/repos/laravel/framework/zipball/d16e9f875e4d7609a05d5007393e22ba95efd1fc", + "reference": "d16e9f875e4d7609a05d5007393e22ba95efd1fc", "shasum": "" }, "require": { "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^2.3.1", + "dragonmantank/cron-expression": "^3.0.2", "egulias/email-validator": "^2.1.10", "ext-json": "*", "ext-mbstring": "*", @@ -1123,23 +1100,22 @@ "monolog/monolog": "^2.0", "nesbot/carbon": "^2.31", "opis/closure": "^3.6", - "php": "^7.2.5|^8.0", + "php": "^7.3|^8.0", "psr/container": "^1.0", "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7|^4.0", + "ramsey/uuid": "^4.0", "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^5.0", - "symfony/error-handler": "^5.0", - "symfony/finder": "^5.0", - "symfony/http-foundation": "^5.0", - "symfony/http-kernel": "^5.0", - "symfony/mime": "^5.0", - "symfony/polyfill-php73": "^1.17", - "symfony/process": "^5.0", - "symfony/routing": "^5.0", - "symfony/var-dumper": "^5.0", + "symfony/console": "^5.1.4", + "symfony/error-handler": "^5.1.4", + "symfony/finder": "^5.1.4", + "symfony/http-foundation": "^5.1.4", + "symfony/http-kernel": "^5.1.4", + "symfony/mime": "^5.1.4", + "symfony/process": "^5.1.4", + "symfony/routing": "^5.1.4", + "symfony/var-dumper": "^5.1.4", "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^4.0", + "vlucas/phpdotenv": "^5.2", "voku/portable-ascii": "^1.4.8" }, "conflict": { @@ -1153,6 +1129,7 @@ "illuminate/broadcasting": "self.version", "illuminate/bus": "self.version", "illuminate/cache": "self.version", + "illuminate/collections": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -1165,6 +1142,7 @@ "illuminate/hashing": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", + "illuminate/macroable": "self.version", "illuminate/mail": "self.version", "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", @@ -1180,22 +1158,21 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/dbal": "^2.6", + "aws/aws-sdk-php": "^3.155", + "doctrine/dbal": "^2.6|^3.0", "filp/whoops": "^2.8", - "guzzlehttp/guzzle": "^6.3.1|^7.0.1", + "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "~1.3.3|^1.4.2", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "^5.8", + "mockery/mockery": "^1.4.2", + "orchestra/testbench-core": "^6.8", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.4|^9.3.3", + "phpunit/phpunit": "^8.5.8|^9.3.3", "predis/predis": "^1.1.1", - "symfony/cache": "^5.0" + "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", @@ -1204,37 +1181,42 @@ "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.8).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.3.1|^7.0.1).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (~1.3.3|^1.4.2).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "mockery/mockery": "Required to use mocking (^1.4.2).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.3.3).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", "predis/predis": "Required to use the predis connector (^1.1.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", - "symfony/filesystem": "Required to create relative storage directory symbolic links (^5.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { - "Illuminate\\": "src/Illuminate/" + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -1253,7 +1235,7 @@ "framework", "laravel" ], - "time": "2020-11-03T14:12:58+00:00" + "time": "2021-01-21T14:19:29+00:00" }, { "name": "laravel/helpers", @@ -1309,56 +1291,45 @@ "time": "2020-11-03T16:38:41+00:00" }, { - "name": "laravel/passport", - "version": "v7.5.1", + "name": "laravel/sanctum", + "version": "v2.8.2", "source": { "type": "git", - "url": "https://github.com/laravel/passport.git", - "reference": "d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08" + "url": "https://github.com/laravel/sanctum.git", + "reference": "331bd6572610b06ad6dd6b2a7c15a0465a3ca9c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08", - "reference": "d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/331bd6572610b06ad6dd6b2a7c15a0465a3ca9c9", + "reference": "331bd6572610b06ad6dd6b2a7c15a0465a3ca9c9", "shasum": "" }, "require": { "ext-json": "*", - "firebase/php-jwt": "~3.0|~4.0|~5.0", - "guzzlehttp/guzzle": "~6.0", - "illuminate/auth": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/console": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/container": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/contracts": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/cookie": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/database": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/encryption": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/http": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "illuminate/support": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", - "league/oauth2-server": "^7.0", - "php": ">=7.1", - "phpseclib/phpseclib": "^2.0", - "symfony/psr-http-message-bridge": "~1.0", - "zendframework/zend-diactoros": "~1.0|~2.0" + "illuminate/contracts": "^6.9|^7.0|^8.0", + "illuminate/database": "^6.9|^7.0|^8.0", + "illuminate/support": "^6.9|^7.0|^8.0", + "php": "^7.2|^8.0" }, "require-dev": { "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.4|^8.0" + "orchestra/testbench": "^4.0|^5.0|^6.0", + "phpunit/phpunit": "^8.0|^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "2.x-dev" }, "laravel": { "providers": [ - "Laravel\\Passport\\PassportServiceProvider" + "Laravel\\Sanctum\\SanctumServiceProvider" ] } }, "autoload": { "psr-4": { - "Laravel\\Passport\\": "src/" + "Laravel\\Sanctum\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1371,13 +1342,17 @@ "email": "taylor@laravel.com" } ], - "description": "Laravel Passport provides OAuth2 server support to Laravel.", + "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", "keywords": [ + "auth", "laravel", - "oauth", - "passport" + "sanctum" ], - "time": "2019-10-08T16:45:24+00:00" + "support": { + "issues": "https://github.com/laravel/sanctum/issues", + "source": "https://github.com/laravel/sanctum" + }, + "time": "2020-11-24T17:31:19+00:00" }, { "name": "laravel/tinker", @@ -1593,56 +1568,6 @@ ], "time": "2020-10-31T13:49:32+00:00" }, - { - "name": "league/event", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/event.git", - "reference": "d2cc124cf9a3fab2bb4ff963307f60361ce4d119" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/event/zipball/d2cc124cf9a3fab2bb4ff963307f60361ce4d119", - "reference": "d2cc124cf9a3fab2bb4ff963307f60361ce4d119", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "~1.0.1", - "phpspec/phpspec": "^2.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Event\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Event package", - "keywords": [ - "emitter", - "event", - "listener" - ], - "time": "2018-11-26T11:52:41+00:00" - }, { "name": "league/flysystem", "version": "1.1.3", @@ -1736,16 +1661,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.5.1", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa" + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/353f66d7555d8a90781f6f5e7091932f9a4250aa", - "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", "shasum": "" }, "require": { @@ -1753,8 +1678,9 @@ "php": "^7.2 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.36", - "phpunit/phpunit": "^8.5.8" + "friendsofphp/php-cs-fixer": "^2.18", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3" }, "type": "library", "autoload": { @@ -1783,97 +1709,20 @@ "type": "tidelift" } ], - "time": "2020-10-18T11:50:25+00:00" - }, - { - "name": "league/oauth2-server", - "version": "7.4.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "2eb1cf79e59d807d89c256e7ac5e2bf8bdbd4acf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/2eb1cf79e59d807d89c256e7ac5e2bf8bdbd4acf", - "reference": "2eb1cf79e59d807d89c256e7ac5e2bf8bdbd4acf", - "shasum": "" - }, - "require": { - "defuse/php-encryption": "^2.1", - "ext-openssl": "*", - "lcobucci/jwt": "^3.2.2", - "league/event": "^2.1", - "php": ">=7.0.0", - "psr/http-message": "^1.0.1" - }, - "replace": { - "league/oauth2server": "*", - "lncd/oauth2": "*" - }, - "require-dev": { - "phpstan/phpstan": "^0.9.2", - "phpstan/phpstan-phpunit": "^0.9.4", - "phpstan/phpstan-strict-rules": "^0.9.0", - "phpunit/phpunit": "^6.3 || ^7.0", - "roave/security-advisories": "dev-master", - "zendframework/zend-diactoros": "^1.3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\OAuth2\\Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Bilbie", - "email": "hello@alexbilbie.com", - "homepage": "http://www.alexbilbie.com", - "role": "Developer" - }, - { - "name": "Andy Millington", - "email": "andrew@noexceptions.io", - "homepage": "https://www.noexceptions.io", - "role": "Developer" - } - ], - "description": "A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.", - "homepage": "https://oauth2.thephpleague.com/", - "keywords": [ - "Authentication", - "api", - "auth", - "authorisation", - "authorization", - "oauth", - "oauth 2", - "oauth 2.0", - "oauth2", - "protect", - "resource", - "secure", - "server" - ], - "time": "2019-05-05T09:22:01+00:00" + "time": "2021-01-18T20:58:21+00:00" }, { "name": "monolog/monolog", - "version": "2.1.1", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5" + "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9eee5cec93dfb313a38b6b288741e84e53f02d5", - "reference": "f9eee5cec93dfb313a38b6b288741e84e53f02d5", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", "shasum": "" }, "require": { @@ -1886,16 +1735,17 @@ "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^6.0", + "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", + "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", - "php-parallel-lint/php-parallel-lint": "^1.0", "phpspec/prophecy": "^1.6.1", + "phpstan/phpstan": "^0.12.59", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <3.0", + "ruflin/elastica": ">=0.90 <7.0.1", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { @@ -1915,7 +1765,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-main": "2.x-dev" } }, "autoload": { @@ -1931,11 +1781,11 @@ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "homepage": "https://seld.be" } ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "homepage": "https://github.com/Seldaek/monolog", "keywords": [ "log", "logging", @@ -1951,20 +1801,20 @@ "type": "tidelift" } ], - "time": "2020-07-23T08:41:23+00:00" + "time": "2020-12-14T13:15:25+00:00" }, { "name": "nesbot/carbon", - "version": "2.42.0", + "version": "2.43.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "d0463779663437392fe42ff339ebc0213bd55498" + "reference": "d32c57d8389113742f4a88725a170236470012e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d0463779663437392fe42ff339ebc0213bd55498", - "reference": "d0463779663437392fe42ff339ebc0213bd55498", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d32c57d8389113742f4a88725a170236470012e2", + "reference": "d32c57d8389113742f4a88725a170236470012e2", "shasum": "" }, "require": { @@ -2040,20 +1890,20 @@ "type": "tidelift" } ], - "time": "2020-11-28T14:25:28+00:00" + "time": "2020-12-17T20:55:32+00:00" }, { "name": "nikic/php-parser", - "version": "v4.10.2", + "version": "v4.10.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "658f1be311a230e0907f5dfe0213742aff0596de" + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de", - "reference": "658f1be311a230e0907f5dfe0213742aff0596de", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", "shasum": "" }, "require": { @@ -2092,7 +1942,7 @@ "parser", "php" ], - "time": "2020-09-26T10:30:38+00:00" + "time": "2020-12-20T10:01:03+00:00" }, { "name": "opis/closure", @@ -2155,51 +2005,6 @@ ], "time": "2020-11-07T02:01:34+00:00" }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2020-10-15T08:29:30+00:00" - }, { "name": "phpoption/phpoption", "version": "1.7.5", @@ -2266,40 +2071,31 @@ "time": "2020-07-20T17:29:33+00:00" }, { - "name": "phpseclib/phpseclib", - "version": "2.0.29", + "name": "psr/container", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "497856a8d997f640b4a516062f84228a772a48a8" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/497856a8d997f640b4a516062f84228a772a48a8", - "reference": "497856a8d997f640b4a516062f84228a772a48a8", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "^4.8.35|^5.7|^6.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + "php": ">=5.3.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], "psr-4": { - "phpseclib\\": "phpseclib/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2308,114 +2104,18 @@ ], "authors": [ { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2020-09-08T04:24:43+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], "time": "2017-02-14T16:28:37+00:00" }, @@ -2466,21 +2166,21 @@ "time": "2019-01-08T18:20:26+00:00" }, { - "name": "psr/http-factory", + "name": "psr/http-client", "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": "^7.0 || ^8.0", "psr/http-message": "^1.0" }, "type": "library", @@ -2491,7 +2191,7 @@ }, "autoload": { "psr-4": { - "Psr\\Http\\Message\\": "src/" + "Psr\\Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2504,18 +2204,15 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ - "factory", "http", - "message", + "http-client", "psr", - "psr-17", - "psr-7", - "request", - "response" + "psr-18" ], - "time": "2019-04-30T12:38:16+00:00" + "time": "2020-06-29T06:28:15+00:00" }, { "name": "psr/http-message", @@ -2664,16 +2361,16 @@ }, { "name": "psy/psysh", - "version": "v0.10.4", + "version": "v0.10.6", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560" + "reference": "6f990c19f91729de8b31e639d6e204ea59f19cf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a8aec1b2981ab66882a01cce36a49b6317dc3560", - "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/6f990c19f91729de8b31e639d6e204ea59f19cf3", + "reference": "6f990c19f91729de8b31e639d6e204ea59f19cf3", "shasum": "" }, "require": { @@ -2702,7 +2399,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.10.x-dev" + "dev-main": "0.10.x-dev" } }, "autoload": { @@ -2732,7 +2429,7 @@ "interactive", "shell" ], - "time": "2020-05-03T19:32:03+00:00" + "time": "2021-01-18T15:53:43+00:00" }, { "name": "ralouphie/getallheaders", @@ -2776,16 +2473,16 @@ }, { "name": "ramsey/collection", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1" + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/24d93aefb2cd786b7edd9f45b554aea20b28b9b1", - "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1", + "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", "shasum": "" }, "require": { @@ -2795,19 +2492,19 @@ "captainhook/captainhook": "^5.3", "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "ergebnis/composer-normalize": "^2.6", - "fzaninotto/faker": "^1.5", + "fakerphp/faker": "^1.5", "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.6", + "jangregor/phpstan-prophecy": "^0.8", "mockery/mockery": "^1.3", "phpstan/extension-installer": "^1", "phpstan/phpstan": "^0.12.32", "phpstan/phpstan-mockery": "^0.12.5", "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5", + "phpunit/phpunit": "^8.5 || ^9", "psy/psysh": "^0.10.4", "slevomat/coding-standard": "^6.3", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^3.12.2" + "vimeo/psalm": "^4.4" }, "type": "library", "autoload": { @@ -2839,9 +2536,13 @@ { "url": "https://github.com/ramsey", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" } ], - "time": "2020-09-10T20:58:17+00:00" + "time": "2021-01-21T17:40:04+00:00" }, { "name": "ramsey/uuid", @@ -2932,32 +2633,31 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.3", + "version": "v6.2.5", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9" + "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9", - "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7", + "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7", "shasum": "" }, "require": { - "egulias/email-validator": "~2.0", + "egulias/email-validator": "^2.0", "php": ">=7.0.0", "symfony/polyfill-iconv": "^1.0", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8" + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.0" }, "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + "ext-intl": "Needed to support internationalized email addresses" }, "type": "library", "extra": { @@ -2990,20 +2690,30 @@ "mail", "mailer" ], - "time": "2019-11-12T09:31:26+00:00" + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "time": "2021-01-12T09:35:59+00:00" }, { "name": "symfony/console", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e" + "reference": "47c02526c532fb381374dab26df05e7313978976" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e", - "reference": "e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e", + "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", + "reference": "47c02526c532fb381374dab26df05e7313978976", "shasum": "" }, "require": { @@ -3064,6 +2774,12 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], "funding": [ { "url": "https://symfony.com/sponsor", @@ -3078,20 +2794,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-18T08:03:05+00:00" }, { "name": "symfony/css-selector", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "6cbebda22ffc0d4bb8fea0c1311c2ca54c4c8fa0" + "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/6cbebda22ffc0d4bb8fea0c1311c2ca54c4c8fa0", - "reference": "6cbebda22ffc0d4bb8fea0c1311c2ca54c4c8fa0", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054", + "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054", "shasum": "" }, "require": { @@ -3140,7 +2856,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-08T17:02:38+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3208,16 +2924,16 @@ }, { "name": "symfony/error-handler", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "a154f2b12fd1ec708559ba73ed58bd1304e55718" + "reference": "59b190ce16ddf32771a22087b60f6dafd3407147" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/a154f2b12fd1ec708559ba73ed58bd1304e55718", - "reference": "a154f2b12fd1ec708559ba73ed58bd1304e55718", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147", + "reference": "59b190ce16ddf32771a22087b60f6dafd3407147", "shasum": "" }, "require": { @@ -3270,20 +2986,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-09T18:54:12+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "26f4edae48c913fc183a3da0553fe63bdfbd361a" + "reference": "1c93f7a1dff592c252574c79a8635a8a80856042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/26f4edae48c913fc183a3da0553fe63bdfbd361a", - "reference": "26f4edae48c913fc183a3da0553fe63bdfbd361a", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042", + "reference": "1c93f7a1dff592c252574c79a8635a8a80856042", "shasum": "" }, "require": { @@ -3352,7 +3068,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-18T08:03:05+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3432,16 +3148,16 @@ }, { "name": "symfony/finder", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e70eb5a69c2ff61ea135a13d2266e8914a67b3a0" + "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e70eb5a69c2ff61ea135a13d2266e8914a67b3a0", - "reference": "e70eb5a69c2ff61ea135a13d2266e8914a67b3a0", + "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba", + "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba", "shasum": "" }, "require": { @@ -3486,7 +3202,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-08T17:02:38+00:00" }, { "name": "symfony/http-client-contracts", @@ -3566,16 +3282,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a2860ec970404b0233ab1e59e0568d3277d32b6f" + "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a2860ec970404b0233ab1e59e0568d3277d32b6f", - "reference": "a2860ec970404b0233ab1e59e0568d3277d32b6f", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d", + "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d", "shasum": "" }, "require": { @@ -3632,20 +3348,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-18T10:00:10+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "a13b3c4d994a4fd051f4c6800c5e33c9508091dd" + "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a13b3c4d994a4fd051f4c6800c5e33c9508091dd", - "reference": "a13b3c4d994a4fd051f4c6800c5e33c9508091dd", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647", + "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647", "shasum": "" }, "require": { @@ -3665,7 +3381,7 @@ "symfony/cache": "<5.0", "symfony/config": "<5.0", "symfony/console": "<4.4", - "symfony/dependency-injection": "<4.4", + "symfony/dependency-injection": "<5.1.8", "symfony/doctrine-bridge": "<5.0", "symfony/form": "<5.0", "symfony/http-client": "<5.0", @@ -3685,7 +3401,7 @@ "symfony/config": "^5.0", "symfony/console": "^4.4|^5.0", "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", + "symfony/dependency-injection": "^5.1.8", "symfony/dom-crawler": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", "symfony/finder": "^4.4|^5.0", @@ -3741,24 +3457,25 @@ "type": "tidelift" } ], - "time": "2020-10-28T05:55:23+00:00" + "time": "2020-12-18T13:49:39+00:00" }, { "name": "symfony/mime", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "f5485a92c24d4bcfc2f3fc648744fb398482ff1b" + "reference": "de97005aef7426ba008c46ba840fc301df577ada" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/f5485a92c24d4bcfc2f3fc648744fb398482ff1b", - "reference": "f5485a92c24d4bcfc2f3fc648744fb398482ff1b", + "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada", + "reference": "de97005aef7426ba008c46ba840fc301df577ada", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0", "symfony/polyfill-php80": "^1.15" @@ -3768,7 +3485,11 @@ }, "require-dev": { "egulias/email-validator": "^2.1.10", - "symfony/dependency-injection": "^4.4|^5.0" + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" }, "type": "library", "autoload": { @@ -3813,20 +3534,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-09T18:54:12+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", "shasum": "" }, "require": { @@ -3838,7 +3559,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3889,20 +3610,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024" + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c536646fdb4f29104dd26effc2fdcb9a5b085024", - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", "shasum": "" }, "require": { @@ -3914,7 +3635,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3966,20 +3687,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c" + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", - "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", "shasum": "" }, "require": { @@ -3991,7 +3712,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4044,20 +3765,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117" + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", "shasum": "" }, "require": { @@ -4071,7 +3792,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4128,20 +3849,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "727d1096295d807c309fb01a851577302394c897" + "reference": "6e971c891537eb617a00bb07a43d182a6915faba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", - "reference": "727d1096295d807c309fb01a851577302394c897", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", + "reference": "6e971c891537eb617a00bb07a43d182a6915faba", "shasum": "" }, "require": { @@ -4153,7 +3874,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4209,20 +3930,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T17:09:11+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", "shasum": "" }, "require": { @@ -4234,7 +3955,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4286,20 +4007,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930" + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", "shasum": "" }, "require": { @@ -4308,7 +4029,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4359,20 +4080,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", "shasum": "" }, "require": { @@ -4381,7 +4102,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4435,20 +4156,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", "shasum": "" }, "require": { @@ -4457,7 +4178,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4515,20 +4236,20 @@ "type": "tidelift" } ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/process", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f00872c3f6804150d6a0f73b4151daab96248101" + "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f00872c3f6804150d6a0f73b4151daab96248101", - "reference": "f00872c3f6804150d6a0f73b4151daab96248101", + "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd", + "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd", "shasum": "" }, "require": { @@ -4574,85 +4295,20 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" - }, - { - "name": "symfony/psr-http-message-bridge", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "9d3e80d54d9ae747ad573cad796e8e247df7b796" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9d3e80d54d9ae747ad573cad796e8e247df7b796", - "reference": "9d3e80d54d9ae747ad573cad796e8e247df7b796", - "shasum": "" - }, - "require": { - "php": "^7.1", - "psr/http-message": "^1.0", - "symfony/http-foundation": "^4.4 || ^5.0" - }, - "require-dev": { - "nyholm/psr7": "^1.1", - "symfony/phpunit-bridge": "^4.4 || ^5.0", - "zendframework/zend-diactoros": "^1.4.1 || ^2.0" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", - "keywords": [ - "http", - "http-message", - "psr-17", - "psr-7" - ], - "time": "2019-11-25T19:33:50+00:00" + "time": "2020-12-08T17:03:37+00:00" }, { "name": "symfony/routing", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "d6ceee2a37b61b41079005207bf37746d1bfe71f" + "reference": "934ac2720dcc878a47a45c986b483a7ee7193620" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/d6ceee2a37b61b41079005207bf37746d1bfe71f", - "reference": "d6ceee2a37b61b41079005207bf37746d1bfe71f", + "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620", + "reference": "934ac2720dcc878a47a45c986b483a7ee7193620", "shasum": "" }, "require": { @@ -4666,7 +4322,7 @@ "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "~1.2", + "doctrine/annotations": "^1.7", "psr/log": "~1.0", "symfony/config": "^5.0", "symfony/dependency-injection": "^4.4|^5.0", @@ -4726,7 +4382,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-08T17:03:37+00:00" }, { "name": "symfony/service-contracts", @@ -4806,16 +4462,16 @@ }, { "name": "symfony/string", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "a97573e960303db71be0dd8fda9be3bca5e0feea" + "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/a97573e960303db71be0dd8fda9be3bca5e0feea", - "reference": "a97573e960303db71be0dd8fda9be3bca5e0feea", + "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", + "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", "shasum": "" }, "require": { @@ -4882,27 +4538,27 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-05T07:33:16+00:00" }, { "name": "symfony/translation", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "27980838fd261e04379fa91e94e81e662fe5a1b6" + "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/27980838fd261e04379fa91e94e81e662fe5a1b6", - "reference": "27980838fd261e04379fa91e94e81e662fe5a1b6", + "url": "https://api.github.com/repos/symfony/translation/zipball/a04209ba0d1391c828e5b2373181dac63c52ee70", + "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php80": "^1.15", - "symfony/translation-contracts": "^2" + "symfony/translation-contracts": "^2.3" }, "conflict": { "symfony/config": "<4.4", @@ -4932,6 +4588,9 @@ }, "type": "library", "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { "Symfony\\Component\\Translation\\": "" }, @@ -4969,7 +4628,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T12:01:57+00:00" + "time": "2020-12-08T17:03:37+00:00" }, { "name": "symfony/translation-contracts", @@ -5048,16 +4707,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.1.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a" + "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", - "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", + "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", "shasum": "" }, "require": { @@ -5129,7 +4788,7 @@ "type": "tidelift" } ], - "time": "2020-10-27T10:11:13+00:00" + "time": "2020-12-16T17:02:19+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -5182,37 +4841,39 @@ }, { "name": "vlucas/phpdotenv", - "version": "v4.1.8", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "572af79d913627a9d70374d27a6f5d689a35de32" + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/572af79d913627a9d70374d27a6f5d689a35de32", - "reference": "572af79d913627a9d70374d27a6f5d689a35de32", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.7.3", - "symfony/polyfill-ctype": "^1.17" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.1", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.7.4", + "symfony/polyfill-ctype": "^1.17", + "symfony/polyfill-mbstring": "^1.17", + "symfony/polyfill-php80": "^1.17" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0" + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" }, "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "5.3-dev" } }, "autoload": { @@ -5252,7 +4913,7 @@ "type": "tidelift" } ], - "time": "2020-07-14T19:22:52+00:00" + "time": "2021-01-20T15:23:13+00:00" }, { "name": "voku/portable-ascii", @@ -5325,72 +4986,53 @@ "time": "2020-11-12T00:07:28+00:00" }, { - "name": "zendframework/zend-diactoros", - "version": "2.2.1", + "name": "webmozart/assert", + "version": "1.9.1", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "de5847b068362a88684a55b0dbb40d85986cfa52" + "url": "https://github.com/webmozarts/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/de5847b068362a88684a55b0dbb40d85986cfa52", - "reference": "de5847b068362a88684a55b0dbb40d85986cfa52", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, "require": { - "php": "^7.1", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" }, "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.5.0", - "php-http/psr7-integration-tests": "dev-master", - "phpunit/phpunit": "^7.0.2", - "zendframework/zend-coding-standard": "~1.0.0" + "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev", - "dev-develop": "2.2.x-dev", - "dev-release-1.8": "1.8.x-dev" - } - }, "autoload": { - "files": [ - "src/functions/create_uploaded_file.php", - "src/functions/marshal_headers_from_sapi.php", - "src/functions/marshal_method_from_sapi.php", - "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", - "src/functions/normalize_server.php", - "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php" - ], "psr-4": { - "Zend\\Diactoros\\": "src/" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } ], - "description": "PSR HTTP Message implementations", + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "http", - "psr", - "psr-7" + "assert", + "check", + "validate" ], - "abandoned": "laminas/laminas-diactoros", - "time": "2019-11-13T19:16:13+00:00" + "time": "2020-07-08T17:02:28+00:00" } ], "packages-dev": [ @@ -5510,16 +5152,16 @@ }, { "name": "filp/whoops", - "version": "2.9.1", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771" + "reference": "df7933820090489623ce0be5e85c7e693638e536" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/307fb34a5ab697461ec4c9db865b20ff2fd40771", - "reference": "307fb34a5ab697461ec4c9db865b20ff2fd40771", + "url": "https://api.github.com/repos/filp/whoops/zipball/df7933820090489623ce0be5e85c7e693638e536", + "reference": "df7933820090489623ce0be5e85c7e693638e536", "shasum": "" }, "require": { @@ -5567,20 +5209,30 @@ "throwable", "whoops" ], - "time": "2020-11-01T12:00:00+00:00" + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.9.2" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2021-01-24T12:00:00+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.9.1", + "version": "v1.9.2", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" + "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", + "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", "shasum": "" }, "require": { @@ -5618,7 +5270,7 @@ "fixtures" ], "abandoned": true, - "time": "2019-12-12T13:22:17+00:00" + "time": "2020-12-11T09:56:16+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -5791,35 +5443,35 @@ }, { "name": "nunomaduro/collision", - "version": "v4.3.0", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "7c125dc2463f3e144ddc7e05e63077109508c94e" + "reference": "aca63581f380f63a492b1e3114604e411e39133a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c125dc2463f3e144ddc7e05e63077109508c94e", - "reference": "7c125dc2463f3e144ddc7e05e63077109508c94e", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/aca63581f380f63a492b1e3114604e411e39133a", + "reference": "aca63581f380f63a492b1e3114604e411e39133a", "shasum": "" }, "require": { "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.4", - "php": "^7.2.5 || ^8.0", + "filp/whoops": "^2.7.2", + "php": "^7.3 || ^8.0", "symfony/console": "^5.0" }, "require-dev": { - "facade/ignition": "^2.0", - "fideloper/proxy": "^4.2", - "friendsofphp/php-cs-fixer": "^2.16", - "fruitcake/laravel-cors": "^1.0", - "laravel/framework": "^7.0", - "laravel/tinker": "^2.0", - "nunomaduro/larastan": "^0.6", - "orchestra/testbench": "^5.0", - "phpstan/phpstan": "^0.12.3", - "phpunit/phpunit": "^8.5.1 || ^9.0" + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "friendsofphp/php-cs-fixer": "^2.17.3", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "^9.0", + "nunomaduro/larastan": "^0.6.2", + "nunomaduro/mock-final-classes": "^1.0", + "orchestra/testbench": "^7.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" }, "type": "library", "extra": { @@ -5871,32 +5523,33 @@ "type": "patreon" } ], - "time": "2020-10-29T15:12:23+00:00" + "time": "2021-01-25T15:34:13+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -5926,24 +5579,24 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -5973,7 +5626,7 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "time": "2020-12-13T23:18:30+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -6123,16 +5776,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.12.1", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" + "reference": "245710e971a030f42e08f4912863805570f23d39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", - "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", + "reference": "245710e971a030f42e08f4912863805570f23d39", "shasum": "" }, "require": { @@ -6144,7 +5797,7 @@ }, "require-dev": { "phpspec/phpspec": "^6.0", - "phpunit/phpunit": "^8.0 || ^9.0 <9.3" + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { @@ -6182,44 +5835,48 @@ "spy", "stub" ], - "time": "2020-09-29T09:10:42+00:00" + "time": "2020-12-19T10:15:11+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.12", + "version": "9.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "52f55786aa2e52c26cd9e2db20aff2981e0f7399" + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/52f55786aa2e52c26cd9e2db20aff2981e0f7399", - "reference": "52f55786aa2e52c26cd9e2db20aff2981e0f7399", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^8.2.2" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.7.2" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -6251,32 +5908,32 @@ "type": "github" } ], - "time": "2020-11-27T06:08:35+00:00" + "time": "2020-11-28T06:44:49+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.2", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -6301,26 +5958,44 @@ "filesystem", "iterator" ], - "time": "2018-09-13T20:33:42+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -6337,37 +6012,43 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "template" + "process" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2015-06-21T13:50:34+00:00" + "time": "2020-09-28T05:58:55+00:00" }, { - "name": "phpunit/php-timer", - "version": "2.1.2", + "name": "phpunit/php-text-template", + "version": "2.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -6386,38 +6067,43 @@ "role": "lead" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "timer" + "template" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2019-06-07T04:22:29+00:00" + "time": "2020-10-26T05:33:50+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "3.1.1", + "name": "phpunit/php-timer", + "version": "5.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -6432,29 +6118,35 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "tokenizer" + "timer" ], - "abandoned": true, - "time": "2019-09-17T06:23:10+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.11", + "version": "9.5.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3123601e3b29339b20129acc3f989cfec3274566" + "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3123601e3b29339b20129acc3f989cfec3274566", - "reference": "3123601e3b29339b20129acc3f989cfec3274566", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7bdf4085de85a825f4424eae52c99a1cec2f360", + "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360", "shasum": "" }, "require": { @@ -6465,32 +6157,35 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.0", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.2", - "phpspec/prophecy": "^1.10.3", - "phpunit/php-code-coverage": "^7.0.12", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.3", - "sebastian/exporter": "^3.1.2", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -6498,12 +6193,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6534,32 +6232,458 @@ "type": "github" } ], - "time": "2020-11-27T12:46:45+00:00" + "time": "2021-01-17T07:42:25+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", + "name": "roave/security-advisories", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "db043e108edc5065662fec040aedea5bf30f8a12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/db043e108edc5065662fec040aedea5bf30f8a12", + "reference": "db043e108edc5065662fec040aedea5bf30f8a12", + "shasum": "" + }, + "conflict": { + "3f/pygmentize": "<1.2", + "adodb/adodb-php": "<5.20.12", + "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amphp/artax": "<1.0.6|>=2,<2.0.6", + "amphp/http": "<1.0.1", + "amphp/http-client": ">=4,<4.4", + "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", + "aws/aws-sdk-php": ">=3,<3.2.1", + "bagisto/bagisto": "<0.1.5", + "barrelstrength/sprout-base-email": "<1.2.7", + "barrelstrength/sprout-forms": "<3.9", + "baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1", + "bolt/bolt": "<3.7.1", + "brightlocal/phpwhois": "<=4.2.5", + "buddypress/buddypress": "<5.1.2", + "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7", + "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", + "cartalyst/sentry": "<=2.1.6", + "centreon/centreon": "<18.10.8|>=19,<19.4.5", + "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeigniter/framework": "<=3.0.6", + "composer/composer": "<=1-alpha.11", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/core": ">=2,<3.5.39", + "contao/core-bundle": ">=4,<4.4.52|>=4.5,<4.9.6|= 4.10.0", + "contao/listing-bundle": ">=4,<4.4.8", + "datadog/dd-trace": ">=0.30,<0.30.2", + "david-garcia/phpwhois": "<=4.3.1", + "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "doctrine/annotations": ">=1,<1.2.7", + "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", + "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": ">=1,<1.0.2", + "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1", + "dolibarr/dolibarr": "<11.0.4", + "dompdf/dompdf": ">=0.6,<0.6.2", + "drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "endroid/qr-code-bundle": "<3.4.2", + "enshrined/svg-sanitize": "<0.13.1", + "erusev/parsedown": "<1.7.2", + "ezsystems/demobundle": ">=5.4,<5.4.6.1", + "ezsystems/ez-support-tools": ">=2.2,<2.2.3", + "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", + "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", + "ezsystems/ezplatform": ">=1.7,<1.7.9.1|>=1.13,<1.13.5.1|>=2.5,<2.5.4", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6", + "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", + "ezsystems/ezplatform-kernel": ">=1,<1.0.2.1", + "ezsystems/ezplatform-user": ">=1,<1.0.1", + "ezsystems/ezpublish-kernel": ">=5.3,<5.3.12.1|>=5.4,<5.4.14.2|>=6,<6.7.9.1|>=6.8,<6.13.6.3|>=7,<7.2.4.1|>=7.3,<7.3.2.1|>=7.5,<7.5.7.1", + "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.14.2|>=2011,<2017.12.7.3|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3|>=2019.3,<2019.3.5.1", + "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", + "ezsystems/repository-forms": ">=2.3,<2.3.2.1", + "ezyang/htmlpurifier": "<4.1.1", + "firebase/php-jwt": "<2", + "fooman/tcpdf": "<6.2.22", + "fossar/tcpdf-parser": "<6.2.22", + "friendsofsymfony/oauth2-php": "<1.3", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "fuel/core": "<1.8.1", + "getgrav/grav": "<1.7-beta.8", + "getkirby/cms": ">=3,<3.4.5", + "getkirby/panel": "<2.5.14", + "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", + "gree/jose": "<=2.2", + "gregwar/rst": "<1.0.3", + "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", + "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", + "illuminate/database": "<6.20.12|>=7,<7.30.3|>=8,<8.22.1", + "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", + "illuminate/view": ">=7,<7.1.2", + "ivankristianto/phpwhois": "<=4.3", + "james-heinrich/getid3": "<1.9.9", + "joomla/session": "<1.3.1", + "jsmitty12/phpwhois": "<5.1", + "kazist/phpwhois": "<=4.2.6", + "kitodo/presentation": "<3.1.2", + "kreait/firebase-php": ">=3.2,<3.8.1", + "la-haute-societe/tcpdf": "<6.2.22", + "laravel/framework": "<6.20.12|>=7,<7.30.3|>=8,<8.22.1", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "league/commonmark": "<0.18.3", + "librenms/librenms": "<1.53", + "livewire/livewire": ">2.2.4,<2.2.6", + "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", + "magento/magento1ce": "<1.9.4.3", + "magento/magento1ee": ">=1,<1.14.4.3", + "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", + "marcwillmann/turn": "<0.3.3", + "mautic/core": "<2.16.5|>=3,<3.2.4|= 2.13.1", + "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "mittwald/typo3_forum": "<1.2.1", + "monolog/monolog": ">=1.8,<1.12", + "namshi/jose": "<2.2", + "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", + "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nystudio107/craft-seomatic": "<3.3", + "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", + "october/backend": ">=1.0.319,<1.0.470", + "october/cms": "= 1.0.469|>=1.0.319,<1.0.469", + "october/october": ">=1.0.319,<1.0.466", + "october/rain": ">=1.0.319,<1.0.468", + "onelogin/php-saml": "<2.10.4", + "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "openid/php-openid": "<2.3", + "openmage/magento-lts": "<19.4.8|>=20,<20.0.4", + "orchid/platform": ">=9,<9.4.4", + "oro/crm": ">=1.7,<1.7.4", + "oro/platform": ">=1.7,<1.7.4", + "padraic/humbug_get_contents": "<1.1.2", + "pagarme/pagarme-php": ">=0,<3", + "paragonie/random_compat": "<2", + "passbolt/passbolt_api": "<2.11", + "paypal/merchant-sdk-php": "<3.12", + "pear/archive_tar": "<1.4.12", + "personnummer/personnummer": "<3.0.2", + "phpfastcache/phpfastcache": ">=5,<5.0.13", + "phpmailer/phpmailer": "<6.1.6", + "phpmussel/phpmussel": ">=1,<1.6", + "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", + "phpoffice/phpexcel": "<1.8.2", + "phpoffice/phpspreadsheet": "<1.16", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", + "phpwhois/phpwhois": "<=4.2.5", + "phpxmlrpc/extras": "<0.6.1", + "pimcore/pimcore": "<6.3", + "pocketmine/pocketmine-mp": "<3.15.4", + "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/contactform": ">1.0.1,<4.3", + "prestashop/gamification": "<2.3.2", + "prestashop/productcomments": ">=4,<4.2.1", + "prestashop/ps_facetedsearch": "<3.4.1", + "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", + "propel/propel": ">=2-alpha.1,<=2-alpha.7", + "propel/propel1": ">=1,<=1.7.1", + "pterodactyl/panel": "<0.7.19|>=1-rc.0,<=1-rc.6", + "pusher/pusher-php-server": "<2.2.1", + "rainlab/debugbar-plugin": "<3.1", + "robrichards/xmlseclibs": "<3.0.4", + "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", + "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", + "sensiolabs/connect": "<4.2.3", + "serluck/phpwhois": "<=4.2.6", + "shopware/core": "<=6.3.4", + "shopware/platform": "<=6.3.4", + "shopware/shopware": "<5.6.9", + "silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1", + "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", + "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", + "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": "<4.4.7|>=4.5,<4.5.4", + "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.1.2|>=3.2,<3.2.4", + "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/subsites": ">=2,<2.1.1", + "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", + "silverstripe/userforms": "<3", + "simple-updates/phpwhois": "<=1", + "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", + "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "simplito/elliptic-php": "<1.0.6", + "slim/slim": "<2.6", + "smarty/smarty": "<3.1.33", + "socalnick/scn-social-auth": "<1.15.2", + "spoonity/tcpdf": "<6.2.22", + "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", + "ssddanbrown/bookstack": "<0.29.2", + "stormpath/sdk": ">=0,<9.9.99", + "studio-42/elfinder": "<2.1.49", + "sulu/sulu": "<1.6.34|>=2,<2.0.10|>=2.1,<2.1.1", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", + "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", + "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3", + "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", + "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", + "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/mime": ">=4.3,<4.3.8", + "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/polyfill": ">=1,<1.10", + "symfony/polyfill-php55": ">=1,<1.10", + "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.37|>=3,<3.3.17|>=3.4,<3.4.7|>=4,<4.0.7", + "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-guard": ">=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/serializer": ">=2,<2.0.11", + "symfony/symfony": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/translation": ">=2,<2.0.17", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3g/svg-sanitizer": "<1.0.3", + "tecnickcom/tcpdf": "<6.2.22", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1-beta.1,<2.1.3", + "theonedemon/phpwhois": "<=4.2.5", + "titon/framework": ">=0,<9.9.99", + "truckersmp/phpwhois": "<=4.3.1", + "twig/twig": "<1.38|>=2,<2.7", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.23|>=10,<10.4.10", + "typo3/cms-core": ">=8,<8.7.38|>=9,<9.5.23|>=10,<10.4.10", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4", + "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", + "ua-parser/uap-php": "<3.8", + "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", + "wallabag/tcpdf": "<6.2.22", + "willdurand/js-translation-bundle": "<2.1.1", + "yii2mod/yii2-cms": "<1.9.2", + "yiisoft/yii": ">=1.1.14,<1.1.15", + "yiisoft/yii2": "<2.0.38", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.15", + "yiisoft/yii2-elasticsearch": "<2.0.5", + "yiisoft/yii2-gii": "<2.0.4", + "yiisoft/yii2-jui": "<2.0.4", + "yiisoft/yii2-redis": "<2.0.8", + "yourls/yourls": "<1.7.4", + "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", + "zendframework/zend-diactoros": ">=1,<1.8.4", + "zendframework/zend-feed": ">=1,<2.10.3", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": ">=1,<2.8.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": "<2.5.1", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": ">=2,<2.0.2", + "zendframework/zendxml": ">=1,<1.0.1", + "zetacomponents/mail": "<1.8.2", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + }, + { + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" + } + ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "support": { + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", + "type": "tidelift" + } + ], + "time": "2021-01-20T22:18:29+00:00" + }, + { + "name": "sebastian/cli-parser", "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -6579,34 +6703,40 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.2", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -6619,6 +6749,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -6630,10 +6764,6 @@ { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" } ], "description": "Provides the functionality to compare PHP values for equality", @@ -6643,33 +6773,92 @@ "compare", "equality" ], - "time": "2018-07-12T15:12:46+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" }, { "name": "sebastian/diff", - "version": "3.0.2", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -6682,13 +6871,13 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], "description": "Diff implementation", @@ -6699,27 +6888,33 @@ "unidiff", "unified diff" ], - "time": "2019-02-04T06:01:07+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", - "version": "4.2.3", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -6727,7 +6922,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -6752,34 +6947,40 @@ "environment", "hhvm" ], - "time": "2019-11-20T08:46:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -6819,30 +7020,36 @@ "export", "exporter" ], - "time": "2019-09-14T09:02:43+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.0", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", "shasum": "" }, "require": { - "php": "^7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -6850,7 +7057,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -6873,34 +7080,93 @@ "keywords": [ "global state" ], - "time": "2019-02-01T05:30:01+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" }, { "name": "sebastian/object-enumerator", - "version": "3.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -6920,32 +7186,38 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.1", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -6965,32 +7237,38 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.0", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -7003,14 +7281,14 @@ "BSD-3-Clause" ], "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, { "name": "Adam Harvey", "email": "aharvey@php.net" @@ -7018,29 +7296,38 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7060,32 +7347,38 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "1.1.3", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", "shasum": "" }, "require": { - "php": "^7.2" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.3-dev" } }, "autoload": { @@ -7106,29 +7399,35 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "time": "2019-07-02T08:10:15+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:18:59+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7149,7 +7448,13 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "theseer/tokenizer", @@ -7196,60 +7501,13 @@ } ], "time": "2020-07-12T23:59:07+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", - "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<3.9.1" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "type": "library", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2020-07-08T17:02:28+00:00" } ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "roave/security-advisories": 20 + }, "prefer-stable": true, "prefer-lowest": false, "platform": { diff --git a/config/api/app/version.php b/config/api/app/version.php index 86698ab8..27ffe213 100644 --- a/config/api/app/version.php +++ b/config/api/app/version.php @@ -3,9 +3,9 @@ declare(strict_types=1); return [ - 'version'=> 'v2.17.1', + 'version'=> 'v2.18.0', 'prefix' => 'v2', - 'release_date' => '2020-11-28', + 'release_date' => '2021-01-27', 'changelog' => [ 'api' => '/v2/changelog', 'markdown' => 'https://github.com/costs-to-expect/api/blob/master/CHANGELOG.md' diff --git a/config/auth.php b/config/auth.php index f8a1194b..f7ac9818 100644 --- a/config/auth.php +++ b/config/auth.php @@ -42,8 +42,9 @@ ], 'api' => [ - 'driver' => 'passport', + 'driver' => 'sanctum', 'provider' => 'users', + 'hash' => false, ], ], diff --git a/config/sanctum.php b/config/sanctum.php new file mode 100644 index 00000000..835e8800 --- /dev/null +++ b/config/sanctum.php @@ -0,0 +1,50 @@ + explode(',', env( + 'SANCTUM_STATEFUL_DOMAINS', + 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1' + )), + + /* + |-------------------------------------------------------------------------- + | Expiration Minutes + |-------------------------------------------------------------------------- + | + | This value controls the number of minutes until an issued token will be + | considered expired. If this value is null, personal access tokens do + | not expire. This won't tweak the lifetime of first-party sessions. + | + */ + + 'expiration' => null, + + /* + |-------------------------------------------------------------------------- + | Sanctum Middleware + |-------------------------------------------------------------------------- + | + | When authenticating your first-party SPA with Sanctum you may need to + | customize some of the middleware Sanctum uses while processing the + | request. You may change the middleware listed below as required. + | + */ + + 'middleware' => [ + 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, + 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + ], + +]; diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php new file mode 100644 index 00000000..3ce00023 --- /dev/null +++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -0,0 +1,36 @@ +bigIncrements('id'); + $table->morphs('tokenable'); + $table->string('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('personal_access_tokens'); + } +} diff --git a/database/migrations/2021_01_23_232811_remove_passport_tables.php b/database/migrations/2021_01_23_232811_remove_passport_tables.php new file mode 100644 index 00000000..87991715 --- /dev/null +++ b/database/migrations/2021_01_23_232811_remove_passport_tables.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_creates'); + } +} diff --git a/database/migrations/2021_01_25_160944_add_uuid_to_failed_jobs_table.php b/database/migrations/2021_01_25_160944_add_uuid_to_failed_jobs_table.php new file mode 100644 index 00000000..238b3dcb --- /dev/null +++ b/database/migrations/2021_01_25_160944_add_uuid_to_failed_jobs_table.php @@ -0,0 +1,32 @@ +Our documentation is available at https://postman.costs-to-expect.com.

-

We will ensure that all our docs are always be up to date; - the docs will always refer to the released live version +

We will ensure that our docs are always up to date; + the docs will always refer to the live version of the API.

In addition to the published documentation, we include diff --git a/resources/views/vendor/mail/html/button.blade.php b/resources/views/vendor/mail/html/button.blade.php new file mode 100644 index 00000000..e74fe55a --- /dev/null +++ b/resources/views/vendor/mail/html/button.blade.php @@ -0,0 +1,19 @@ + + + + + diff --git a/resources/views/vendor/mail/html/footer.blade.php b/resources/views/vendor/mail/html/footer.blade.php new file mode 100644 index 00000000..3ff41f89 --- /dev/null +++ b/resources/views/vendor/mail/html/footer.blade.php @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/resources/views/vendor/mail/html/header.blade.php b/resources/views/vendor/mail/html/header.blade.php new file mode 100644 index 00000000..fa1875ca --- /dev/null +++ b/resources/views/vendor/mail/html/header.blade.php @@ -0,0 +1,11 @@ + + + +@if (trim($slot) === 'Laravel') + +@else +{{ $slot }} +@endif + + + diff --git a/resources/views/vendor/mail/html/layout.blade.php b/resources/views/vendor/mail/html/layout.blade.php new file mode 100644 index 00000000..684e0f7d --- /dev/null +++ b/resources/views/vendor/mail/html/layout.blade.php @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + diff --git a/resources/views/vendor/mail/html/message.blade.php b/resources/views/vendor/mail/html/message.blade.php new file mode 100644 index 00000000..5e7c6bf2 --- /dev/null +++ b/resources/views/vendor/mail/html/message.blade.php @@ -0,0 +1,27 @@ +@component('mail::layout') +{{-- Header --}} +@slot('header') +@component('mail::header', ['url' => config('app.url')]) +Costs to Expect +@endcomponent +@endslot + +{{-- Body --}} +{{ $slot }} + +{{-- Subcopy --}} +@isset($subcopy) +@slot('subcopy') +@component('mail::subcopy') +{{ $subcopy }} +@endcomponent +@endslot +@endisset + +{{-- Footer --}} +@slot('footer') +@component('mail::footer') +© {{ date('Y') }} Costs to Expect and Dean Blackborough. @lang('All rights reserved.') +@endcomponent +@endslot +@endcomponent diff --git a/resources/views/vendor/mail/html/panel.blade.php b/resources/views/vendor/mail/html/panel.blade.php new file mode 100644 index 00000000..2975a60a --- /dev/null +++ b/resources/views/vendor/mail/html/panel.blade.php @@ -0,0 +1,14 @@ + + + + + + diff --git a/resources/views/vendor/mail/html/subcopy.blade.php b/resources/views/vendor/mail/html/subcopy.blade.php new file mode 100644 index 00000000..790ce6c2 --- /dev/null +++ b/resources/views/vendor/mail/html/subcopy.blade.php @@ -0,0 +1,7 @@ + + + + + diff --git a/resources/views/vendor/mail/html/table.blade.php b/resources/views/vendor/mail/html/table.blade.php new file mode 100644 index 00000000..a5f3348b --- /dev/null +++ b/resources/views/vendor/mail/html/table.blade.php @@ -0,0 +1,3 @@ +

+{{ Illuminate\Mail\Markdown::parse($slot) }} +
diff --git a/resources/views/vendor/mail/html/themes/default.css b/resources/views/vendor/mail/html/themes/default.css new file mode 100644 index 00000000..350fb838 --- /dev/null +++ b/resources/views/vendor/mail/html/themes/default.css @@ -0,0 +1,289 @@ +/* Base */ + +body, +body *:not(html):not(style):not(br):not(tr):not(code) { + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + position: relative; +} + +body { + -webkit-text-size-adjust: none; + background-color: #ffffff; + color: #718096; + height: 100%; + line-height: 1.4; + margin: 0; + padding: 0; + width: 100% !important; +} + +p, +ul, +ol, +blockquote { + line-height: 1.4; + text-align: left; +} + +a { + color: #3869d4; +} + +a img { + border: none; +} + +/* Typography */ + +h1 { + color: #3d4852; + font-size: 18px; + font-weight: bold; + margin-top: 0; + text-align: left; +} + +h2 { + font-size: 16px; + font-weight: bold; + margin-top: 0; + text-align: left; +} + +h3 { + font-size: 14px; + font-weight: bold; + margin-top: 0; + text-align: left; +} + +p { + font-size: 16px; + line-height: 1.5em; + margin-top: 0; + text-align: left; +} + +p.sub { + font-size: 12px; +} + +img { + max-width: 100%; +} + +/* Layout */ + +.wrapper { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + background-color: #edf2f7; + margin: 0; + padding: 0; + width: 100%; +} + +.content { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + margin: 0; + padding: 0; + width: 100%; +} + +/* Header */ + +.header { + padding: 25px 0; + text-align: center; +} + +.header a { + color: #3d4852; + font-size: 19px; + font-weight: bold; + text-decoration: none; +} + +/* Logo */ + +.logo { + height: 75px; + width: 75px; +} + +/* Body */ + +.body { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + background-color: #edf2f7; + border-bottom: 1px solid #edf2f7; + border-top: 1px solid #edf2f7; + margin: 0; + padding: 0; + width: 100%; +} + +.inner-body { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 570px; + background-color: #ffffff; + border-color: #e8e5ef; + border-radius: 2px; + border-width: 1px; + box-shadow: 0 2px 0 rgba(0, 0, 150, 0.025), 2px 4px 0 rgba(0, 0, 150, 0.015); + margin: 0 auto; + padding: 0; + width: 570px; +} + +/* Subcopy */ + +.subcopy { + border-top: 1px solid #e8e5ef; + margin-top: 25px; + padding-top: 25px; +} + +.subcopy p { + font-size: 14px; +} + +/* Footer */ + +.footer { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 570px; + margin: 0 auto; + padding: 0; + text-align: center; + width: 570px; +} + +.footer p { + color: #b0adc5; + font-size: 12px; + text-align: center; +} + +.footer a { + color: #b0adc5; + text-decoration: underline; +} + +/* Tables */ + +.table table { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + margin: 30px auto; + width: 100%; +} + +.table th { + border-bottom: 1px solid #edeff2; + margin: 0; + padding-bottom: 8px; +} + +.table td { + color: #74787e; + font-size: 15px; + line-height: 18px; + margin: 0; + padding: 10px 0; +} + +.content-cell { + max-width: 100vw; + padding: 32px; +} + +/* Buttons */ + +.action { + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + -premailer-width: 100%; + margin: 30px auto; + padding: 0; + text-align: center; + width: 100%; +} + +.button { + -webkit-text-size-adjust: none; + border-radius: 4px; + color: #fff; + display: inline-block; + overflow: hidden; + text-decoration: none; +} + +.button-blue, +.button-primary { + background-color: #2d3748; + border-bottom: 8px solid #2d3748; + border-left: 18px solid #2d3748; + border-right: 18px solid #2d3748; + border-top: 8px solid #2d3748; +} + +.button-green, +.button-success { + background-color: #48bb78; + border-bottom: 8px solid #48bb78; + border-left: 18px solid #48bb78; + border-right: 18px solid #48bb78; + border-top: 8px solid #48bb78; +} + +.button-red, +.button-error { + background-color: #e53e3e; + border-bottom: 8px solid #e53e3e; + border-left: 18px solid #e53e3e; + border-right: 18px solid #e53e3e; + border-top: 8px solid #e53e3e; +} + +/* Panels */ + +.panel { + border-left: #2d3748 solid 4px; + margin: 21px 0; +} + +.panel-content { + background-color: #edf2f7; + color: #718096; + padding: 16px; +} + +.panel-content p { + color: #718096; +} + +.panel-item { + padding: 0; +} + +.panel-item p:last-of-type { + margin-bottom: 0; + padding-bottom: 0; +} + +/* Utilities */ + +.break-all { + word-break: break-all; +} diff --git a/resources/views/vendor/mail/text/button.blade.php b/resources/views/vendor/mail/text/button.blade.php new file mode 100644 index 00000000..97444ebd --- /dev/null +++ b/resources/views/vendor/mail/text/button.blade.php @@ -0,0 +1 @@ +{{ $slot }}: {{ $url }} diff --git a/resources/views/vendor/mail/text/footer.blade.php b/resources/views/vendor/mail/text/footer.blade.php new file mode 100644 index 00000000..3338f620 --- /dev/null +++ b/resources/views/vendor/mail/text/footer.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/mail/text/header.blade.php b/resources/views/vendor/mail/text/header.blade.php new file mode 100644 index 00000000..aaa3e575 --- /dev/null +++ b/resources/views/vendor/mail/text/header.blade.php @@ -0,0 +1 @@ +[{{ $slot }}]({{ $url }}) diff --git a/resources/views/vendor/mail/text/layout.blade.php b/resources/views/vendor/mail/text/layout.blade.php new file mode 100644 index 00000000..9378baa0 --- /dev/null +++ b/resources/views/vendor/mail/text/layout.blade.php @@ -0,0 +1,9 @@ +{!! strip_tags($header) !!} + +{!! strip_tags($slot) !!} +@isset($subcopy) + +{!! strip_tags($subcopy) !!} +@endisset + +{!! strip_tags($footer) !!} diff --git a/resources/views/vendor/mail/text/message.blade.php b/resources/views/vendor/mail/text/message.blade.php new file mode 100644 index 00000000..1ae9ed8f --- /dev/null +++ b/resources/views/vendor/mail/text/message.blade.php @@ -0,0 +1,27 @@ +@component('mail::layout') + {{-- Header --}} + @slot('header') + @component('mail::header', ['url' => config('app.url')]) + {{ config('app.name') }} + @endcomponent + @endslot + + {{-- Body --}} + {{ $slot }} + + {{-- Subcopy --}} + @isset($subcopy) + @slot('subcopy') + @component('mail::subcopy') + {{ $subcopy }} + @endcomponent + @endslot + @endisset + + {{-- Footer --}} + @slot('footer') + @component('mail::footer') + © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.') + @endcomponent + @endslot +@endcomponent diff --git a/resources/views/vendor/mail/text/panel.blade.php b/resources/views/vendor/mail/text/panel.blade.php new file mode 100644 index 00000000..3338f620 --- /dev/null +++ b/resources/views/vendor/mail/text/panel.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/mail/text/subcopy.blade.php b/resources/views/vendor/mail/text/subcopy.blade.php new file mode 100644 index 00000000..3338f620 --- /dev/null +++ b/resources/views/vendor/mail/text/subcopy.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/mail/text/table.blade.php b/resources/views/vendor/mail/text/table.blade.php new file mode 100644 index 00000000..3338f620 --- /dev/null +++ b/resources/views/vendor/mail/text/table.blade.php @@ -0,0 +1 @@ +{{ $slot }} diff --git a/resources/views/vendor/notifications/email.blade.php b/resources/views/vendor/notifications/email.blade.php new file mode 100644 index 00000000..14ac3767 --- /dev/null +++ b/resources/views/vendor/notifications/email.blade.php @@ -0,0 +1,62 @@ +@component('mail::message') +{{-- Greeting --}} +@if (! empty($greeting)) +# {{ $greeting }} +@else +@if ($level === 'error') +# @lang('Whoops!') +@else +# @lang('Hello!') +@endif +@endif + +{{-- Intro Lines --}} +@foreach ($introLines as $line) +{{ $line }} + +@endforeach + +{{-- Action Button --}} +@isset($actionText) + +@component('mail::button', ['url' => $actionUrl, 'color' => $color]) +{{ $actionText }} +@endcomponent +@endisset + +{{-- Outro Lines --}} +@foreach ($outroLines as $line) +{{ $line }} + +@endforeach + +{{-- Salutation --}} +@if (! empty($salutation)) +{{ $salutation }} +@else +@lang('Regards'),
+The Costs to Expect team. +@endif + +{{-- Subcopy --}} +@isset($actionText) +@slot('subcopy') +@lang( + "If you’re having trouble clicking the \":actionText\" button, copy and paste the URL below\n". + 'into your web browser:', + [ + 'actionText' => $actionText, + ] +) [{{ $displayableActionUrl }}]({{ $actionUrl }}) +@endslot +@endisset +@endcomponent diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index af18f94d..e6cbe8b8 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -225,16 +225,17 @@ function gtag(){dataLayer.push(arguments);}

Added

    -
  • We have added the `X-Last-Updated` header to the `resource-types`, `resources`, `categories`, `subcategories`, `items` and `resource items` collection routes.
  • -
  • We have added the `X-Last-Updated` header to additional summary routes; the header was missing, and we are going to use it.
  • -
  • We have increased the coverage of our request test suite.
  • -
  • We have relocated our `Transformer` classes; we have moved them out of the `Models` namespace.
  • +
  • We have opened up registration on the API; you can register, login, and use all the expected authentication features.
  • +
  • We have added notification emails for registration and forgot password requests.
-

Fixed

+

Changed

    -
  • We have updated the way we calculated the value for `X-Last-Updated`. We are using the max of the `created at` and `updated at`, not just looking at the `created at` time.
  • +
  • We have switched to Laravel Sanctum and removed all references to Laravel Passport, Sanctum makes more sense for our API.
  • +
  • We have updated to Laravel version 8.
  • +
  • We have tweaked our Docker setup and removed composer and phpunit.
  • +
  • Content updates.
diff --git a/routes/api/auth.php b/routes/api/auth.php index ac023cee..f8f688e5 100644 --- a/routes/api/auth.php +++ b/routes/api/auth.php @@ -1,5 +1,6 @@ Config::get('api.app.version.prefix'), ], function () { + Route::get( + 'auth/check', + [Authentication::class, 'check'] + )->name('auth.check'); + Route::post( - 'auth/login', - 'PassportView@login' - ); + 'auth/create-new-password', + [Authentication::class, 'createNewPassword'] + )->name('auth.create-new-password'); - Route::get( - 'auth/user', - 'PassportView@user' - ); + Route::post( + 'auth/forgot-password', + [Authentication::class, 'forgotPassword'] + )->name('auth.forgot-password'); + + Route::post( + 'auth/login', + [Authentication::class, 'login'] + )->name('auth.login'); - Route::get( - 'auth/check', - 'PassportView@check' - ); if (Config::get('api.app.config.registrations') === true) { Route::post( 'auth/register', - 'PassportView@register' - ); + 'Authentication@register' + )->name('auth.register'); + + Route::post( + 'auth/create-password', + [Authentication::class, 'createPassword'] + )->name('auth.create-password'); } } ); + +Route::group( + [ + 'prefix' => Config::get('api.app.version.prefix'), + 'middleware' => [ + 'auth:sanctum' + ] + ], + static function () { + Route::post( + 'auth/update-password', + [Authentication::class, 'updatePassword'] + )->name('auth.update-password'); + + Route::post( + 'auth/update-profile', + [Authentication::class, 'updateProfile'] + )->name('auth.update-profile'); + + Route::get( + 'auth/user', + [Authentication::class, 'user'] + )->name('auth.user'); + } +); + diff --git a/routes/api/private-routes.php b/routes/api/private-routes.php index 0609a371..7c86f7c1 100644 --- a/routes/api/private-routes.php +++ b/routes/api/private-routes.php @@ -7,14 +7,14 @@ [ 'prefix' => Config::get('api.app.version.prefix'), 'middleware' => [ - 'auth:api', + 'auth:sanctum', 'convert.route.parameters' ] ], static function () { Route::get( 'auth/user', - 'PassportView@user' + 'Authentication@user' ); Route::post( diff --git a/routes/api/public-routes.php b/routes/api/public-routes.php index c4dd6d06..7b9253a6 100644 --- a/routes/api/public-routes.php +++ b/routes/api/public-routes.php @@ -25,7 +25,7 @@ static function () { Route::get( 'changelog', - 'IndexView@changeLog' + [\App\Http\Controllers\IndexView::class, 'changeLog'] ); Route::options(