From 81fac9f62cdf965de15a51a9cf4af8e7a1f683b7 Mon Sep 17 00:00:00 2001 From: JaguarJack Date: Fri, 23 Dec 2022 19:47:13 +0800 Subject: [PATCH] feat: new feature --- bootstrap/cache/services.php | 1 + composer.json | 4 +- composer.lock | 1560 +++++------------ .../Support/Generate/Create/FrontTable.php | 6 +- .../Develop/Support/Generate/Create/Model.php | 6 +- modules/Permissions/Enums/DataRange.php | 11 + .../Exceptions/PermissionForbidden.php | 7 + .../Controllers/DepartmentsController.php | 7 +- .../Http/Controllers/JobsController.php | 4 +- .../Controllers/PermissionsController.php | 39 +- .../Http/Controllers/RolesController.php | 15 +- .../Permissions/Http/Requests/RoleRequest.php | 6 +- .../Middlewares/PermissionGate.php | 17 +- .../{DepartmentsModel.php => Departments.php} | 23 +- .../Models/{JobsModel.php => Jobs.php} | 2 +- modules/Permissions/Models/LogOperate.php | 121 -- .../{PermissionsModel.php => Permissions.php} | 107 +- .../Models/{RolesModel.php => Roles.php} | 18 +- .../Permissions/Models/Traits/DataRange.php | 100 ++ .../Providers/PermissionsServiceProvider.php | 18 +- .../Permissions/views/departments/index.vue | 2 +- .../views/permissions/form/create.vue | 27 +- .../Permissions/views/permissions/index.vue | 30 +- .../Permissions/views/roles/form/create.vue | 35 +- modules/Permissions/views/roles/index.vue | 2 +- .../User/Http/Controllers/UserController.php | 26 +- .../User/Middlewares/OperatingMiddleware.php | 33 + modules/User/Models/LogLogin.php | 9 +- modules/User/Models/LogOperate.php | 90 + modules/User/Models/Traits/UserRelations.php | 20 +- .../User/Providers/UserServiceProvider.php | 9 +- .../2022_12_17_031519_create_log_operate.php | 14 +- modules/User/route.php | 2 + .../User/views/user/components/loginLog.vue | 43 +- .../User/views/user/components/operateLog.vue | 59 +- package.json | 2 +- .../admin/composables/curd/useGetList.ts | 28 +- resources/admin/layout/components/sider.vue | 2 +- 38 files changed, 1019 insertions(+), 1486 deletions(-) rename modules/Permissions/Models/{DepartmentsModel.php => Departments.php} (65%) rename modules/Permissions/Models/{JobsModel.php => Jobs.php} (96%) delete mode 100644 modules/Permissions/Models/LogOperate.php rename modules/Permissions/Models/{PermissionsModel.php => Permissions.php} (52%) rename modules/Permissions/Models/{RolesModel.php => Roles.php} (74%) create mode 100644 modules/Permissions/Models/Traits/DataRange.php create mode 100644 modules/User/Middlewares/OperatingMiddleware.php create mode 100644 modules/User/Models/LogOperate.php rename modules/{Permissions => User}/database/migrations/2022_12_17_031519_create_log_operate.php (68%) diff --git a/bootstrap/cache/services.php b/bootstrap/cache/services.php index 235d401..ff94066 100755 --- a/bootstrap/cache/services.php +++ b/bootstrap/cache/services.php @@ -67,6 +67,7 @@ 'Illuminate\\Contracts\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider', 'Illuminate\\Contracts\\Bus\\QueueingDispatcher' => 'Illuminate\\Bus\\BusServiceProvider', 'Illuminate\\Bus\\BatchRepository' => 'Illuminate\\Bus\\BusServiceProvider', + 'Illuminate\\Bus\\DatabaseBatchRepository' => 'Illuminate\\Bus\\BusServiceProvider', 'cache' => 'Illuminate\\Cache\\CacheServiceProvider', 'cache.store' => 'Illuminate\\Cache\\CacheServiceProvider', 'cache.psr6' => 'Illuminate\\Cache\\CacheServiceProvider', diff --git a/composer.json b/composer.json index 0709042..cfe7c99 100644 --- a/composer.json +++ b/composer.json @@ -13,15 +13,13 @@ "ext-zip": "*", "doctrine/dbal": "^3.4", "guzzlehttp/guzzle": "^7.2", - "laravel/framework": "^9.33", + "laravel/framework": "^9.44", "laravel/tinker": "^2.7", "tymon/jwt-auth": "dev-develop" }, "require-dev": { "fakerphp/faker": "^1.9.1", "mockery/mockery": "^1.4.4", - "nette/php-generator": "^4.0", - "nikic/php-parser": "^4.15", "pestphp/pest": "^1.22" }, "autoload": { diff --git a/composer.lock b/composer.lock index 757d7ed..d0d9e7b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,27 +4,21 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c454b8140a5fcc9a6f5d7fcbcc0afca9", + "content-hash": "78218f77645b7bd5c1a4d76e16fa4b89", "packages": [ { "name": "brick/math", - "version": "0.10.1", + "version": "0.10.2", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "de846578401f4e58f911b3afeb62ced56365ed87" + "reference": "459f2781e1a08d52ee56b0b1444086e038561e3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/de846578401f4e58f911b3afeb62ced56365ed87", - "reference": "de846578401f4e58f911b3afeb62ced56365ed87", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/brick/math/zipball/459f2781e1a08d52ee56b0b1444086e038561e3f", + "reference": "459f2781e1a08d52ee56b0b1444086e038561e3f", + "shasum": "" }, "require": { "ext-json": "*", @@ -58,7 +52,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.10.1" + "source": "https://github.com/brick/math/tree/0.10.2" }, "funding": [ { @@ -66,27 +60,21 @@ "type": "github" } ], - "time": "2022-08-01T22:54:31+00:00" + "time": "2022-08-10T22:54:19+00:00" }, { "name": "dflydev/dot-access-data", - "version": "v3.0.1", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "0992cc19268b259a39e86f296da5f0677841f42c" + "reference": "f41715465d65213d644d3141a6a93081be5d3549" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", - "reference": "0992cc19268b259a39e86f296da5f0677841f42c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "shasum": "" }, "require": { "php": "^7.1 || ^8.0" @@ -96,7 +84,7 @@ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", "scrutinizer/ocular": "1.6.0", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^3.14" + "vimeo/psalm": "^4.0.0" }, "type": "library", "extra": { @@ -145,9 +133,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" }, - "time": "2021-08-13T13:06:58+00:00" + "time": "2022-10-27T11:44:00+00:00" }, { "name": "doctrine/cache", @@ -161,13 +149,7 @@ "type": "zip", "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "~7.1 || ^8.0" @@ -250,44 +232,38 @@ }, { "name": "doctrine/dbal", - "version": "3.4.5", + "version": "3.5.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "a5a58773109c0abb13e658c8ccd92aeec8d07f9e" + "reference": "63e513cebbbaf96a6795e5c5ee34d205831bfc85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/a5a58773109c0abb13e658c8ccd92aeec8d07f9e", - "reference": "a5a58773109c0abb13e658c8ccd92aeec8d07f9e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/doctrine/dbal/zipball/63e513cebbbaf96a6795e5c5ee34d205831bfc85", + "reference": "63e513cebbbaf96a6795e5c5ee34d205831bfc85", + "shasum": "" }, "require": { "composer-runtime-api": "^2", "doctrine/cache": "^1.11|^2.0", "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1.0", + "doctrine/event-manager": "^1|^2", "php": "^7.4 || ^8.0", "psr/cache": "^1|^2|^3", "psr/log": "^1|^2|^3" }, "require-dev": { - "doctrine/coding-standard": "10.0.0", - "jetbrains/phpstorm-stubs": "2022.2", - "phpstan/phpstan": "1.8.3", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "9.5.24", - "psalm/plugin-phpunit": "0.17.0", + "doctrine/coding-standard": "11.0.0", + "jetbrains/phpstorm-stubs": "2022.3", + "phpstan/phpstan": "1.9.2", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "9.5.27", + "psalm/plugin-phpunit": "0.18.4", "squizlabs/php_codesniffer": "3.7.1", "symfony/cache": "^5.4|^6.0", "symfony/console": "^4.4|^5.4|^6.0", - "vimeo/psalm": "4.27.0" + "vimeo/psalm": "4.30.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -347,7 +323,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.4.5" + "source": "https://github.com/doctrine/dbal/tree/3.5.2" }, "funding": [ { @@ -363,7 +339,7 @@ "type": "tidelift" } ], - "time": "2022-09-23T17:48:57+00:00" + "time": "2022-12-19T08:17:34+00:00" }, { "name": "doctrine/deprecations", @@ -377,13 +353,7 @@ "type": "zip", "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.1|^8.0" @@ -416,43 +386,34 @@ }, { "name": "doctrine/event-manager", - "version": "1.1.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "conflict": { - "doctrine/common": "<2.9@dev" + "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" + "Doctrine\\Common\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -496,7 +457,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + "source": "https://github.com/doctrine/event-manager/tree/2.0.0" }, "funding": [ { @@ -512,38 +473,32 @@ "type": "tidelift" } ], - "time": "2020-05-29T18:28:51+00:00" + "time": "2022-10-12T20:59:15+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.4", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "vimeo/psalm": "^4.10" + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25" }, "type": "library", "autoload": { @@ -593,7 +548,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.4" + "source": "https://github.com/doctrine/inflector/tree/2.0.6" }, "funding": [ { @@ -609,7 +564,7 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:16:43+00:00" + "time": "2022-10-20T09:10:12+00:00" }, { "name": "doctrine/lexer", @@ -623,13 +578,7 @@ "type": "zip", "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.1 || ^8.0" @@ -695,23 +644,17 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v3.3.1", + "version": "v3.3.2", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa" + "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/be85b3f05b46c39bbc0d95f6c071ddff669510fa", - "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8", + "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8", + "shasum": "" }, "require": { "php": "^7.2|^8.0", @@ -750,7 +693,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.1" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2" }, "funding": [ { @@ -758,7 +701,7 @@ "type": "github" } ], - "time": "2022-01-18T15:43:28+00:00" + "time": "2022-09-10T18:51:20+00:00" }, { "name": "egulias/email-validator", @@ -772,13 +715,7 @@ "type": "zip", "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f88dcf4b14af14a98ad96b14b2b317969eab6715", "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "doctrine/lexer": "^1.2", @@ -846,13 +783,7 @@ "type": "zip", "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.4|^8.0", @@ -913,30 +844,24 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.0.4", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "0690bde05318336c7221785f2a932467f98b64ca" + "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/0690bde05318336c7221785f2a932467f98b64ca", - "reference": "0690bde05318336c7221785f2a932467f98b64ca", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/a878d45c1914464426dc94da61c9e1d36ae262a8", + "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8", + "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "phpoption/phpoption": "^1.8" + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9" }, "require-dev": { - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" + "phpunit/phpunit": "^8.5.28 || ^9.5.21" }, "type": "library", "autoload": { @@ -965,7 +890,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.4" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.0" }, "funding": [ { @@ -977,7 +902,7 @@ "type": "tidelift" } ], - "time": "2021-11-21T21:41:47+00:00" + "time": "2022-07-30T15:56:11+00:00" }, { "name": "guzzlehttp/guzzle", @@ -991,13 +916,7 @@ "type": "zip", "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba", "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-json": "*", @@ -1125,13 +1044,7 @@ "type": "zip", "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", "reference": "b94b2807d85443f9719887892882d0329d1e2598", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.5" @@ -1215,13 +1128,7 @@ "type": "zip", "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", "reference": "67c26b443f348a51926030c83481b85718457d3d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", @@ -1330,34 +1237,28 @@ }, { "name": "laravel/framework", - "version": "v9.33.0", + "version": "v9.44.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "13665b7e15dbcbecb3651acc19ba8818da6fa0a9" + "reference": "60808a7d9acd53461fd69634c08fc7e0a99fbf98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/13665b7e15dbcbecb3651acc19ba8818da6fa0a9", - "reference": "13665b7e15dbcbecb3651acc19ba8818da6fa0a9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/laravel/framework/zipball/60808a7d9acd53461fd69634c08fc7e0a99fbf98", + "reference": "60808a7d9acd53461fd69634c08fc7e0a99fbf98", + "shasum": "" }, "require": { "doctrine/inflector": "^2.0", - "dragonmantank/cron-expression": "^3.1", - "egulias/email-validator": "^3.1", + "dragonmantank/cron-expression": "^3.3.2", + "egulias/email-validator": "^3.2.1", "ext-mbstring": "*", "ext-openssl": "*", "fruitcake/php-cors": "^1.2", - "laravel/serializable-closure": "^1.0", + "laravel/serializable-closure": "^1.2.2", "league/commonmark": "^2.2", - "league/flysystem": "^3.0.16", + "league/flysystem": "^3.8.0", "monolog/monolog": "^2.0", "nesbot/carbon": "^2.62.1", "nunomaduro/termwind": "^1.13", @@ -1366,7 +1267,7 @@ "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.2.2", - "symfony/console": "^6.0.3", + "symfony/console": "^6.0.9", "symfony/error-handler": "^6.0", "symfony/finder": "^6.0", "symfony/http-foundation": "^6.0", @@ -1377,7 +1278,7 @@ "symfony/routing": "^6.0", "symfony/uid": "^6.0", "symfony/var-dumper": "^6.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.4.1", "voku/portable-ascii": "^2.0" }, @@ -1424,26 +1325,26 @@ }, "require-dev": { "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.198.1", + "aws/aws-sdk-php": "^3.235.5", "doctrine/dbal": "^2.13.3|^3.1.4", "fakerphp/faker": "^1.9.2", - "guzzlehttp/guzzle": "^7.2", + "guzzlehttp/guzzle": "^7.5", "league/flysystem-aws-s3-v3": "^3.0", "league/flysystem-ftp": "^3.0", "league/flysystem-path-prefixing": "^3.3", "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.4.4", - "orchestra/testbench-core": "^7.8", + "mockery/mockery": "^1.5.1", + "orchestra/testbench-core": "^7.11", "pda/pheanstalk": "^4.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^9.5.8", - "predis/predis": "^1.1.9|^2.0", + "predis/predis": "^1.1.9|^2.0.2", "symfony/cache": "^6.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.198.1).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", "ext-bcmath": "Required to use the multiple_of validation rule.", @@ -1455,18 +1356,18 @@ "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.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.2).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", "league/flysystem-read-only": "Required to use read-only disks (^3.3)", "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.4.4).", + "mockery/mockery": "Required to use mocking (^1.5.1).", "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 (^9.5.8).", - "predis/predis": "Required to use the predis connector (^1.1.9|^2.0).", + "predis/predis": "Required to use the predis connector (^1.1.9|^2.0.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 (^6.0|^7.0).", "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", @@ -1518,7 +1419,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-09-30T12:59:55+00:00" + "time": "2022-12-15T14:56:36+00:00" }, { "name": "laravel/serializable-closure", @@ -1532,13 +1433,7 @@ "type": "zip", "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae", "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.3|^8.0" @@ -1588,23 +1483,17 @@ }, { "name": "laravel/tinker", - "version": "v2.7.2", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "dff39b661e827dae6e092412f976658df82dbac5" + "reference": "5062061b4924af3392225dd482ca7b4d85d8b8ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/dff39b661e827dae6e092412f976658df82dbac5", - "reference": "dff39b661e827dae6e092412f976658df82dbac5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef", + "reference": "5062061b4924af3392225dd482ca7b4d85d8b8ef", + "shasum": "" }, "require": { "illuminate/console": "^6.0|^7.0|^8.0|^9.0", @@ -1656,43 +1545,40 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.7.2" + "source": "https://github.com/laravel/tinker/tree/v2.7.3" }, - "time": "2022-03-23T12:38:24+00:00" + "time": "2022-11-09T15:11:38+00:00" }, { "name": "lcobucci/clock", - "version": "2.2.0", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "fb533e093fd61321bfcbac08b131ce805fe183d3" + "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/fb533e093fd61321bfcbac08b131ce805fe183d3", - "reference": "fb533e093fd61321bfcbac08b131ce805fe183d3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/lcobucci/clock/zipball/c7aadcd6fd97ed9e199114269c0be3f335e38876", + "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876", + "shasum": "" }, "require": { - "php": "^8.0", - "stella-maris/clock": "^0.1.4" + "php": "~8.1.0 || ~8.2.0", + "stella-maris/clock": "^0.1.7" + }, + "provide": { + "psr/clock-implementation": "1.0" }, "require-dev": { "infection/infection": "^0.26", - "lcobucci/coding-standard": "^8.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^9.5" + "lcobucci/coding-standard": "^9.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.27" }, "type": "library", "autoload": { @@ -1713,7 +1599,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/2.2.0" + "source": "https://github.com/lcobucci/clock/tree/2.3.0" }, "funding": [ { @@ -1725,53 +1611,45 @@ "type": "patreon" } ], - "time": "2022-04-19T19:34:17+00:00" + "time": "2022-12-19T14:38:11+00:00" }, { "name": "lcobucci/jwt", - "version": "4.0.4", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "55564265fddf810504110bd68ca311932324b0e9" + "reference": "72ac6d807ee51a70ad376ee03a2387e8646e10f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/55564265fddf810504110bd68ca311932324b0e9", - "reference": "55564265fddf810504110bd68ca311932324b0e9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/72ac6d807ee51a70ad376ee03a2387e8646e10f3", + "reference": "72ac6d807ee51a70ad376ee03a2387e8646e10f3", + "shasum": "" }, "require": { + "ext-hash": "*", + "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", + "ext-sodium": "*", "lcobucci/clock": "^2.0", "php": "^7.4 || ^8.0" }, "require-dev": { - "infection/infection": "^0.20", + "infection/infection": "^0.21", "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6", - "phpbench/phpbench": "^0.17", + "mikey179/vfsstream": "^1.6.7", + "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1.0", "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.4" + "phpunit/phpunit": "^9.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, "autoload": { "psr-4": { "Lcobucci\\JWT\\": "src" @@ -1795,7 +1673,7 @@ ], "support": { "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.0.4" + "source": "https://github.com/lcobucci/jwt/tree/4.2.1" }, "funding": [ { @@ -1807,27 +1685,21 @@ "type": "patreon" } ], - "time": "2021-09-28T19:18:28+00:00" + "time": "2022-08-19T23:14:07+00:00" }, { "name": "league/commonmark", - "version": "2.3.7", + "version": "2.3.8", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "a36bd2be4f5387c0f3a8792a0d76b7d68865abbf" + "reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/a36bd2be4f5387c0f3a8792a0d76b7d68865abbf", - "reference": "a36bd2be4f5387c0f3a8792a0d76b7d68865abbf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c493585c130544c4e91d2e0e131e6d35cb0cbc47", + "reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47", + "shasum": "" }, "require": { "ext-mbstring": "*", @@ -1854,7 +1726,7 @@ "symfony/finder": "^5.3 | ^6.0", "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -1919,7 +1791,7 @@ "type": "tidelift" } ], - "time": "2022-11-03T17:29:46+00:00" + "time": "2022-12-10T16:02:17+00:00" }, { "name": "league/config", @@ -1933,13 +1805,7 @@ "type": "zip", "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "dflydev/dot-access-data": "^3.0.1", @@ -2021,13 +1887,7 @@ "type": "zip", "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/7e423e5dd240a60adfab9bde058d7668863b7731", "reference": "7e423e5dd240a60adfab9bde058d7668863b7731", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "league/mime-type-detection": "^1.0.0", @@ -2118,13 +1978,7 @@ "type": "zip", "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-fileinfo": "*", @@ -2180,13 +2034,7 @@ "type": "zip", "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50", "reference": "720488632c590286b88b80e62aa3d3d551ad4a50", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2", @@ -2288,13 +2136,7 @@ "type": "zip", "url": "https://api.github.com/repos/namshi/jose/zipball/89a24d7eb3040e285dd5925fcad992378b82bcff", "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-date": "*", @@ -2361,13 +2203,7 @@ "type": "zip", "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/889546413c97de2d05063b8cb7b193c2531ea211", "reference": "889546413c97de2d05063b8cb7b193c2531ea211", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-json": "*", @@ -2469,13 +2305,7 @@ "type": "zip", "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", @@ -2531,19 +2361,13 @@ "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "a6784d523c0e67409b5c64c3d951e9871ef64241" + "reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/a6784d523c0e67409b5c64c3d951e9871ef64241", - "reference": "a6784d523c0e67409b5c64c3d951e9871ef64241", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/nette/utils/zipball/02a54c4c872b99e4ec05c4aec54b5a06eb0f6368", + "reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368", + "shasum": "" }, "require": { "php": ">=7.2 <8.3" @@ -2614,27 +2438,21 @@ "issues": "https://github.com/nette/utils/issues", "source": "https://github.com/nette/utils/tree/v3.2.8" }, - "time": "2022-09-06T00:55:00+00:00" + "time": "2022-09-12T23:36:20+00:00" }, { "name": "nikic/php-parser", - "version": "v4.15.1", + "version": "v4.15.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", + "shasum": "" }, "require": { "ext-tokenizer": "*", @@ -2674,9 +2492,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" }, - "time": "2022-09-04T07:30:47+00:00" + "time": "2022-11-12T15:38:23+00:00" }, { "name": "nunomaduro/termwind", @@ -2690,13 +2508,7 @@ "type": "zip", "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/9a8218511eb1a0965629ff820dda25985440aefc", "reference": "9a8218511eb1a0965629ff820dda25985440aefc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-mbstring": "*", @@ -2772,35 +2584,33 @@ }, { "name": "phpoption/phpoption", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15" + "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", + "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", + "shasum": "" }, "require": { - "php": "^7.0 || ^8.0" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" + "bamarni/composer-bin-plugin": "^1.8", + "phpunit/phpunit": "^8.5.28 || ^9.5.21" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -2833,7 +2643,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.8.1" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.0" }, "funding": [ { @@ -2845,7 +2655,7 @@ "type": "tidelift" } ], - "time": "2021-12-04T23:24:31+00:00" + "time": "2022-07-30T15:51:26+00:00" }, { "name": "psr/cache", @@ -2859,13 +2669,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -2914,13 +2718,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.0 || ^8.0" @@ -2968,13 +2766,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.4.0" @@ -3027,13 +2819,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2.0" @@ -3083,13 +2869,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.0 || ^8.0", @@ -3141,13 +2921,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.0.0", @@ -3202,13 +2976,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.3.0" @@ -3261,13 +3029,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -3317,13 +3079,7 @@ "type": "zip", "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -3374,13 +3130,7 @@ "type": "zip", "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778", "reference": "1acec99d6684a54ff92f8b548a4e41b566963778", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-json": "*", @@ -3456,13 +3206,7 @@ "type": "zip", "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.6" @@ -3506,13 +3250,7 @@ "type": "zip", "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.3 || ^8", @@ -3581,29 +3319,23 @@ }, { "name": "ramsey/uuid", - "version": "4.6.0", + "version": "4.7.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "ad63bc700e7d021039e30ce464eba384c4a1d40f" + "reference": "5ed9ad582647bbc3864ef78db34bdc1afdcf9b49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/ad63bc700e7d021039e30ce464eba384c4a1d40f", - "reference": "ad63bc700e7d021039e30ce464eba384c4a1d40f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5ed9ad582647bbc3864ef78db34bdc1afdcf9b49", + "reference": "5ed9ad582647bbc3864ef78db34bdc1afdcf9b49", + "shasum": "" }, "require": { "brick/math": "^0.8.8 || ^0.9 || ^0.10", "ext-json": "*", "php": "^8.0", - "ramsey/collection": "^1.0" + "ramsey/collection": "^1.2" }, "replace": { "rhumsaa/uuid": "self.version" @@ -3663,7 +3395,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.6.0" + "source": "https://github.com/ramsey/uuid/tree/4.7.0" }, "funding": [ { @@ -3675,7 +3407,7 @@ "type": "tidelift" } ], - "time": "2022-11-05T23:03:38+00:00" + "time": "2022-12-19T22:30:49+00:00" }, { "name": "stella-maris/clock", @@ -3689,13 +3421,7 @@ "type": "zip", "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8", "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.0|^8.0", @@ -3732,23 +3458,17 @@ }, { "name": "symfony/console", - "version": "v6.2.0", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "75d4749d9620a8fa21a2d2847800a84b5c4e7682" + "reference": "5a9bd5c543f00157c55face973c149957467db31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/75d4749d9620a8fa21a2d2847800a84b5c4e7682", - "reference": "75d4749d9620a8fa21a2d2847800a84b5c4e7682", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/console/zipball/5a9bd5c543f00157c55face973c149957467db31", + "reference": "5a9bd5c543f00157c55face973c149957467db31", + "shasum": "" }, "require": { "php": ">=8.1", @@ -3814,7 +3534,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.2.0" + "source": "https://github.com/symfony/console/tree/v6.2.2" }, "funding": [ { @@ -3830,7 +3550,7 @@ "type": "tidelift" } ], - "time": "2022-11-29T16:44:51+00:00" + "time": "2022-12-16T15:08:36+00:00" }, { "name": "symfony/css-selector", @@ -3844,13 +3564,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/css-selector/zipball/91c342ffc99283c43653ed8eb47bc2a94db7f398", "reference": "91c342ffc99283c43653ed8eb47bc2a94db7f398", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" @@ -3915,13 +3629,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" @@ -3978,23 +3686,17 @@ }, { "name": "symfony/error-handler", - "version": "v6.2.0", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "d9894724a9d20afd3329e36b36e45835b5c2ab3e" + "reference": "12a25d01cc5273b2445e125d62b61d34db42297e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/d9894724a9d20afd3329e36b36e45835b5c2ab3e", - "reference": "d9894724a9d20afd3329e36b36e45835b5c2ab3e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/error-handler/zipball/12a25d01cc5273b2445e125d62b61d34db42297e", + "reference": "12a25d01cc5273b2445e125d62b61d34db42297e", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4035,7 +3737,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.2.0" + "source": "https://github.com/symfony/error-handler/tree/v6.2.2" }, "funding": [ { @@ -4051,27 +3753,21 @@ "type": "tidelift" } ], - "time": "2022-11-02T09:08:04+00:00" + "time": "2022-12-14T16:11:27+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.2.0", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9efb1618fabee89515fe031314e8ed5625f85a53" + "reference": "3ffeb31139b49bf6ef0bc09d1db95eac053388d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9efb1618fabee89515fe031314e8ed5625f85a53", - "reference": "9efb1618fabee89515fe031314e8ed5625f85a53", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3ffeb31139b49bf6ef0bc09d1db95eac053388d1", + "reference": "3ffeb31139b49bf6ef0bc09d1db95eac053388d1", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4124,7 +3820,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.2" }, "funding": [ { @@ -4140,27 +3836,21 @@ "type": "tidelift" } ], - "time": "2022-11-02T09:08:04+00:00" + "time": "2022-12-14T16:11:27+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.1.1", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448" + "reference": "0782b0b52a737a05b4383d0df35a474303cabdae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/02ff5eea2f453731cfbc6bc215e456b781480448", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0782b0b52a737a05b4383d0df35a474303cabdae", + "reference": "0782b0b52a737a05b4383d0df35a474303cabdae", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4172,7 +3862,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -4209,7 +3899,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.0" }, "funding": [ { @@ -4225,27 +3915,21 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/finder", - "version": "v6.1.3", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709" + "reference": "eb2355f69519e4ef33f1835bca4c935f5d42e570" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/39696bff2c2970b3779a5cac7bf9f0b88fc2b709", - "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/finder/zipball/eb2355f69519e4ef33f1835bca4c935f5d42e570", + "reference": "eb2355f69519e4ef33f1835bca4c935f5d42e570", + "shasum": "" }, "require": { "php": ">=8.1" @@ -4279,7 +3963,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.1.3" + "source": "https://github.com/symfony/finder/tree/v6.2.0" }, "funding": [ { @@ -4295,27 +3979,21 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:42:06+00:00" + "time": "2022-10-09T08:55:40+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.2.1", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d0bbd5a7e81b38f32504399b9199f265505b7bac" + "reference": "ddf4dd35de1623e7c02013523e6c2137b67b636f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d0bbd5a7e81b38f32504399b9199f265505b7bac", - "reference": "d0bbd5a7e81b38f32504399b9199f265505b7bac", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ddf4dd35de1623e7c02013523e6c2137b67b636f", + "reference": "ddf4dd35de1623e7c02013523e6c2137b67b636f", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4363,7 +4041,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.2.1" + "source": "https://github.com/symfony/http-foundation/tree/v6.2.2" }, "funding": [ { @@ -4379,27 +4057,21 @@ "type": "tidelift" } ], - "time": "2022-12-04T18:26:13+00:00" + "time": "2022-12-14T16:11:27+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.2.1", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "bcbd2ea12fee651a4c8bff4f6f00cce2ac1f8404" + "reference": "860a0189969b755cd571709bd32313aa8599867a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/bcbd2ea12fee651a4c8bff4f6f00cce2ac1f8404", - "reference": "bcbd2ea12fee651a4c8bff4f6f00cce2ac1f8404", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/860a0189969b755cd571709bd32313aa8599867a", + "reference": "860a0189969b755cd571709bd32313aa8599867a", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4480,7 +4152,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.2.1" + "source": "https://github.com/symfony/http-kernel/tree/v6.2.2" }, "funding": [ { @@ -4496,27 +4168,21 @@ "type": "tidelift" } ], - "time": "2022-12-06T17:28:26+00:00" + "time": "2022-12-16T19:38:34+00:00" }, { "name": "symfony/mailer", - "version": "v6.2.1", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "a18c3dd41cfcf011e3866802e39b9ae9e541deaf" + "reference": "b355ad81f1d2987c47dcd3b04d5dce669e1e62e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/a18c3dd41cfcf011e3866802e39b9ae9e541deaf", - "reference": "a18c3dd41cfcf011e3866802e39b9ae9e541deaf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/mailer/zipball/b355ad81f1d2987c47dcd3b04d5dce669e1e62e6", + "reference": "b355ad81f1d2987c47dcd3b04d5dce669e1e62e6", + "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3", @@ -4565,7 +4231,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.2.1" + "source": "https://github.com/symfony/mailer/tree/v6.2.2" }, "funding": [ { @@ -4581,27 +4247,21 @@ "type": "tidelift" } ], - "time": "2022-12-06T16:54:23+00:00" + "time": "2022-12-14T16:11:27+00:00" }, { "name": "symfony/mime", - "version": "v6.2.0", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "1e8005a7cbd79fb824ad81308ef2a76592a08bc0" + "reference": "8c98bf40406e791043890a163f6f6599b9cfa1ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/1e8005a7cbd79fb824ad81308ef2a76592a08bc0", - "reference": "1e8005a7cbd79fb824ad81308ef2a76592a08bc0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/mime/zipball/8c98bf40406e791043890a163f6f6599b9cfa1ed", + "reference": "8c98bf40406e791043890a163f6f6599b9cfa1ed", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4654,7 +4314,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.2.0" + "source": "https://github.com/symfony/mime/tree/v6.2.2" }, "funding": [ { @@ -4670,7 +4330,7 @@ "type": "tidelift" } ], - "time": "2022-11-28T12:28:19+00:00" + "time": "2022-12-14T16:38:10+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4684,13 +4344,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -4772,13 +4426,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", "reference": "511a08c03c1960e08a883f4cffcacd219b758354", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -4859,13 +4507,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", "reference": "639084e360537a19f9ee352433b84ce831f3d2da", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1", @@ -4952,13 +4594,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5042,13 +4678,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5131,13 +4761,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5205,13 +4829,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5287,13 +4905,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5376,13 +4988,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5461,13 +5067,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/f3cf1a645c2734236ed1e2e671e273eeb3586166", "reference": "f3cf1a645c2734236ed1e2e671e273eeb3586166", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -5539,23 +5139,17 @@ }, { "name": "symfony/process", - "version": "v6.1.3", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292" + "reference": "ba6e55359f8f755fe996c58a81e00eaa67a35877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a6506e99cfad7059b1ab5cab395854a0a0c21292", - "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/process/zipball/ba6e55359f8f755fe996c58a81e00eaa67a35877", + "reference": "ba6e55359f8f755fe996c58a81e00eaa67a35877", + "shasum": "" }, "require": { "php": ">=8.1" @@ -5586,7 +5180,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.1.3" + "source": "https://github.com/symfony/process/tree/v6.2.0" }, "funding": [ { @@ -5602,7 +5196,7 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2022-11-02T09:08:04+00:00" }, { "name": "symfony/routing", @@ -5616,13 +5210,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/routing/zipball/857ac6f4df371470fbdefa2f5967a2618dbf1852", "reference": "857ac6f4df371470fbdefa2f5967a2618dbf1852", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" @@ -5700,23 +5288,17 @@ }, { "name": "symfony/service-contracts", - "version": "v3.1.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d66cd8ab656780f62c4215b903a420eb86358957" + "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d66cd8ab656780f62c4215b903a420eb86358957", - "reference": "d66cd8ab656780f62c4215b903a420eb86358957", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/aac98028c69df04ee77eb69b96b86ee51fbf4b75", + "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75", + "shasum": "" }, "require": { "php": ">=8.1", @@ -5731,7 +5313,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -5771,7 +5353,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.2.0" }, "funding": [ { @@ -5787,27 +5369,21 @@ "type": "tidelift" } ], - "time": "2022-05-07T08:07:09+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/string", - "version": "v6.1.7", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "823f143370880efcbdfa2dbca946b3358c4707e5" + "reference": "863219fd713fa41cbcd285a79723f94672faff4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/823f143370880efcbdfa2dbca946b3358c4707e5", - "reference": "823f143370880efcbdfa2dbca946b3358c4707e5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/string/zipball/863219fd713fa41cbcd285a79723f94672faff4d", + "reference": "863219fd713fa41cbcd285a79723f94672faff4d", + "shasum": "" }, "require": { "php": ">=8.1", @@ -5822,6 +5398,7 @@ "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.0|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, @@ -5862,7 +5439,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.1.7" + "source": "https://github.com/symfony/string/tree/v6.2.2" }, "funding": [ { @@ -5878,27 +5455,21 @@ "type": "tidelift" } ], - "time": "2022-10-10T09:34:31+00:00" + "time": "2022-12-14T16:11:27+00:00" }, { "name": "symfony/translation", - "version": "v6.2.0", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "c08de62caead8357244efcb809d0b1a2584f2198" + "reference": "3294288c335b6267eab14964bf2c46015663d93f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/c08de62caead8357244efcb809d0b1a2584f2198", - "reference": "c08de62caead8357244efcb809d0b1a2584f2198", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/translation/zipball/3294288c335b6267eab14964bf2c46015663d93f", + "reference": "3294288c335b6267eab14964bf2c46015663d93f", + "shasum": "" }, "require": { "php": ">=8.1", @@ -5966,7 +5537,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.2.0" + "source": "https://github.com/symfony/translation/tree/v6.2.2" }, "funding": [ { @@ -5982,7 +5553,7 @@ "type": "tidelift" } ], - "time": "2022-11-02T09:08:04+00:00" + "time": "2022-12-13T18:04:17+00:00" }, { "name": "symfony/translation-contracts", @@ -5996,13 +5567,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/68cce71402305a015f8c1589bfada1280dc64fe7", "reference": "68cce71402305a015f8c1589bfada1280dc64fe7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1" @@ -6083,13 +5648,7 @@ "type": "zip", "url": "https://api.github.com/repos/symfony/uid/zipball/4f9f537e57261519808a7ce1d941490736522bbc", "reference": "4f9f537e57261519808a7ce1d941490736522bbc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.1", @@ -6153,23 +5712,17 @@ }, { "name": "symfony/var-dumper", - "version": "v6.2.1", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "1e7544c8698627b908657e5276854d52ab70087a" + "reference": "6168f544827e897f708a684f75072a8c33a5e309" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1e7544c8698627b908657e5276854d52ab70087a", - "reference": "1e7544c8698627b908657e5276854d52ab70087a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6168f544827e897f708a684f75072a8c33a5e309", + "reference": "6168f544827e897f708a684f75072a8c33a5e309", + "shasum": "" }, "require": { "php": ">=8.1", @@ -6227,7 +5780,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.2.1" + "source": "https://github.com/symfony/var-dumper/tree/v6.2.2" }, "funding": [ { @@ -6243,7 +5796,7 @@ "type": "tidelift" } ], - "time": "2022-12-03T22:32:58+00:00" + "time": "2022-12-14T16:11:27+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -6257,13 +5810,7 @@ "type": "zip", "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19", "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-dom": "*", @@ -6316,13 +5863,7 @@ "type": "zip", "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/014be8d493d228d14bbc291b24e835d330c092a0", "reference": "014be8d493d228d14bbc291b24e835d330c092a0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "illuminate/auth": "^5.2|^6|^7|^8|^9", @@ -6398,23 +5939,17 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.4.1", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f" + "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7", + "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7", + "shasum": "" }, "require": { "ext-pcre": "*", @@ -6428,15 +5963,19 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" + "phpunit/phpunit": "^7.5.20 || ^8.5.30 || ^9.5.25" }, "suggest": { "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "5.4-dev" + "dev-master": "5.5-dev" } }, "autoload": { @@ -6468,7 +6007,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.5.0" }, "funding": [ { @@ -6480,7 +6019,7 @@ "type": "tidelift" } ], - "time": "2021-12-12T23:22:04+00:00" + "time": "2022-10-16T01:01:54+00:00" }, { "name": "voku/portable-ascii", @@ -6494,13 +6033,7 @@ "type": "zip", "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", "reference": "b56450eed252f6801410d810c8e1727224ae0743", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.0.0" @@ -6574,13 +6107,7 @@ "type": "zip", "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-ctype": "*", @@ -6640,13 +6167,7 @@ "type": "zip", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.1 || ^8.0" @@ -6716,13 +6237,7 @@ "type": "zip", "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d", "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.4 || ^8.0", @@ -6780,23 +6295,17 @@ }, { "name": "filp/whoops", - "version": "2.14.5", + "version": "2.14.6", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" + "reference": "f7948baaa0330277c729714910336383286305da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/filp/whoops/zipball/f7948baaa0330277c729714910336383286305da", + "reference": "f7948baaa0330277c729714910336383286305da", + "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0 || ^8.0", @@ -6845,7 +6354,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.5" + "source": "https://github.com/filp/whoops/tree/2.14.6" }, "funding": [ { @@ -6853,7 +6362,7 @@ "type": "github" } ], - "time": "2022-01-07T12:00:00+00:00" + "time": "2022-11-02T16:23:29+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -6867,13 +6376,7 @@ "type": "zip", "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^5.3|^7.0|^8.0" @@ -6924,13 +6427,7 @@ "type": "zip", "url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e", "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "hamcrest/hamcrest-php": "^2.0.1", @@ -7002,13 +6499,7 @@ "type": "zip", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.1 || ^8.0" @@ -7055,80 +6546,6 @@ ], "time": "2022-03-03T13:19:32+00:00" }, - { - "name": "nette/php-generator", - "version": "v4.0.5", - "source": { - "type": "git", - "url": "https://github.com/nette/php-generator.git", - "reference": "a8d6abeae5d8c7202cd69600e086a7a72877fc86" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/a8d6abeae5d8c7202cd69600e086a7a72877fc86", - "reference": "a8d6abeae5d8c7202cd69600e086a7a72877fc86", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "nette/utils": "^3.2.7 || ^4.0", - "php": ">=8.0 <8.3" - }, - "require-dev": { - "nette/tester": "^2.4", - "nikic/php-parser": "^4.15", - "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.8" - }, - "suggest": { - "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.2 features.", - "homepage": "https://nette.org", - "keywords": [ - "code", - "nette", - "php", - "scaffolding" - ], - "support": { - "issues": "https://github.com/nette/php-generator/issues", - "source": "https://github.com/nette/php-generator/tree/v4.0.5" - }, - "time": "2022-11-02T20:37:46+00:00" - }, { "name": "nunomaduro/collision", "version": "v6.3.1", @@ -7141,13 +6558,7 @@ "type": "zip", "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0f6349c3ed5dd28467087b08fb59384bb458a22b", "reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "filp/whoops": "^2.14.5", @@ -7235,13 +6646,7 @@ "type": "zip", "url": "https://api.github.com/repos/pestphp/pest/zipball/b58a020423e9ad16c8bb8781927d516adae00da4", "reference": "b58a020423e9ad16c8bb8781927d516adae00da4", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "nunomaduro/collision": "^5.11.0|^6.3.0", @@ -7340,26 +6745,20 @@ }, { "name": "pestphp/pest-plugin", - "version": "dev-master", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin.git", - "reference": "94f6d46a18ff0b735fe2973cb343dd682bfc33b7" + "reference": "606c5f79c6a339b49838ffbee0151ca519efe378" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/94f6d46a18ff0b735fe2973cb343dd682bfc33b7", - "reference": "94f6d46a18ff0b735fe2973cb343dd682bfc33b7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/606c5f79c6a339b49838ffbee0151ca519efe378", + "reference": "606c5f79c6a339b49838ffbee0151ca519efe378", + "shasum": "" }, "require": { - "composer-plugin-api": "^1.1 || ^2.0", + "composer-plugin-api": "^1.1.0 || ^2.0.0", "php": "^7.3 || ^8.0" }, "conflict": { @@ -7370,7 +6769,6 @@ "pestphp/pest": "^1.22.1", "pestphp/pest-dev-tools": "^1.0.0" }, - "default-branch": true, "type": "composer-plugin", "extra": { "branch-alias": { @@ -7399,7 +6797,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin/tree/master" + "source": "https://github.com/pestphp/pest-plugin/tree/v1.1.0" }, "funding": [ { @@ -7415,7 +6813,7 @@ "type": "patreon" } ], - "time": "2022-09-18T13:16:37+00:00" + "time": "2022-09-18T13:18:17+00:00" }, { "name": "phar-io/manifest", @@ -7429,13 +6827,7 @@ "type": "zip", "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", "reference": "97803eca37d319dfa7826cc2437fc020857acb53", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-dom": "*", @@ -7495,13 +6887,7 @@ "type": "zip", "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" @@ -7542,23 +6928,17 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.20", + "version": "9.2.22", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "af7463c955007de36db0c5e26d03e2f933c2e980" + "reference": "e4bf60d2220b4baaa0572986b5d69870226b06df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/af7463c955007de36db0c5e26d03e2f933c2e980", - "reference": "af7463c955007de36db0c5e26d03e2f933c2e980", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e4bf60d2220b4baaa0572986b5d69870226b06df", + "reference": "e4bf60d2220b4baaa0572986b5d69870226b06df", + "shasum": "" }, "require": { "ext-dom": "*", @@ -7613,7 +6993,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.20" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.22" }, "funding": [ { @@ -7621,7 +7001,7 @@ "type": "github" } ], - "time": "2022-12-13T07:49:28+00:00" + "time": "2022-12-18T16:40:55+00:00" }, { "name": "phpunit/php-file-iterator", @@ -7635,13 +7015,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -7701,13 +7075,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -7770,13 +7138,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -7835,13 +7197,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -7890,23 +7246,17 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.26", + "version": "9.5.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a2bc7ffdca99f92d959b3f2270529334030bba38", + "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38", + "shasum": "" }, "require": { "doctrine/instantiator": "^1.3.1", @@ -7978,7 +7328,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.27" }, "funding": [ { @@ -7994,7 +7344,7 @@ "type": "tidelift" } ], - "time": "2022-10-28T06:00:21+00:00" + "time": "2022-12-09T07:31:23+00:00" }, { "name": "sebastian/cli-parser", @@ -8008,13 +7358,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8070,13 +7414,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8132,13 +7470,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8193,13 +7525,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -8273,13 +7599,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "nikic/php-parser": "^4.7", @@ -8336,13 +7656,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8408,13 +7722,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8477,13 +7785,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -8560,13 +7862,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -8630,13 +7926,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "nikic/php-parser": "^4.6", @@ -8693,13 +7983,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -8756,13 +8040,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8817,13 +8095,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8886,13 +8158,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -8947,13 +8213,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -9009,13 +8269,7 @@ "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -9068,13 +8322,7 @@ "type": "zip", "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-dom": "*", diff --git a/modules/Develop/Support/Generate/Create/FrontTable.php b/modules/Develop/Support/Generate/Create/FrontTable.php index c75025f..0810f75 100644 --- a/modules/Develop/Support/Generate/Create/FrontTable.php +++ b/modules/Develop/Support/Generate/Create/FrontTable.php @@ -232,7 +232,11 @@ HTML; */ protected function getUseList(): string { - return 'const { data, query, search, reset, loading } = useGetList(api)'; + if ($this->hasPaginate) { + return 'const { data, query, search, reset, loading } = useGetList(api)'; + } else { + return 'const { data, query, search, reset, loading } = useGetList(api, false)'; + } } /** diff --git a/modules/Develop/Support/Generate/Create/Model.php b/modules/Develop/Support/Generate/Create/Model.php index 2a45eda..2164782 100644 --- a/modules/Develop/Support/Generate/Create/Model.php +++ b/modules/Develop/Support/Generate/Create/Model.php @@ -114,11 +114,7 @@ class Model extends Creator $modelName = Str::of($this->tableName)->camel(); } - return $modelName->ucfirst()->whenContains('Model', function ($value) { - return Str::of($value); - }, function ($value) { - return Str::of($value)->append('Model'); - })->toString(); + return $modelName->ucfirst()->toString(); } /** diff --git a/modules/Permissions/Enums/DataRange.php b/modules/Permissions/Enums/DataRange.php index 09eaa27..e7f3d17 100644 --- a/modules/Permissions/Enums/DataRange.php +++ b/modules/Permissions/Enums/DataRange.php @@ -36,4 +36,15 @@ enum DataRange: int implements Enum self::Department_DOWN_Data => '部门及以下数据', }; } + + /** + * assert value + * + * @param int $value + * @return bool + */ + public function assert(int $value): bool + { + return $this->value === $value; + } } diff --git a/modules/Permissions/Exceptions/PermissionForbidden.php b/modules/Permissions/Exceptions/PermissionForbidden.php index 91c8823..754bb36 100644 --- a/modules/Permissions/Exceptions/PermissionForbidden.php +++ b/modules/Permissions/Exceptions/PermissionForbidden.php @@ -4,10 +4,17 @@ namespace Modules\Permissions\Exceptions; use Catch\Enums\Code; use Catch\Exceptions\CatchException; +use Symfony\Component\HttpFoundation\Response; class PermissionForbidden extends CatchException { protected $message = 'permission forbidden'; protected $code = Code::PERMISSION_FORBIDDEN; + + + public function statusCode(): int + { + return Response::HTTP_FORBIDDEN; + } } diff --git a/modules/Permissions/Http/Controllers/DepartmentsController.php b/modules/Permissions/Http/Controllers/DepartmentsController.php index fbb4a89..dbda129 100644 --- a/modules/Permissions/Http/Controllers/DepartmentsController.php +++ b/modules/Permissions/Http/Controllers/DepartmentsController.php @@ -5,21 +5,20 @@ declare(strict_types=1); namespace Modules\Permissions\Http\Controllers; use Catch\Base\CatchController as Controller; -use Modules\Permissions\Models\DepartmentsModel; +use Modules\Permissions\Models\Departments; use Illuminate\Http\Request; class DepartmentsController extends Controller { public function __construct( - protected readonly DepartmentsModel $model + protected readonly Departments $model ) { } /** - * @param Request $request * @return mixed */ - public function index(Request $request): mixed + public function index(): mixed { return $this->model->getList(); } diff --git a/modules/Permissions/Http/Controllers/JobsController.php b/modules/Permissions/Http/Controllers/JobsController.php index 2c44c8c..3b955d8 100644 --- a/modules/Permissions/Http/Controllers/JobsController.php +++ b/modules/Permissions/Http/Controllers/JobsController.php @@ -5,13 +5,13 @@ declare(strict_types=1); namespace Modules\Permissions\Http\Controllers; use Catch\Base\CatchController as Controller; -use Modules\Permissions\Models\JobsModel; +use Modules\Permissions\Models\Jobs; use Illuminate\Http\Request; class JobsController extends Controller { public function __construct( - protected readonly JobsModel $model + protected readonly Jobs $model ) { } diff --git a/modules/Permissions/Http/Controllers/PermissionsController.php b/modules/Permissions/Http/Controllers/PermissionsController.php index 5d2ea14..8ae5bbd 100644 --- a/modules/Permissions/Http/Controllers/PermissionsController.php +++ b/modules/Permissions/Http/Controllers/PermissionsController.php @@ -5,14 +5,20 @@ declare(strict_types=1); namespace Modules\Permissions\Http\Controllers; use Catch\Base\CatchController as Controller; +use Catch\Exceptions\FailedException; +use Illuminate\Support\Facades\Route; use Modules\Permissions\Enums\MenuType; -use Modules\Permissions\Models\PermissionsModel; +use Modules\Permissions\Models\Permissions; use Illuminate\Http\Request; + class PermissionsController extends Controller { + /** + * @param Permissions $model + */ public function __construct( - protected readonly PermissionsModel $model + protected readonly Permissions $model ) { } @@ -21,28 +27,53 @@ class PermissionsController extends Controller */ public function index(): mixed { - return $this->model->setBeforeGetList(function ($query){ - return $query->with('actions')->whereIn('type', [MenuType::Top->value(), MenuType::Menu->value]); + return $this->model->setBeforeGetList(function ($query) { + return $query->with('actions')->whereIn('type', [MenuType::Top->value(), MenuType::Menu->value()]); })->getList(); } + /** + * + * @param Request $request + * @return bool + */ public function store(Request $request) { return $this->model->storeBy($request->all()); } + /** + * + * @param $id + * @return \Illuminate\Database\Eloquent\Model|null + */ public function show($id) { return $this->model->firstBy($id); } + /** + * + * @param $id + * @param Request $request + * @return mixed + */ public function update($id, Request $request) { return $this->model->updateBy($id, $request->all()); } + /** + * + * @param $id + * @return bool|null + */ public function destroy($id) { + if ($this->model->where($this->model->getParentIdColumn(), $id)->first()) { + throw new FailedException('无法进行删除,请先删除子级'); + } + return $this->model->deleteBy($id); } diff --git a/modules/Permissions/Http/Controllers/RolesController.php b/modules/Permissions/Http/Controllers/RolesController.php index 6a7b525..e99149b 100644 --- a/modules/Permissions/Http/Controllers/RolesController.php +++ b/modules/Permissions/Http/Controllers/RolesController.php @@ -5,13 +5,14 @@ declare(strict_types=1); namespace Modules\Permissions\Http\Controllers; use Catch\Base\CatchController as Controller; -use Modules\Permissions\Models\RolesModel; +use Catch\Exceptions\FailedException; +use Modules\Permissions\Models\Roles; use Modules\Permissions\Http\Requests\RoleRequest; class RolesController extends Controller { public function __construct( - protected readonly RolesModel $model + protected readonly Roles $model ) { } @@ -20,8 +21,10 @@ class RolesController extends Controller */ public function index(): mixed { - return $this->model->setBeforeGetList(function ($query){ - return $query->with(['permissions' => function($query){ $query->select('id');}]); + return $this->model->setBeforeGetList(function ($query) { + return $query->with(['permissions' => function ($query) { + $query->select('id'); + }])->dataRange(); })->getList(); } @@ -46,6 +49,10 @@ class RolesController extends Controller public function destroy($id) { + if ($this->model->where($this->model->getParentIdColumn(), $id)->first()) { + throw new FailedException('请先删除子级'); + } + return $this->model->deleteBy($id); } } diff --git a/modules/Permissions/Http/Requests/RoleRequest.php b/modules/Permissions/Http/Requests/RoleRequest.php index b7aff46..eb513a2 100644 --- a/modules/Permissions/Http/Requests/RoleRequest.php +++ b/modules/Permissions/Http/Requests/RoleRequest.php @@ -3,7 +3,7 @@ namespace Modules\Permissions\Http\Requests; use Illuminate\Foundation\Http\FormRequest; -use Modules\Permissions\Models\RolesModel; +use Modules\Permissions\Models\Roles; class RoleRequest extends FormRequest { @@ -15,9 +15,9 @@ class RoleRequest extends FormRequest public function rules(): array { return [ - 'role_name' => sprintf('required|unique:%s,%s,%s', RolesModel::class, 'role_name', $this->get('id')), + 'role_name' => sprintf('required|unique:%s,%s,%s', Roles::class, 'role_name', $this->get('id')), - 'identify' => sprintf('required|alpha|unique:%s,%s,%s', RolesModel::class, 'role_name', $this->get('id')), + 'identify' => sprintf('required|alpha|unique:%s,%s,%s', Roles::class, 'role_name', $this->get('id')), ]; } diff --git a/modules/Permissions/Middlewares/PermissionGate.php b/modules/Permissions/Middlewares/PermissionGate.php index 9915633..89b8033 100644 --- a/modules/Permissions/Middlewares/PermissionGate.php +++ b/modules/Permissions/Middlewares/PermissionGate.php @@ -4,16 +4,14 @@ namespace Modules\Permissions\Middlewares; use Illuminate\Http\Request; use Modules\Permissions\Exceptions\PermissionForbidden; -use Modules\Permissions\Models\LogOperate; use Modules\User\Models\User; -use Symfony\Component\HttpFoundation\Response; class PermissionGate { public function handle(Request $request, \Closure $next) { if ($request->isMethod('get')) { - // return $next($request); + return $next($request); } /* @var User $user */ @@ -25,17 +23,4 @@ class PermissionGate return $next($request); } - - - /** - * terminate - * - * @param Request $request - * @param Response $response - * @return void - */ - public function terminate(Request $request, Response $response): void - { - app(LogOperate::class)->log($request, $response); - } } diff --git a/modules/Permissions/Models/DepartmentsModel.php b/modules/Permissions/Models/Departments.php similarity index 65% rename from modules/Permissions/Models/DepartmentsModel.php rename to modules/Permissions/Models/Departments.php index 63caece..9849a1c 100644 --- a/modules/Permissions/Models/DepartmentsModel.php +++ b/modules/Permissions/Models/Departments.php @@ -20,7 +20,7 @@ use Catch\Base\CatchModel as Model; * @property $updated_at * @property $deleted_at */ -class DepartmentsModel extends Model +class Departments extends Model { protected $table = 'departments'; @@ -47,4 +47,25 @@ class DepartmentsModel extends Model ]; protected bool $asTree = true; + + + /** + * + * @param int|array $id + * @return array + */ + public function findFollowDepartments(int|array $id): array + { + if (!is_array($id)) { + $id = [$id]; + } + + $followDepartmentIds = $this->whereIn($this->getParentIdColumn(), $id)->pluck('id')->toArray(); + + if (! empty($followDepartmentIds)) { + $followDepartmentIds = array_merge($followDepartmentIds, $this->findFollowDepartments($followDepartmentIds)); + } + + return $followDepartmentIds; + } } diff --git a/modules/Permissions/Models/JobsModel.php b/modules/Permissions/Models/Jobs.php similarity index 96% rename from modules/Permissions/Models/JobsModel.php rename to modules/Permissions/Models/Jobs.php index eaa7c41..76dbe76 100644 --- a/modules/Permissions/Models/JobsModel.php +++ b/modules/Permissions/Models/Jobs.php @@ -18,7 +18,7 @@ use Catch\Base\CatchModel as Model; * @property $updated_at * @property $deleted_at */ -class JobsModel extends Model +class Jobs extends Model { protected $table = 'jobs'; diff --git a/modules/Permissions/Models/LogOperate.php b/modules/Permissions/Models/LogOperate.php deleted file mode 100644 index c91d29d..0000000 --- a/modules/Permissions/Models/LogOperate.php +++ /dev/null @@ -1,121 +0,0 @@ -isOk() && $response->exception instanceof PermissionForbidden) { - return; - } - - $user = Auth::guard(getGuardName())->user(); - - $userModel = getAuthUserModel(); - - if (! $user instanceof $userModel) { - return; - } - - - - $user->getAttribute('permissions')->each(function ($permission) use ($user, $request, $response) { - if ($permission->isAction()) { - [$controller, $action] = explode('@', $permission->permission_mark); - - if (! CatchAdmin::getModuleControllerNamespace($permission->module).$controller.'Controller@'.$action == Route::currentRouteAction()) { - return; - } - - $requestStartAt = app(Kernel::class)->requestStartedAt()->timestamp; - - $params = $request->all(); - // 如果参数过长则不记录 - if (!empty($params)) { - if (strlen($encodeParams = \json_encode($params, JSON_UNESCAPED_UNICODE)) > 5000) { - $params = []; - } - } - - $this->storeBy([ - 'module' => $permission->module, - - 'operate' => $permission->permission_name, - - 'route' => $permission->permission_mark, - - 'creator_id' => $user->id, - - 'http_method' => $request->method(), - - 'http_code' => $response->getStatusCode(), - - 'start_at' => $requestStartAt, - - 'time_taken' => time() - $requestStartAt, - - 'ip' => $request->ip(), - - 'params' => !empty($params) ? $encodeParams : '', - - 'created_at' => time() - ]); - } - }); - - - - - - } - - /** - * @return Attribute - */ - protected function timeTaken(): Attribute - { - return new Attribute( - get: fn($value) => $value . 's', - ); - } -} diff --git a/modules/Permissions/Models/PermissionsModel.php b/modules/Permissions/Models/Permissions.php similarity index 52% rename from modules/Permissions/Models/PermissionsModel.php rename to modules/Permissions/Models/Permissions.php index 058cadf..238600a 100644 --- a/modules/Permissions/Models/PermissionsModel.php +++ b/modules/Permissions/Models/Permissions.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Modules\Permissions\Models; use Catch\Base\CatchModel as Model; +use Catch\CatchAdmin; use Catch\Enums\Status; use Illuminate\Database\Eloquent\Relations\HasMany; use Modules\Permissions\Enums\MenuStatus; @@ -29,7 +30,7 @@ use Modules\Permissions\Enums\MenuType; * @property $updated_at * @property $deleted_at */ -class PermissionsModel extends Model +class Permissions extends Model { protected $table = 'permissions'; @@ -58,6 +59,22 @@ class PermissionsModel extends Model protected $hidden = ['pivot']; + /** + * default permission actions + * + * @var array|string[] + */ + protected array $defaultActions = [ + 'index' => '列表', + 'store' => '新增', + 'show' => '读取', + 'update' => '更新', + 'destroy' => '删除', + 'enable' => '禁用/启用', + 'import' => '导入', + 'export' => '导出', + ]; + /** * @var bool */ @@ -103,6 +120,16 @@ class PermissionsModel extends Model return $this->type == MenuType::Top; } + /** + * is menu + * + * @return bool + */ + public function isMenu(): bool + { + return $this->type == MenuType::Menu; + } + /** * actions * @@ -117,29 +144,73 @@ class PermissionsModel extends Model * * @param array $data * @return bool + * @throws \ReflectionException */ public function storeBy(array $data): bool { - $model = $this->fill($data); + if ($data['actions'] ?? false) { + /* @var static $parentMenu */ + $parentMenu = $this->firstBy(value: $data['parent_id'], field: 'id'); - if ($model->isAction()) { - $parentMenu = $this->firstBy($model->parent_id, 'id'); - $model->setAttribute('module', $parentMenu->module); - $model->setAttribute('permission_mark', $parentMenu->permission_mark . '@' . $data['permission_mark']); - $model->setAttribute('route', ''); - $model->setAttribute('icon', ''); - $model->setAttribute('component', ''); - $model->setAttribute('redirect', ''); - return $model->setCreatorId()->save(); - } + if (! $parentMenu->isMenu()) { + return false; + } - if ($model->isTopMenu()) { - $data['route'] = '/' . trim($data['route'], '/'); - } + $actions = CatchAdmin::getControllerActions($parentMenu->module, $parentMenu->permission_mark); + foreach ($actions as $k => $action) { + if (! isset($this->defaultActions[$action])) { + continue; + } + + $this->addAction($this->newInstance([ + 'type' => MenuType::Action->value(), + 'parent_id' => $data['parent_id'], + 'permission_name' => $this->defaultActions[$action], + 'permission_mark' => $action, + 'sort' => $k + 1 + ]), $parentMenu); + } + + return true; + } + + $model = $this->fill($data); + + if ($model->isAction()) { + $parentMenu = $this->firstBy($model->parent_id, 'id'); + return $this->addAction($model, $parentMenu); + } + + if ($model->isTopMenu()) { + $data['route'] = '/'.trim($data['route'], '/'); + } return parent::storeBy($data); } + /** + * add action + * + * @param $model + * @param Permissions $parent + * @return mixed + */ + protected function addAction($model, mixed $parent): mixed + { + $model->setAttribute('module', $parent->module); + $model->setAttribute('permission_mark', $parent->permission_mark. '@'. $model->permission_mark); + $model->setAttribute('route', ''); + $model->setAttribute('icon', ''); + $model->setAttribute('component', ''); + $model->setAttribute('redirect', ''); + + if ($this->where('module', $model->getAttribute('module'))->where('permission_mark', $model->getAttribute('permission_mark'))->first()) { + return false; + } + + return $model->setCreatorId()->save(); + } + /** * update data @@ -153,9 +224,9 @@ class PermissionsModel extends Model $model = $this->fill($data); if ($model->isAction()) { - /* @var PermissionsModel $parentMenu */ - $parentMenu = $this->firstBy($model->parent_id, 'id'); - $data['permission_mark'] = $parentMenu->permission_mark . '@' . $data['permission_mark']; + /* @var Permissions $parentMenu */ + $parentMenu = $this->firstBy($model->parent_id, 'id'); + $data['permission_mark'] = $parentMenu->permission_mark.'@'.$data['permission_mark']; } return parent::updateBy($id, $data); diff --git a/modules/Permissions/Models/RolesModel.php b/modules/Permissions/Models/Roles.php similarity index 74% rename from modules/Permissions/Models/RolesModel.php rename to modules/Permissions/Models/Roles.php index 4e25cc1..d060f10 100644 --- a/modules/Permissions/Models/RolesModel.php +++ b/modules/Permissions/Models/Roles.php @@ -6,6 +6,7 @@ namespace Modules\Permissions\Models; use Catch\Base\CatchModel as Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; +use Modules\Permissions\Models\Traits\DataRange; /** * @property $role_name @@ -18,8 +19,10 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany; * @property $updated_at * @property $deleted_at */ -class RolesModel extends Model +class Roles extends Model { + use DataRange; + protected $table = 'roles'; protected $fillable = ['id', 'role_name', 'identify', 'parent_id', 'description', 'data_range', 'creator_id', 'created_at', 'updated_at', 'deleted_at']; @@ -59,6 +62,17 @@ class RolesModel extends Model */ public function permissions(): BelongsToMany { - return $this->belongsToMany(PermissionsModel::class, 'role_has_permissions', 'role_id', 'permission_id'); + return $this->belongsToMany(Permissions::class, 'role_has_permissions', 'role_id', 'permission_id'); + } + + + /** + * departments + * + * @return BelongsToMany + */ + public function departments(): BelongsToMany + { + return $this->belongsToMany(Departments::class, 'role_has_departments', 'role_id', 'department_id'); } } diff --git a/modules/Permissions/Models/Traits/DataRange.php b/modules/Permissions/Models/Traits/DataRange.php new file mode 100644 index 0000000..a9fa353 --- /dev/null +++ b/modules/Permissions/Models/Traits/DataRange.php @@ -0,0 +1,100 @@ +user(); + + if ($currenUser->isSuperAdmin()) { + return $query; + } + + $userIds = $this->getDepartmentUserIdsBy($roles, $currenUser); + + if (empty($userIds)) { + return $query; + } + + return $query->whereIn($this->aliasField('creator_id'), $userIds); + } + + /** + * get department ids + * + * @param array $roles + * @param $currentUser + * @return Collection + */ + public function getDepartmentUserIdsBy(array $roles, $currentUser): Collection + { + $userIds = Collection::make(); + + if (empty($roles)) { + $roles = $currentUser->roles()->get(); + } + + /* @var Roles $role */ + foreach ($roles as $role) { + if (DataRangeEnum::All_Data->assert($role->data_range)) { + return Collection::make(); + } + + if (DataRangeEnum::Personal_Choose->assert($role->data_range)) { + $userIds = $userIds->merge($this->getUserIdsByDepartmentId($role->departments()->pluck('id'))); + } + + if (DataRangeEnum::Personal_Data->assert($role->data_range)) { + $userIds = $userIds->push($currentUser->id); + } + + if (DataRangeEnum::Department_Data->assert($role->data_range)) { + $userIds = $userIds->merge( + $this->getUserIdsByDepartmentId([$currentUser->department_id]) + ); + } + + if (DataRangeEnum::Department_DOWN_Data->assert($role->data_range)) { + $departmentsId = [$currentUser->department_id]; + + $departmentModel = new Departments(); + + $departmentIds = $departmentModel->findFollowDepartments($departmentsId); + + $userIds = $userIds->merge($this->getUserIdsByDepartmentId($departmentIds))->push($currentUser->id); + } + } + + return $userIds->unique(); + } + + + /** + * get user ids by department is + * + * @param array|Collection $departmentIds + * @return Collection + */ + protected function getUserIdsByDepartmentId(array|Collection $departmentIds): Collection + { + $userModel = app(getAuthUserModel()); + + return $userModel->whereIn('department_id', $departmentIds)->pluck('id'); + } +} diff --git a/modules/Permissions/Providers/PermissionsServiceProvider.php b/modules/Permissions/Providers/PermissionsServiceProvider.php index 70c506d..7fa1024 100644 --- a/modules/Permissions/Providers/PermissionsServiceProvider.php +++ b/modules/Permissions/Providers/PermissionsServiceProvider.php @@ -5,24 +5,17 @@ namespace Modules\Permissions\Providers; use Catch\CatchAdmin; use Catch\Providers\CatchModuleServiceProvider; use Modules\Permissions\Middlewares\PermissionGate; -use Modules\Permissions\Models\LogOperate; class PermissionsServiceProvider extends CatchModuleServiceProvider { /** - * register permission gate + * middlewares * - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface + * @return string[] */ - - protected function registering() + protected function middlewares(): array { - $route = $this->app['config']->get('catch.route'); - - $route['middlewares'][] = PermissionGate::class; - - $this->app['config']->set('catch.route', $route); + return [PermissionGate::class]; } /** @@ -35,7 +28,4 @@ class PermissionsServiceProvider extends CatchModuleServiceProvider // TODO: Implement path() method. return CatchAdmin::getModuleRoutePath('Permissions'); } - - - } diff --git a/modules/Permissions/views/departments/index.vue b/modules/Permissions/views/departments/index.vue index 1122762..1acd643 100644 --- a/modules/Permissions/views/departments/index.vue +++ b/modules/Permissions/views/departments/index.vue @@ -42,7 +42,7 @@ import { useOpen } from '/admin/composables/curd/useOpen' const api = 'permissions/departments' -const { data, query, search, reset, loading } = useGetList(api) +const { data, query, search, reset, loading } = useGetList(api, false) const { destroy, deleted } = useDestroy() const { open, close, title, visible, id } = useOpen() diff --git a/modules/Permissions/views/permissions/form/create.vue b/modules/Permissions/views/permissions/form/create.vue index 46c45a6..f39013d 100644 --- a/modules/Permissions/views/permissions/form/create.vue +++ b/modules/Permissions/views/permissions/form/create.vue @@ -18,8 +18,7 @@ - @@ -39,7 +38,7 @@ - @@ -174,28 +173,6 @@ const clearModule = () => { } } -// 当菜单是按钮类型时, 定义两个初始值 -const actionMenuNames = [ - { label: '列表', value: '列表' }, - { label: '新增', value: '新增' }, - { label: '读取', value: '读取' }, - { label: '更新', value: '更新' }, - { label: '删除', value: '删除' }, - { label: '禁用/启用', value: '禁用/启用' }, - { label: '导入', value: '导入' }, - { label: '导出', value: '导出' }, -] - -const actionMenuMark = [ - { label: 'index', value: 'index' }, - { label: 'store', value: 'store' }, - { label: 'show', value: 'show' }, - { label: 'update', value: 'update' }, - { label: 'destroy', value: 'destroy' }, - { label: 'enable', value: 'enable' }, - { label: 'import', value: 'import' }, - { label: 'export', value: 'export' }, -] // 创建前的钩子 beforeCreate.value = () => { formData.value.parent_id = getParent(formData.value.parent_id) diff --git a/modules/Permissions/views/permissions/index.vue b/modules/Permissions/views/permissions/index.vue index 41a948e..c303425 100644 --- a/modules/Permissions/views/permissions/index.vue +++ b/modules/Permissions/views/permissions/index.vue @@ -12,16 +12,26 @@ - + - + @@ -41,16 +51,17 @@ diff --git a/modules/Permissions/views/roles/form/create.vue b/modules/Permissions/views/roles/form/create.vue index 955c3f4..bccdf9d 100644 --- a/modules/Permissions/views/roles/form/create.vue +++ b/modules/Permissions/views/roles/form/create.vue @@ -43,7 +43,18 @@