From 1df5818f427898acca8ce81fe5439c702beca610 Mon Sep 17 00:00:00 2001 From: Leonard Smith Date: Fri, 2 Oct 2020 11:08:44 -0500 Subject: [PATCH] Add support for json:api --- composer.json | 2 + composer.lock | 449 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 450 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 7115b20..61d9cf0 100644 --- a/composer.json +++ b/composer.json @@ -9,6 +9,7 @@ "license": "MIT", "require": { "php": "^7.2.5", + "cloudcreativity/laravel-json-api": "^2.2", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^6.3", @@ -16,6 +17,7 @@ "laravel/tinker": "^2.0" }, "require-dev": { + "cloudcreativity/json-api-testing": "^3.1", "facade/ignition": "^2.0", "fzaninotto/faker": "^1.9.1", "mockery/mockery": "^1.3.1", diff --git a/composer.lock b/composer.lock index 7947bb1..41c8b07 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d0c0458cd7bf0aa562d0e4f09f6d9d59", + "content-hash": "a4517033c786b889ade7cf9ae70688fc", "packages": [ { "name": "asm89/stack-cors", @@ -110,6 +110,92 @@ ], "time": "2020-08-18T23:57:15+00:00" }, + { + "name": "cloudcreativity/laravel-json-api", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/cloudcreativity/laravel-json-api.git", + "reference": "38f27dc01ad83566bf67723f1031ba3b16bfbb44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cloudcreativity/laravel-json-api/zipball/38f27dc01ad83566bf67723f1031ba3b16bfbb44", + "reference": "38f27dc01ad83566bf67723f1031ba3b16bfbb44", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^7.0", + "illuminate/contracts": "^7.0", + "illuminate/database": "^7.0", + "illuminate/filesystem": "^7.0", + "illuminate/http": "^7.0", + "illuminate/pagination": "^7.0", + "illuminate/support": "^7.0", + "neomerx/json-api": "^1.0.3", + "nyholm/psr7": "^1.2", + "php": "^7.2", + "ramsey/uuid": "^3.0|^4.0", + "symfony/psr-http-message-bridge": "^2.0" + }, + "require-dev": { + "cloudcreativity/json-api-testing": "^3.0", + "ext-sqlite3": "*", + "guzzlehttp/guzzle": "^6.3", + "laravel/ui": "^2.0", + "mockery/mockery": "^1.1", + "orchestra/testbench": "^5.0", + "phpunit/phpunit": "^9.0" + }, + "suggest": { + "cloudcreativity/json-api-testing": "Required to use the test helpers." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + }, + "laravel": { + "providers": [ + "CloudCreativity\\LaravelJsonApi\\ServiceProvider" + ], + "aliases": { + "JsonApi": "CloudCreativity\\LaravelJsonApi\\Facades\\JsonApi" + } + } + }, + "autoload": { + "psr-4": { + "CloudCreativity\\LaravelJsonApi\\": "src/" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + } + ], + "description": "JSON API (jsonapi.org) support for Laravel applications.", + "homepage": "https://github.com/cloudcreativity/laravel-json-api", + "keywords": [ + "JSON-API", + "api", + "cloudcreativity", + "json", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "time": "2020-09-09T12:42:33+00:00" + }, { "name": "dnoegel/php-xdg-base-dir", "version": "v0.1.1", @@ -1288,6 +1374,61 @@ ], "time": "2020-07-23T08:41:23+00:00" }, + { + "name": "neomerx/json-api", + "version": "v1.0.9", + "source": { + "type": "git", + "url": "https://github.com/neomerx/json-api.git", + "reference": "c911b7494496e79f9de72ee40d6a2b791caaf95b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/neomerx/json-api/zipball/c911b7494496e79f9de72ee40d6a2b791caaf95b", + "reference": "c911b7494496e79f9de72ee40d6a2b791caaf95b", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "psr/http-message": "^1.0", + "psr/log": "^1.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.4", + "monolog/monolog": "^1.18", + "phpmd/phpmd": "^2.6", + "phpunit/phpunit": "^4.6 || ^5.0 || ^6.0", + "scrutinizer/ocular": "^1.3", + "squizlabs/php_codesniffer": "^2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Neomerx\\JsonApi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "neomerx", + "email": "info@neomerx.com" + } + ], + "description": "Framework agnostic JSON API (jsonapi.org) implementation", + "homepage": "https://github.com/neomerx/json-api", + "keywords": [ + "JSON-API", + "api", + "json", + "jsonapi", + "jsonapi.org", + "neomerx" + ], + "time": "2018-02-21T13:45:30+00:00" + }, { "name": "nesbot/carbon", "version": "2.40.1", @@ -1429,6 +1570,79 @@ ], "time": "2020-09-26T10:30:38+00:00" }, + { + "name": "nyholm/psr7", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7.git", + "reference": "21b71a31eab5c0c2caf967b9c0fd97020254ed75" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/21b71a31eab5c0c2caf967b9c0fd97020254ed75", + "reference": "21b71a31eab5c0c2caf967b9c0fd97020254ed75", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "php-http/message-factory": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "dev-master", + "php-http/psr7-integration-tests": "^1.0", + "phpunit/phpunit": "^7.5", + "symfony/error-handler": "^4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Nyholm\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "A fast PHP7 implementation of PSR-7", + "homepage": "http://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2020-06-13T15:59:10+00:00" + }, { "name": "opis/closure", "version": "3.5.7", @@ -1535,6 +1749,56 @@ ], "time": "2018-07-02T15:55:56+00:00" }, + { + "name": "php-http/message-factory", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message-factory.git", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Factory interfaces for PSR-7 HTTP Message", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "stream", + "uri" + ], + "time": "2015-12-19T14:08:53+00:00" + }, { "name": "phpoption/phpoption", "version": "1.7.5", @@ -1695,6 +1959,58 @@ ], "time": "2019-01-08T18:20:26+00:00" }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "time": "2019-04-30T12:38:16+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -3876,6 +4192,84 @@ ], "time": "2020-09-02T16:23:27+00:00" }, + { + "name": "symfony/psr-http-message-bridge", + "version": "v2.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "51a21cb3ba3927d4b4bf8f25cc55763351af5f2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/51a21cb3ba3927d4b4bf8f25cc55763351af5f2e", + "reference": "51a21cb3ba3927d4b4bf8f25cc55763351af5f2e", + "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" + }, + "suggest": { + "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "2.0-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" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-29T08:17:46+00:00" + }, { "name": "symfony/routing", "version": "v5.1.6", @@ -4581,6 +4975,59 @@ } ], "packages-dev": [ + { + "name": "cloudcreativity/json-api-testing", + "version": "v3.1.0", + "source": { + "type": "git", + "url": "https://github.com/cloudcreativity/json-api-testing.git", + "reference": "9905bde76293059ea5d0a750f494565c9d0d87de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cloudcreativity/json-api-testing/zipball/9905bde76293059ea5d0a750f494565c9d0d87de", + "reference": "9905bde76293059ea5d0a750f494565c9d0d87de", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/support": "^6.0|^7.0|^8.0", + "php": "^7.2", + "phpunit/phpunit": "^8.0|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "CloudCreativity\\JsonApi\\Testing\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + } + ], + "description": "PHPUnit test helpers to check JSON API documents.", + "homepage": "https://github.com/cloudcreativity/json-api", + "keywords": [ + "JSON-API", + "api", + "cloudcreativity", + "json", + "jsonapi", + "jsonapi.org" + ], + "time": "2020-09-09T11:40:23+00:00" + }, { "name": "doctrine/instantiator", "version": "1.3.1",