From 45c722e786d6692802f4641cc5de7808441e2519 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 10 May 2024 06:36:57 +0200 Subject: [PATCH] Add config, merge later. --- composer.json | 7 +- composer.lock | 772 +++++++++++++++++++++++++++++++++++++++++++-- config/firefly.php | 50 +-- 3 files changed, 786 insertions(+), 43 deletions(-) diff --git a/composer.json b/composer.json index 7a9805a62d..cddfce5d99 100644 --- a/composer.json +++ b/composer.json @@ -87,6 +87,8 @@ "guzzlehttp/guzzle": "^7.8", "jc5/google2fa-laravel": "^2.0", "jc5/recovery": "^2", + "laravel-json-api/laravel": "^4.0", + "laravel-json-api/non-eloquent": "^4.0", "laravel/framework": "^11", "laravel/passport": "^12", "laravel/sanctum": "^4", @@ -101,13 +103,13 @@ "psr/log": "<4", "ramsey/uuid": "^4.7", "rcrowe/twigbridge": "^0.14", - "twig/twig": "3.8.0", "spatie/laravel-html": "^3.2", "spatie/laravel-ignition": "^2", "spatie/period": "^2.4", "symfony/expression-language": "^7.0", "symfony/http-client": "^7.0", - "symfony/mailgun-mailer": "^7.0" + "symfony/mailgun-mailer": "^7.0", + "twig/twig": "3.8.0" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.9", @@ -116,6 +118,7 @@ "fakerphp/faker": "1.*", "filp/whoops": "2.*", "larastan/larastan": "^2", + "laravel-json-api/testing": "^3.0", "mockery/mockery": "1.*", "phpstan/extension-installer": "^1.3", "phpstan/phpstan": "^1.10", diff --git a/composer.lock b/composer.lock index 336e9e23cf..fc8c7f63db 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": "be35d14f371e7f8bc178ae6f7a615e5c", + "content-hash": "64e54540b9a552493f83b9a46ac22b4e", "packages": [ { "name": "bacon/bacon-qr-code", @@ -1674,17 +1674,628 @@ "time": "2022-03-31T05:55:34+00:00" }, { - "name": "laravel/framework", - "version": "v11.6.0", + "name": "laravel-json-api/core", + "version": "v4.0.0", "source": { "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "e090ee638ebd4ce221d8bad43b49bbf59ea70ae5" + "url": "https://github.com/laravel-json-api/core.git", + "reference": "5dbf042c69ce02dc0699676d6f3fe1fe9c82ad49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/e090ee638ebd4ce221d8bad43b49bbf59ea70ae5", - "reference": "e090ee638ebd4ce221d8bad43b49bbf59ea70ae5", + "url": "https://api.github.com/repos/laravel-json-api/core/zipball/5dbf042c69ce02dc0699676d6f3fe1fe9c82ad49", + "reference": "5dbf042c69ce02dc0699676d6f3fe1fe9c82ad49", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/contracts": "^11.0", + "illuminate/http": "^11.0", + "illuminate/support": "^11.0", + "php": "^8.2" + }, + "require-dev": { + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Core\\": "src/Core", + "LaravelJsonApi\\Contracts\\": "src/Contracts" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Contracts and support classes for Laravel JSON:API packages.", + "homepage": "https://github.com/laravel-json-api/core", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/core/issues", + "source": "https://github.com/laravel-json-api/core/tree/v4.0.0" + }, + "time": "2024-03-12T18:36:10+00:00" + }, + { + "name": "laravel-json-api/eloquent", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/eloquent.git", + "reference": "3794011500b045d076c0ec33aff0c470e200ab3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/eloquent/zipball/3794011500b045d076c0ec33aff0c470e200ab3d", + "reference": "3794011500b045d076c0ec33aff0c470e200ab3d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/database": "^11.0", + "illuminate/support": "^11.0", + "laravel-json-api/core": "^4.0", + "php": "^8.2" + }, + "require-dev": { + "orchestra/testbench": "^9.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Eloquent\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Serialize Eloquent models as JSON:API resources.", + "homepage": "https://github.com/laravel-json-api/eloquent", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/eloquent/issues", + "source": "https://github.com/laravel-json-api/eloquent/tree/v4.0.0" + }, + "time": "2024-03-12T21:05:33+00:00" + }, + { + "name": "laravel-json-api/encoder-neomerx", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/encoder-neomerx.git", + "reference": "032b155f6221c0cd24331f59bfee6d78b26cd291" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/encoder-neomerx/zipball/032b155f6221c0cd24331f59bfee6d78b26cd291", + "reference": "032b155f6221c0cd24331f59bfee6d78b26cd291", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/contracts": "^11.0", + "illuminate/support": "^11.0", + "laravel-json-api/core": "^4.0", + "laravel-json-api/neomerx-json-api": "^5.0.1", + "php": "^8.2" + }, + "require-dev": { + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "4.x-dev" + }, + "laravel": { + "providers": [ + "LaravelJsonApi\\Encoder\\Neomerx\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Encoder\\Neomerx\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Encode JSON:API resources using the neomerx/json-api package.", + "homepage": "https://github.com/laravel-json-api/encoder-neomerx", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/encoder-neomerx/issues", + "source": "https://github.com/laravel-json-api/encoder-neomerx/tree/v4.0.0" + }, + "time": "2024-03-14T17:32:38+00:00" + }, + { + "name": "laravel-json-api/exceptions", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/exceptions.git", + "reference": "72b308cd6bb0d99a5ceaa81b1539c193b233eb02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/exceptions/zipball/72b308cd6bb0d99a5ceaa81b1539c193b233eb02", + "reference": "72b308cd6bb0d99a5ceaa81b1539c193b233eb02", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/contracts": "^11.0", + "illuminate/pipeline": "^11.0", + "laravel-json-api/core": "^4.0", + "laravel-json-api/validation": "^4.0", + "php": "^8.2" + }, + "require-dev": { + "laravel-json-api/testing": "^3.0", + "orchestra/testbench": "^9.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Exceptions\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "JSON:API exception parsing for Laravel applications.", + "homepage": "https://github.com/laravel-json-api/exceptions", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/exceptions/issues", + "source": "https://github.com/laravel-json-api/exceptions/tree/v3.0.0" + }, + "time": "2024-03-12T20:41:22+00:00" + }, + { + "name": "laravel-json-api/laravel", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/laravel.git", + "reference": "013380ff3cadecb75b4adaaf27685b83473615af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/laravel/zipball/013380ff3cadecb75b4adaaf27685b83473615af", + "reference": "013380ff3cadecb75b4adaaf27685b83473615af", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel-json-api/core": "^4.0", + "laravel-json-api/eloquent": "^4.0", + "laravel-json-api/encoder-neomerx": "^4.0", + "laravel-json-api/exceptions": "^3.0", + "laravel-json-api/spec": "^3.0", + "laravel-json-api/validation": "^4.0", + "laravel/framework": "^11.0", + "php": "^8.2" + }, + "require-dev": { + "laravel-json-api/testing": "^3.0", + "orchestra/testbench": "^9.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "4.x-dev" + }, + "laravel": { + "aliases": { + "JsonApi": "LaravelJsonApi\\Core\\Facades\\JsonApi", + "JsonApiRoute": "LaravelJsonApi\\Laravel\\Facades\\JsonApiRoute" + }, + "providers": [ + "LaravelJsonApi\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Laravel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "JSON:API for Laravel applications.", + "homepage": "https://github.com/laravel-json-api/laravel", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/laravel/issues", + "source": "https://github.com/laravel-json-api/laravel/tree/v4.0.0" + }, + "time": "2024-03-14T18:09:33+00:00" + }, + { + "name": "laravel-json-api/neomerx-json-api", + "version": "v5.0.2", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/neomerx-json-api.git", + "reference": "00841feae83ab95f4490c6f2086f02f298293381" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/neomerx-json-api/zipball/00841feae83ab95f4490c6f2086f02f298293381", + "reference": "00841feae83ab95f4490c6f2086f02f298293381", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.4|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.17", + "mockery/mockery": "^1.4.4", + "phpmd/phpmd": "^2.11.1", + "phpunit/phpunit": "^9.5.10", + "scrutinizer/ocular": "^1.8", + "squizlabs/php_codesniffer": "^3.6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "5.x-dev" + } + }, + "autoload": { + "files": [ + "src/I18n/format.php" + ], + "psr-4": { + "Neomerx\\JsonApi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "neomerx", + "email": "info@neomerx.com" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Framework agnostic JSON API (jsonapi.org) implementation", + "homepage": "https://github.com/neomerx/json-api", + "keywords": [ + "JSON-API", + "api", + "json", + "jsonapi", + "jsonapi.org", + "neomerx" + ], + "support": { + "issues": "https://github.com/neomerx/json-api/issues", + "source": "https://github.com/laravel-json-api/neomerx-json-api/tree/v5.0.2" + }, + "time": "2023-05-29T14:50:09+00:00" + }, + { + "name": "laravel-json-api/non-eloquent", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/non-eloquent.git", + "reference": "ecc3da0630e92b285a953c4793f21bbdd7cc66dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/non-eloquent/zipball/ecc3da0630e92b285a953c4793f21bbdd7cc66dd", + "reference": "ecc3da0630e92b285a953c4793f21bbdd7cc66dd", + "shasum": "" + }, + "require": { + "laravel-json-api/core": "^4.0", + "php": "^8.2" + }, + "require-dev": { + "orchestra/testbench": "^9.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\NonEloquent\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Construct JSON:API resources for non-Eloquent classes.", + "homepage": "https://github.com/laravel-json-api/non-eloquent", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/non-eloquent/issues", + "source": "https://github.com/laravel-json-api/non-eloquent/tree/v4.0.0" + }, + "time": "2024-03-14T17:57:22+00:00" + }, + { + "name": "laravel-json-api/spec", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/spec.git", + "reference": "7f0972b3ed742779daf49662c7f8cca03582a727" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/spec/zipball/7f0972b3ed742779daf49662c7f8cca03582a727", + "reference": "7f0972b3ed742779daf49662c7f8cca03582a727", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/contracts": "^11.0", + "illuminate/pipeline": "^11.0", + "illuminate/support": "^11.0", + "laravel-json-api/core": "^4.0", + "php": "^8.2" + }, + "require-dev": { + "orchestra/testbench": "^9.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "3.x-dev" + }, + "laravel": { + "providers": [ + "LaravelJsonApi\\Spec\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Spec\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Validate JSON documents for compliance with the JSON:API specification.", + "homepage": "https://github.com/laravel-json-api/spec", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/spec/issues", + "source": "https://github.com/laravel-json-api/spec/tree/v3.0.0" + }, + "time": "2024-03-14T17:46:06+00:00" + }, + { + "name": "laravel-json-api/validation", + "version": "v4.1.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/validation.git", + "reference": "9004657962e5c4ea0c833c96c6d2bbcca60876b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/validation/zipball/9004657962e5c4ea0c833c96c6d2bbcca60876b7", + "reference": "9004657962e5c4ea0c833c96c6d2bbcca60876b7", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/contracts": "^11.0", + "illuminate/support": "^11.0", + "laravel-json-api/core": "^4.0", + "php": "^8.2" + }, + "require-dev": { + "orchestra/testbench": "^9.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "4.x-dev" + }, + "laravel": { + "providers": [ + "LaravelJsonApi\\Validation\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Validation\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Laravel validation for JSON:API resources.", + "homepage": "https://github.com/laravel-json-api/validation", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/validation/issues", + "source": "https://github.com/laravel-json-api/validation/tree/v4.1.0" + }, + "time": "2024-03-23T11:26:00+00:00" + }, + { + "name": "laravel/framework", + "version": "v11.7.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/e5ac72f513f635f208024aa76b8a04efc1b47f93", + "reference": "e5ac72f513f635f208024aa76b8a04efc1b47f93", "shasum": "" }, "require": { @@ -1876,7 +2487,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-04-30T13:30:08+00:00" + "time": "2024-05-07T13:41:51+00:00" }, { "name": "laravel/passport", @@ -3889,16 +4500,16 @@ }, { "name": "paragonie/constant_time_encoding", - "version": "v2.6.3", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", - "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105", + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105", "shasum": "" }, "require": { @@ -3952,7 +4563,7 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2022-06-14T06:56:20+00:00" + "time": "2024-05-08T12:18:48+00:00" }, { "name": "paragonie/random_compat", @@ -9137,6 +9748,64 @@ }, "time": "2023-06-14T05:06:27+00:00" }, + { + "name": "cloudcreativity/json-api-testing", + "version": "v6.0.0", + "source": { + "type": "git", + "url": "https://github.com/cloudcreativity/json-api-testing.git", + "reference": "7634cd00e6e493fb7b6e4cc5056153cfe08933a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cloudcreativity/json-api-testing/zipball/7634cd00e6e493fb7b6e4cc5056153cfe08933a5", + "reference": "7634cd00e6e493fb7b6e4cc5056153cfe08933a5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/contracts": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0", + "php": "^8.2", + "phpunit/phpunit": "^10.5|^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "6.x-dev" + } + }, + "autoload": { + "psr-4": { + "CloudCreativity\\JsonApi\\Testing\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "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" + ], + "support": { + "issues": "https://github.com/cloudcreativity/json-api/issues", + "source": "https://github.com/cloudcreativity/json-api-testing/tree/v6.0.0" + }, + "time": "2024-03-12T20:19:15+00:00" + }, { "name": "composer/class-map-generator", "version": "1.1.1", @@ -9616,6 +10285,71 @@ ], "time": "2024-04-16T19:13:34+00:00" }, + { + "name": "laravel-json-api/testing", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/laravel-json-api/testing.git", + "reference": "1ada998d2087479351e01dd22ca13a00a96b4118" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-json-api/testing/zipball/1ada998d2087479351e01dd22ca13a00a96b4118", + "reference": "1ada998d2087479351e01dd22ca13a00a96b4118", + "shasum": "" + }, + "require": { + "cloudcreativity/json-api-testing": "^6.0", + "ext-json": "*", + "illuminate/http": "^11.0", + "illuminate/support": "^11.0", + "illuminate/testing": "^11.0", + "php": "^8.2" + }, + "require-dev": { + "laravel/framework": "^11.0", + "phpunit/phpunit": "^10.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "LaravelJsonApi\\Testing\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cloud Creativity Ltd", + "email": "info@cloudcreativity.co.uk" + }, + { + "name": "Christopher Gammie", + "email": "contact@gammie.co.uk" + } + ], + "description": "Test helpers for JSON:API compliant APIs.", + "homepage": "https://github.com/laravel-json-api/testing", + "keywords": [ + "JSON-API", + "jsonapi", + "jsonapi.org", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel-json-api/testing/issues", + "source": "https://github.com/laravel-json-api/testing/tree/v3.0.0" + }, + "time": "2024-03-12T20:30:38+00:00" + }, { "name": "maximebf/debugbar", "version": "v1.22.3", @@ -10247,16 +10981,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.28.0", + "version": "1.29.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb" + "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc", + "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc", "shasum": "" }, "require": { @@ -10288,9 +11022,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0" }, - "time": "2024-04-03T18:51:33+00:00" + "time": "2024-05-06T12:04:23+00:00" }, { "name": "phpstan/phpstan", diff --git a/config/firefly.php b/config/firefly.php index c3a666053e..9b0d74abbe 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -436,7 +436,7 @@ return [ 'transfers' => 'fa-exchange', ], - 'bindables' => [ + 'bindables' => [ // models 'account' => Account::class, 'attachment' => Attachment::class, @@ -494,7 +494,7 @@ return [ 'userGroupBill' => UserGroupBill::class, 'userGroup' => UserGroup::class, ], - 'rule-actions' => [ + 'rule-actions' => [ 'set_category' => SetCategory::class, 'clear_category' => ClearCategory::class, 'set_budget' => SetBudget::class, @@ -528,7 +528,7 @@ return [ // 'set_foreign_amount' => SetForeignAmount::class, // 'set_foreign_currency' => SetForeignCurrency::class, ], - 'context-rule-actions' => [ + 'context-rule-actions' => [ 'set_category', 'set_budget', 'add_tag', @@ -547,13 +547,13 @@ return [ 'convert_transfer', ], - 'test-triggers' => [ + 'test-triggers' => [ 'limit' => 10, 'range' => 200, ], // expected source types for each transaction type, in order of preference. - 'expected_source_types' => [ + 'expected_source_types' => [ 'source' => [ TransactionTypeModel::WITHDRAWAL => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE], TransactionTypeEnum::DEPOSIT->value => [AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE, AccountType::REVENUE, AccountType::CASH], @@ -598,7 +598,7 @@ return [ TransactionTypeModel::LIABILITY_CREDIT => [AccountType::LIABILITY_CREDIT, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE], ], ], - 'allowed_opposing_types' => [ + 'allowed_opposing_types' => [ 'source' => [ AccountType::ASSET => [ AccountType::ASSET, @@ -688,7 +688,7 @@ return [ ], ], // depending on the account type, return the allowed transaction types: - 'allowed_transaction_types' => [ + 'allowed_transaction_types' => [ 'source' => [ AccountType::ASSET => [ TransactionTypeModel::WITHDRAWAL, @@ -757,7 +757,7 @@ return [ ], // having the source + dest will tell you the transaction type. - 'account_to_transaction' => [ + 'account_to_transaction' => [ AccountType::ASSET => [ AccountType::ASSET => TransactionTypeModel::TRANSFER, AccountType::CASH => TransactionTypeModel::WITHDRAWAL, @@ -822,7 +822,7 @@ return [ ], // allowed source -> destination accounts. - 'source_dests' => [ + 'source_dests' => [ TransactionTypeModel::WITHDRAWAL => [ AccountType::ASSET => [AccountType::EXPENSE, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE, AccountType::CASH], AccountType::LOAN => [AccountType::EXPENSE, AccountType::CASH], @@ -861,7 +861,7 @@ return [ ], ], // if you add fields to this array, don't forget to update the export routine (ExportDataGenerator). - 'journal_meta_fields' => [ + 'journal_meta_fields' => [ // sepa 'sepa_cc', 'sepa_ct_op', @@ -895,33 +895,33 @@ return [ 'recurrence_count', 'recurrence_date', ], - 'webhooks' => [ + 'webhooks' => [ 'max_attempts' => env('WEBHOOK_MAX_ATTEMPTS', 3), ], - 'can_have_virtual_amounts' => [AccountType::ASSET], - 'can_have_opening_balance' => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE], - 'dynamic_creation_allowed' => [ + 'can_have_virtual_amounts' => [AccountType::ASSET], + 'can_have_opening_balance' => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE], + 'dynamic_creation_allowed' => [ AccountType::EXPENSE, AccountType::REVENUE, AccountType::INITIAL_BALANCE, AccountType::RECONCILIATION, AccountType::LIABILITY_CREDIT, ], - 'valid_asset_fields' => ['account_role', 'account_number', 'currency_id', 'BIC', 'include_net_worth'], - 'valid_cc_fields' => ['account_role', 'cc_monthly_payment_date', 'cc_type', 'account_number', 'currency_id', 'BIC', 'include_net_worth'], - 'valid_account_fields' => ['account_number', 'currency_id', 'BIC', 'interest', 'interest_period', 'include_net_worth', 'liability_direction'], + 'valid_asset_fields' => ['account_role', 'account_number', 'currency_id', 'BIC', 'include_net_worth'], + 'valid_cc_fields' => ['account_role', 'cc_monthly_payment_date', 'cc_type', 'account_number', 'currency_id', 'BIC', 'include_net_worth'], + 'valid_account_fields' => ['account_number', 'currency_id', 'BIC', 'interest', 'interest_period', 'include_net_worth', 'liability_direction'], // dynamic date ranges are as follows: - 'dynamic_date_ranges' => ['last7', 'last30', 'last90', 'last365', 'MTD', 'QTD', 'YTD'], + 'dynamic_date_ranges' => ['last7', 'last30', 'last90', 'last365', 'MTD', 'QTD', 'YTD'], // only used in v1 - 'allowed_sort_parameters' => ['order', 'name', 'iban'], + 'allowed_sort_parameters' => ['order', 'name', 'iban'], // preselected account lists possibilities: - 'preselected_accounts' => ['all', 'assets', 'liabilities'], + 'preselected_accounts' => ['all', 'assets', 'liabilities'], // allowed filters (search) for APIs - 'filters' => [ + 'filters' => [ 'allowed' => [ 'accounts' => [ 'name' => 'string', @@ -935,10 +935,16 @@ return [ ], // allowed sort columns for APIs - 'sorting' => [ + 'sorting' => [ 'allowed' => [ 'transactions' => ['description', 'amount'], 'accounts' => ['name', 'active', 'iban', 'balance', 'last_activity', 'balance_difference', 'current_debt'], ], ], + 'full_data_set' => [ + 'account' => ['last_activity', 'balance_difference', 'current_balance', 'current_debt'], + ], + 'valid_query_filters' => [ + 'account' => ['name', 'iban', 'active'], + ], ];