diff --git a/composer.lock b/composer.lock index 0632f03dd6..1e6aaf5d3f 100644 --- a/composer.lock +++ b/composer.lock @@ -182,16 +182,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.226.0", + "version": "3.257.4", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d76d4fe0fa603ddc3f5c54d9664438dc1a808859" + "reference": "5791e496e3fc0847f40c86515ed8659b0ecd5991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d76d4fe0fa603ddc3f5c54d9664438dc1a808859", - "reference": "d76d4fe0fa603ddc3f5c54d9664438dc1a808859", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5791e496e3fc0847f40c86515ed8659b0ecd5991", + "reference": "5791e496e3fc0847f40c86515ed8659b0ecd5991", "shasum": "" }, "require": { @@ -199,9 +199,9 @@ "ext-json": "*", "ext-pcre": "*", "ext-simplexml": "*", - "guzzlehttp/guzzle": "^5.3.3 || ^6.2.1 || ^7.0", + "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.7.0 || ^2.1.1", + "guzzlehttp/psr7": "^1.8.5 || ^2.3", "mtdowling/jmespath.php": "^2.6", "php": ">=5.5" }, @@ -209,6 +209,8 @@ "andrewsville/php-token-reflection": "^1.4", "aws/aws-php-sns-message-validator": "~1.0", "behat/behat": "~3.0", + "composer/composer": "^1.10.22", + "dms/phpunit-arraysubset-asserts": "^0.4.0", "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", @@ -216,10 +218,11 @@ "ext-sockets": "*", "nette/neon": "^2.3", "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^4.8.35 || ^5.6.3", + "phpunit/phpunit": "^4.8.35 || ^5.6.3 || ^9.5", "psr/cache": "^1.0", "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3" + "sebastian/comparator": "^1.2.3 || ^4.0", + "yoast/phpunit-polyfills": "^1.0" }, "suggest": { "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", @@ -267,9 +270,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.226.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.257.4" }, - "time": "2022-06-16T18:14:10+00:00" + "time": "2023-01-19T21:18:37+00:00" }, { "name": "beberlei/assert", @@ -2441,16 +2444,16 @@ }, { "name": "doctrine/sql-formatter", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "20c39c2de286a9d3262cc8ed282a4ae60e265894" + "reference": "25a06c7bf4c6b8218f47928654252863ffc890a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/20c39c2de286a9d3262cc8ed282a4ae60e265894", - "reference": "20c39c2de286a9d3262cc8ed282a4ae60e265894", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/25a06c7bf4c6b8218f47928654252863ffc890a5", + "reference": "25a06c7bf4c6b8218f47928654252863ffc890a5", "shasum": "" }, "require": { @@ -2476,7 +2479,7 @@ { "name": "Jeremy Dorn", "email": "jeremy@jeremydorn.com", - "homepage": "http://jeremydorn.com/" + "homepage": "https://jeremydorn.com/" } ], "description": "a PHP SQL highlighting library", @@ -2487,22 +2490,22 @@ ], "support": { "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.1.2" + "source": "https://github.com/doctrine/sql-formatter/tree/1.1.3" }, - "time": "2021-11-05T11:11:14+00:00" + "time": "2022-05-23T21:33:49+00:00" }, { "name": "egulias/email-validator", - "version": "3.2", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "a5ed8d58ed0c340a7c2109f587951b1c84cf6286" + "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/a5ed8d58ed0c340a7c2109f587951b1c84cf6286", - "reference": "a5ed8d58ed0c340a7c2109f587951b1c84cf6286", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f88dcf4b14af14a98ad96b14b2b317969eab6715", + "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715", "shasum": "" }, "require": { @@ -2549,7 +2552,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/3.2" + "source": "https://github.com/egulias/EmailValidator/tree/3.2.1" }, "funding": [ { @@ -2557,7 +2560,7 @@ "type": "github" } ], - "time": "2022-05-28T22:19:18+00:00" + "time": "2022-06-18T20:57:19+00:00" }, { "name": "elasticsearch/elasticsearch", @@ -2628,16 +2631,16 @@ }, { "name": "eluceo/ical", - "version": "2.6.0", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/markuspoerschke/iCal.git", - "reference": "fac5e76090a0de4e198f07847f1882e311642a83" + "reference": "a10295c70529f5da4304bef145efdc7ad3be46cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/markuspoerschke/iCal/zipball/fac5e76090a0de4e198f07847f1882e311642a83", - "reference": "fac5e76090a0de4e198f07847f1882e311642a83", + "url": "https://api.github.com/repos/markuspoerschke/iCal/zipball/a10295c70529f5da4304bef145efdc7ad3be46cf", + "reference": "a10295c70529f5da4304bef145efdc7ad3be46cf", "shasum": "" }, "require": { @@ -2688,7 +2691,7 @@ "issues": "https://github.com/markuspoerschke/iCal/issues", "source": "https://github.com/markuspoerschke/iCal" }, - "time": "2022-06-17T11:40:04+00:00" + "time": "2022-06-21T14:23:15+00:00" }, { "name": "exercise/htmlpurifier-bundle", @@ -2754,23 +2757,23 @@ }, { "name": "ezimuel/guzzlestreams", - "version": "3.0.1", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/ezimuel/guzzlestreams.git", - "reference": "abe3791d231167f14eb80d413420d1eab91163a8" + "reference": "b4b5a025dfee70d6cd34c780e07330eb93d5b997" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezimuel/guzzlestreams/zipball/abe3791d231167f14eb80d413420d1eab91163a8", - "reference": "abe3791d231167f14eb80d413420d1eab91163a8", + "url": "https://api.github.com/repos/ezimuel/guzzlestreams/zipball/b4b5a025dfee70d6cd34c780e07330eb93d5b997", + "reference": "b4b5a025dfee70d6cd34c780e07330eb93d5b997", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~9.0" }, "type": "library", "extra": { @@ -2801,22 +2804,22 @@ "stream" ], "support": { - "source": "https://github.com/ezimuel/guzzlestreams/tree/3.0.1" + "source": "https://github.com/ezimuel/guzzlestreams/tree/3.1.0" }, - "time": "2020-02-14T23:11:50+00:00" + "time": "2022-10-24T12:58:50+00:00" }, { "name": "ezimuel/ringphp", - "version": "1.2.0", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/ezimuel/ringphp.git", - "reference": "92b8161404ab1ad84059ebed41d9f757e897ce74" + "reference": "7887fc8488013065f72f977dcb281994f5fde9f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezimuel/ringphp/zipball/92b8161404ab1ad84059ebed41d9f757e897ce74", - "reference": "92b8161404ab1ad84059ebed41d9f757e897ce74", + "url": "https://api.github.com/repos/ezimuel/ringphp/zipball/7887fc8488013065f72f977dcb281994f5fde9f4", + "reference": "7887fc8488013065f72f977dcb281994f5fde9f4", "shasum": "" }, "require": { @@ -2858,9 +2861,9 @@ ], "description": "Fork of guzzle/RingPHP (abandoned) to be used with elasticsearch-php", "support": { - "source": "https://github.com/ezimuel/ringphp/tree/1.2.0" + "source": "https://github.com/ezimuel/ringphp/tree/1.2.2" }, - "time": "2021-11-16T11:51:30+00:00" + "time": "2022-12-07T11:28:53+00:00" }, { "name": "ezyang/htmlpurifier", @@ -3196,16 +3199,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.4.5", + "version": "7.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" + "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", - "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba", + "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba", "shasum": "" }, "require": { @@ -3220,10 +3223,10 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", + "bamarni/composer-bin-plugin": "^1.8.1", "ext-curl": "*", "php-http/client-integration-tests": "^3.0", - "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "phpunit/phpunit": "^8.5.29 || ^9.5.23", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -3233,8 +3236,12 @@ }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, "branch-alias": { - "dev-master": "7.4-dev" + "dev-master": "7.5-dev" } }, "autoload": { @@ -3300,7 +3307,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.5" + "source": "https://github.com/guzzle/guzzle/tree/7.5.0" }, "funding": [ { @@ -3316,20 +3323,20 @@ "type": "tidelift" } ], - "time": "2022-06-20T22:16:13+00:00" + "time": "2022-08-28T15:39:27+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + "reference": "b94b2807d85443f9719887892882d0329d1e2598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", + "reference": "b94b2807d85443f9719887892882d0329d1e2598", "shasum": "" }, "require": { @@ -3384,7 +3391,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.1" + "source": "https://github.com/guzzle/promises/tree/1.5.2" }, "funding": [ { @@ -3400,20 +3407,20 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:56:57+00:00" + "time": "2022-08-28T14:55:35+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.4.0", + "version": "2.4.3", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "13388f00956b1503577598873fffb5ae994b5737" + "reference": "67c26b443f348a51926030c83481b85718457d3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737", - "reference": "13388f00956b1503577598873fffb5ae994b5737", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", + "reference": "67c26b443f348a51926030c83481b85718457d3d", "shasum": "" }, "require": { @@ -3427,15 +3434,19 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", + "bamarni/composer-bin-plugin": "^1.8.1", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.8 || ^9.3.10" + "phpunit/phpunit": "^8.5.29 || ^9.5.23" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, "branch-alias": { "dev-master": "2.4-dev" } @@ -3499,7 +3510,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.0" + "source": "https://github.com/guzzle/psr7/tree/2.4.3" }, "funding": [ { @@ -3515,7 +3526,7 @@ "type": "tidelift" } ], - "time": "2022-06-20T21:43:11+00:00" + "time": "2022-10-26T14:07:24+00:00" }, { "name": "http-interop/http-factory-guzzle", @@ -4050,16 +4061,16 @@ }, { "name": "league/flysystem", - "version": "3.0.21", + "version": "3.12.2", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "8f1fcf9d2304ff77a006aa36dd2cb5f236999b12" + "reference": "f6377c709d2275ed6feaf63e44be7a7162b0e77f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8f1fcf9d2304ff77a006aa36dd2cb5f236999b12", - "reference": "8f1fcf9d2304ff77a006aa36dd2cb5f236999b12", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f6377c709d2275ed6feaf63e44be7a7162b0e77f", + "reference": "f6377c709d2275ed6feaf63e44be7a7162b0e77f", "shasum": "" }, "require": { @@ -4070,12 +4081,13 @@ "aws/aws-sdk-php": "3.209.31 || 3.210.0", "guzzlehttp/guzzle": "<7.0", "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", "symfony/http-client": "<5.2" }, "require-dev": { "async-aws/s3": "^1.5", - "async-aws/simple-s3": "^1.0", - "aws/aws-sdk-php": "^3.198.1", + "async-aws/simple-s3": "^1.1", + "aws/aws-sdk-php": "^3.220.0", "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", @@ -4083,7 +4095,7 @@ "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", "microsoft/azure-storage-blob": "^1.1", - "phpseclib/phpseclib": "^2.0", + "phpseclib/phpseclib": "^3.0.14", "phpstan/phpstan": "^0.12.26", "phpunit/phpunit": "^9.5.11", "sabre/dav": "^4.3.1" @@ -4120,11 +4132,11 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.0.21" + "source": "https://github.com/thephpleague/flysystem/tree/3.12.2" }, "funding": [ { - "url": "https://offset.earth/frankdejonge", + "url": "https://ecologi.com/frankdejonge", "type": "custom" }, { @@ -4136,25 +4148,25 @@ "type": "tidelift" } ], - "time": "2022-06-12T17:54:28+00:00" + "time": "2023-01-19T12:02:19+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "3.0.21", + "version": "3.12.2", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "f4ee238279f1eb39a32539a18ef845db7251fd05" + "reference": "645e14e4a80bd2da8b01e57388e7296a695a80c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/f4ee238279f1eb39a32539a18ef845db7251fd05", - "reference": "f4ee238279f1eb39a32539a18ef845db7251fd05", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/645e14e4a80bd2da8b01e57388e7296a695a80c2", + "reference": "645e14e4a80bd2da8b01e57388e7296a695a80c2", "shasum": "" }, "require": { - "aws/aws-sdk-php": "^3.132.4", - "league/flysystem": "^2.0.0 || ^3.0.0", + "aws/aws-sdk-php": "^3.220.0", + "league/flysystem": "^3.10.0", "league/mime-type-detection": "^1.0.0", "php": "^8.0.2" }, @@ -4190,9 +4202,23 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.0.21" + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.12.2" }, - "time": "2022-06-12T17:34:31+00:00" + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2023-01-17T14:15:08+00:00" }, { "name": "league/mime-type-detection", @@ -6230,16 +6256,16 @@ }, { "name": "sentry/sentry", - "version": "3.6.0", + "version": "3.6.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "6d1a6ee29c558be373bfe08d454a3c116c02dd0d" + "reference": "5b8f2934b0b20bb01da11c76985ceb5bd6c6af91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/6d1a6ee29c558be373bfe08d454a3c116c02dd0d", - "reference": "6d1a6ee29c558be373bfe08d454a3c116c02dd0d", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/5b8f2934b0b20bb01da11c76985ceb5bd6c6af91", + "reference": "5b8f2934b0b20bb01da11c76985ceb5bd6c6af91", "shasum": "" }, "require": { @@ -6319,7 +6345,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/3.6.0" + "source": "https://github.com/getsentry/sentry-php/tree/3.6.1" }, "funding": [ { @@ -6331,7 +6357,7 @@ "type": "custom" } ], - "time": "2022-06-09T20:33:39+00:00" + "time": "2022-06-27T07:58:00+00:00" }, { "name": "sentry/sentry-symfony", @@ -6735,16 +6761,16 @@ }, { "name": "symfony/cache", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "6cc467d38eca15ab0efb4d927b00b6f9e9bd8c73" + "reference": "73c782b399c58d80504704bbaeb9990b7f9aa6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/6cc467d38eca15ab0efb4d927b00b6f9e9bd8c73", - "reference": "6cc467d38eca15ab0efb4d927b00b6f9e9bd8c73", + "url": "https://api.github.com/repos/symfony/cache/zipball/73c782b399c58d80504704bbaeb9990b7f9aa6f6", + "reference": "73c782b399c58d80504704bbaeb9990b7f9aa6f6", "shasum": "" }, "require": { @@ -6808,7 +6834,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.0.9" + "source": "https://github.com/symfony/cache/tree/v6.0.10" }, "funding": [ { @@ -6824,11 +6850,11 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:33:31+00:00" + "time": "2022-06-19T12:07:20+00:00" }, { "name": "symfony/cache-contracts", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", @@ -6887,7 +6913,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/cache-contracts/tree/v3.1.1" }, "funding": [ { @@ -6985,16 +7011,16 @@ }, { "name": "symfony/console", - "version": "v6.1.1", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6187424023fbffcd757789aeb517c9161b1eabee" + "reference": "43fcb5c5966b43c56bcfa481368d90d748936ab8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6187424023fbffcd757789aeb517c9161b1eabee", - "reference": "6187424023fbffcd757789aeb517c9161b1eabee", + "url": "https://api.github.com/repos/symfony/console/zipball/43fcb5c5966b43c56bcfa481368d90d748936ab8", + "reference": "43fcb5c5966b43c56bcfa481368d90d748936ab8", "shasum": "" }, "require": { @@ -7061,7 +7087,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.1.1" + "source": "https://github.com/symfony/console/tree/v6.1.3" }, "funding": [ { @@ -7077,20 +7103,20 @@ "type": "tidelift" } ], - "time": "2022-06-08T14:02:09+00:00" + "time": "2022-07-22T14:17:57+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "eb0945f285285861a6a6b95b8e7f5881680c0d75" + "reference": "533a7ead2f1d15e9abfe4709ebdda4f7cab2a431" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/eb0945f285285861a6a6b95b8e7f5881680c0d75", - "reference": "eb0945f285285861a6a6b95b8e7f5881680c0d75", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/533a7ead2f1d15e9abfe4709ebdda4f7cab2a431", + "reference": "533a7ead2f1d15e9abfe4709ebdda4f7cab2a431", "shasum": "" }, "require": { @@ -7149,7 +7175,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.0.9" + "source": "https://github.com/symfony/dependency-injection/tree/v6.0.10" }, "funding": [ { @@ -7165,20 +7191,20 @@ "type": "tidelift" } ], - "time": "2022-05-27T06:40:13+00:00" + "time": "2022-06-26T13:01:22+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.1.0", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918" + "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", - "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", + "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", "shasum": "" }, "require": { @@ -7187,7 +7213,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.3-dev" }, "thanks": { "name": "symfony/contracts", @@ -7216,7 +7242,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0" }, "funding": [ { @@ -7232,20 +7258,20 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2022-11-25T10:21:52+00:00" }, { "name": "symfony/doctrine-bridge", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "34599e7deb63ec68ad72e206c2401a5448249783" + "reference": "d61613cc116822d1f194993baecb025ba58251e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/34599e7deb63ec68ad72e206c2401a5448249783", - "reference": "34599e7deb63ec68ad72e206c2401a5448249783", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d61613cc116822d1f194993baecb025ba58251e7", + "reference": "d61613cc116822d1f194993baecb025ba58251e7", "shasum": "" }, "require": { @@ -7331,7 +7357,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.0.9" + "source": "https://github.com/symfony/doctrine-bridge/tree/v6.0.10" }, "funding": [ { @@ -7347,7 +7373,7 @@ "type": "tidelift" } ], - "time": "2022-05-27T06:30:15+00:00" + "time": "2022-06-21T07:16:22+00:00" }, { "name": "symfony/doctrine-messenger", @@ -7647,7 +7673,7 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", @@ -7706,7 +7732,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.1" }, "funding": [ { @@ -7726,16 +7752,16 @@ }, { "name": "symfony/expression-language", - "version": "v6.0.8", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "7affe5d5e579cd89c664b364f74ce2d01d57cf29" + "reference": "add878003a70a37a7e87ac04f16383e7eef55d9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/7affe5d5e579cd89c664b364f74ce2d01d57cf29", - "reference": "7affe5d5e579cd89c664b364f74ce2d01d57cf29", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/add878003a70a37a7e87ac04f16383e7eef55d9a", + "reference": "add878003a70a37a7e87ac04f16383e7eef55d9a", "shasum": "" }, "require": { @@ -7769,7 +7795,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v6.0.8" + "source": "https://github.com/symfony/expression-language/tree/v6.0.10" }, "funding": [ { @@ -7785,20 +7811,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T16:11:42+00:00" + "time": "2022-06-19T12:07:20+00:00" }, { "name": "symfony/filesystem", - "version": "v6.1.0", + "version": "v6.1.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "3132d2f43ca799c2aa099f9738d98228c56baa5d" + "reference": "3f39c04d2630c34019907b02f85672dac99f8659" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/3132d2f43ca799c2aa099f9738d98228c56baa5d", - "reference": "3132d2f43ca799c2aa099f9738d98228c56baa5d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/3f39c04d2630c34019907b02f85672dac99f8659", + "reference": "3f39c04d2630c34019907b02f85672dac99f8659", "shasum": "" }, "require": { @@ -7832,7 +7858,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.1.0" + "source": "https://github.com/symfony/filesystem/tree/v6.1.4" }, "funding": [ { @@ -7848,20 +7874,20 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:34:40+00:00" + "time": "2022-08-02T16:17:38+00:00" }, { "name": "symfony/finder", - "version": "v6.1.0", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "45b8beb69d6eb3b05a65689ebfd4222326773f8f" + "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/45b8beb69d6eb3b05a65689ebfd4222326773f8f", - "reference": "45b8beb69d6eb3b05a65689ebfd4222326773f8f", + "url": "https://api.github.com/repos/symfony/finder/zipball/39696bff2c2970b3779a5cac7bf9f0b88fc2b709", + "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709", "shasum": "" }, "require": { @@ -7896,7 +7922,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.0" + "source": "https://github.com/symfony/finder/tree/v6.1.3" }, "funding": [ { @@ -7912,7 +7938,7 @@ "type": "tidelift" } ], - "time": "2022-04-15T08:08:08+00:00" + "time": "2022-07-29T07:42:06+00:00" }, { "name": "symfony/flex", @@ -7981,16 +8007,16 @@ }, { "name": "symfony/framework-bundle", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "9fac94a31bcf79f9aa0e25074392c165844d66d5" + "reference": "1a42efe7a1821497b26facd591efb4fedcf734e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/9fac94a31bcf79f9aa0e25074392c165844d66d5", - "reference": "9fac94a31bcf79f9aa0e25074392c165844d66d5", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/1a42efe7a1821497b26facd591efb4fedcf734e2", + "reference": "1a42efe7a1821497b26facd591efb4fedcf734e2", "shasum": "" }, "require": { @@ -8109,7 +8135,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.0.9" + "source": "https://github.com/symfony/framework-bundle/tree/v6.0.10" }, "funding": [ { @@ -8125,7 +8151,7 @@ "type": "tidelift" } ], - "time": "2022-05-27T06:30:15+00:00" + "time": "2022-06-19T13:16:44+00:00" }, { "name": "symfony/http-client", @@ -8213,7 +8239,7 @@ }, { "name": "symfony/http-client-contracts", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", @@ -8274,7 +8300,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.1.1" }, "funding": [ { @@ -8294,16 +8320,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "05abe9aab47decfd793632787d0c6a25268e2a5b" + "reference": "47f2aa677a96ff3b79d2ed70052adf75b16824a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/05abe9aab47decfd793632787d0c6a25268e2a5b", - "reference": "05abe9aab47decfd793632787d0c6a25268e2a5b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/47f2aa677a96ff3b79d2ed70052adf75b16824a9", + "reference": "47f2aa677a96ff3b79d2ed70052adf75b16824a9", "shasum": "" }, "require": { @@ -8346,7 +8372,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.0.9" + "source": "https://github.com/symfony/http-foundation/tree/v6.0.10" }, "funding": [ { @@ -8362,20 +8388,20 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:33:31+00:00" + "time": "2022-06-19T13:16:44+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "e78407f2a7b683fd1269057aa39355d77ddbcff9" + "reference": "fa3e92a78c3f311573671961c7f7a2c5bce0f54d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e78407f2a7b683fd1269057aa39355d77ddbcff9", - "reference": "e78407f2a7b683fd1269057aa39355d77ddbcff9", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fa3e92a78c3f311573671961c7f7a2c5bce0f54d", + "reference": "fa3e92a78c3f311573671961c7f7a2c5bce0f54d", "shasum": "" }, "require": { @@ -8455,7 +8481,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.0.9" + "source": "https://github.com/symfony/http-kernel/tree/v6.0.10" }, "funding": [ { @@ -8471,7 +8497,7 @@ "type": "tidelift" } ], - "time": "2022-05-27T07:14:30+00:00" + "time": "2022-06-26T17:02:18+00:00" }, { "name": "symfony/ldap", @@ -8550,16 +8576,16 @@ }, { "name": "symfony/lock", - "version": "v6.0.7", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "dcbb2a00ddf90f0ea8d370c354e0cde1303bf4a5" + "reference": "82fb600a6e02ed70cba372d80a489f4be7f709da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/dcbb2a00ddf90f0ea8d370c354e0cde1303bf4a5", - "reference": "dcbb2a00ddf90f0ea8d370c354e0cde1303bf4a5", + "url": "https://api.github.com/repos/symfony/lock/zipball/82fb600a6e02ed70cba372d80a489f4be7f709da", + "reference": "82fb600a6e02ed70cba372d80a489f4be7f709da", "shasum": "" }, "require": { @@ -8607,7 +8633,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v6.0.7" + "source": "https://github.com/symfony/lock/tree/v6.0.10" }, "funding": [ { @@ -8623,7 +8649,7 @@ "type": "tidelift" } ], - "time": "2022-03-22T16:12:04+00:00" + "time": "2022-06-09T15:15:43+00:00" }, { "name": "symfony/mailchimp-mailer", @@ -8692,16 +8718,16 @@ }, { "name": "symfony/mailer", - "version": "v6.0.8", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b" + "reference": "9b60de35f0b4eed09ee2b25195a478b86acd128d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/706af6b3e99ebcbc639c9c664f5579aaa869409b", - "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b", + "url": "https://api.github.com/repos/symfony/mailer/zipball/9b60de35f0b4eed09ee2b25195a478b86acd128d", + "reference": "9b60de35f0b4eed09ee2b25195a478b86acd128d", "shasum": "" }, "require": { @@ -8746,7 +8772,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.0.8" + "source": "https://github.com/symfony/mailer/tree/v6.0.10" }, "funding": [ { @@ -8762,7 +8788,7 @@ "type": "tidelift" } ], - "time": "2022-04-27T17:10:30+00:00" + "time": "2022-06-19T12:07:20+00:00" }, { "name": "symfony/mailgun-mailer", @@ -8831,16 +8857,16 @@ }, { "name": "symfony/messenger", - "version": "v6.0.8", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "8ba92cff412af800ac9232728f0f659f2261a230" + "reference": "59a1a1eb3049129824d0592e6b4dcb5173e8279d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/8ba92cff412af800ac9232728f0f659f2261a230", - "reference": "8ba92cff412af800ac9232728f0f659f2261a230", + "url": "https://api.github.com/repos/symfony/messenger/zipball/59a1a1eb3049129824d0592e6b4dcb5173e8279d", + "reference": "59a1a1eb3049129824d0592e6b4dcb5173e8279d", "shasum": "" }, "require": { @@ -8896,7 +8922,7 @@ "description": "Helps applications send and receive messages to/from other applications or via message queues", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/messenger/tree/v6.0.8" + "source": "https://github.com/symfony/messenger/tree/v6.0.10" }, "funding": [ { @@ -8912,20 +8938,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T16:11:42+00:00" + "time": "2022-06-26T13:01:22+00:00" }, { "name": "symfony/mime", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "e17bae63d437b3e21942dcc47ccca802d3573dd8" + "reference": "4de7886c66e0953f5d6edab3e49ceb751d01621c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/e17bae63d437b3e21942dcc47ccca802d3573dd8", - "reference": "e17bae63d437b3e21942dcc47ccca802d3573dd8", + "url": "https://api.github.com/repos/symfony/mime/zipball/4de7886c66e0953f5d6edab3e49ceb751d01621c", + "reference": "4de7886c66e0953f5d6edab3e49ceb751d01621c", "shasum": "" }, "require": { @@ -8977,7 +9003,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.0.9" + "source": "https://github.com/symfony/mime/tree/v6.0.10" }, "funding": [ { @@ -8993,20 +9019,20 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:33:31+00:00" + "time": "2022-06-09T12:50:38+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v6.0.3", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "10d90ee25c6a76c12d4bbe8721e354c287e177da" + "reference": "5bdad92051f71996191d91c3bc77fc2f512d08fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/10d90ee25c6a76c12d4bbe8721e354c287e177da", - "reference": "10d90ee25c6a76c12d4bbe8721e354c287e177da", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/5bdad92051f71996191d91c3bc77fc2f512d08fd", + "reference": "5bdad92051f71996191d91c3bc77fc2f512d08fd", "shasum": "" }, "require": { @@ -9060,7 +9086,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v6.0.3" + "source": "https://github.com/symfony/monolog-bridge/tree/v6.0.10" }, "funding": [ { @@ -9076,7 +9102,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2022-06-19T12:07:20+00:00" }, { "name": "symfony/monolog-bundle", @@ -9381,16 +9407,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8" + "reference": "639084e360537a19f9ee352433b84ce831f3d2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/59a8d271f00dd0e4c2e518104cc7963f655a1aa8", - "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", + "reference": "639084e360537a19f9ee352433b84ce831f3d2da", "shasum": "" }, "require": { @@ -9404,7 +9430,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -9448,7 +9474,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" }, "funding": [ { @@ -9464,20 +9490,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -9489,7 +9515,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -9532,7 +9558,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" }, "funding": [ { @@ -9548,20 +9574,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { @@ -9576,7 +9602,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -9615,7 +9641,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" }, "funding": [ { @@ -9631,20 +9657,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", "shasum": "" }, "require": { @@ -9653,7 +9679,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -9691,7 +9717,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" }, "funding": [ { @@ -9707,7 +9733,7 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php73", @@ -10099,16 +10125,16 @@ }, { "name": "symfony/process", - "version": "v6.1.0", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "318718453c2be58266f1a9e74063d13cb8dd4165" + "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/318718453c2be58266f1a9e74063d13cb8dd4165", - "reference": "318718453c2be58266f1a9e74063d13cb8dd4165", + "url": "https://api.github.com/repos/symfony/process/zipball/a6506e99cfad7059b1ab5cab395854a0a0c21292", + "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292", "shasum": "" }, "require": { @@ -10140,7 +10166,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.1.0" + "source": "https://github.com/symfony/process/tree/v6.1.3" }, "funding": [ { @@ -10156,7 +10182,7 @@ "type": "tidelift" } ], - "time": "2022-05-11T12:12:29+00:00" + "time": "2022-06-27T17:24:16+00:00" }, { "name": "symfony/property-access", @@ -10239,16 +10265,16 @@ }, { "name": "symfony/property-info", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "f6ca518cee8cac7e1e1a3f922a5731ab866b9b0b" + "reference": "0e3bc4926c37e8cf3be484cd2fdd2d77624129e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/f6ca518cee8cac7e1e1a3f922a5731ab866b9b0b", - "reference": "f6ca518cee8cac7e1e1a3f922a5731ab866b9b0b", + "url": "https://api.github.com/repos/symfony/property-info/zipball/0e3bc4926c37e8cf3be484cd2fdd2d77624129e5", + "reference": "0e3bc4926c37e8cf3be484cd2fdd2d77624129e5", "shasum": "" }, "require": { @@ -10308,7 +10334,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v6.0.9" + "source": "https://github.com/symfony/property-info/tree/v6.0.10" }, "funding": [ { @@ -10324,7 +10350,7 @@ "type": "tidelift" } ], - "time": "2022-05-17T09:49:29+00:00" + "time": "2022-05-31T17:20:12+00:00" }, { "name": "symfony/proxy-manager-bridge", @@ -10974,16 +11000,16 @@ }, { "name": "symfony/security-http", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "94c5f8da5ad5b823b2777926c093b56ae576f5fb" + "reference": "f96a92d7371cb70108e5ea6999ec5972b487cc04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/94c5f8da5ad5b823b2777926c093b56ae576f5fb", - "reference": "94c5f8da5ad5b823b2777926c093b56ae576f5fb", + "url": "https://api.github.com/repos/symfony/security-http/zipball/f96a92d7371cb70108e5ea6999ec5972b487cc04", + "reference": "f96a92d7371cb70108e5ea6999ec5972b487cc04", "shasum": "" }, "require": { @@ -11037,7 +11063,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v6.0.9" + "source": "https://github.com/symfony/security-http/tree/v6.0.10" }, "funding": [ { @@ -11053,7 +11079,7 @@ "type": "tidelift" } ], - "time": "2022-05-14T12:52:12+00:00" + "time": "2022-06-26T13:01:22+00:00" }, { "name": "symfony/sendgrid-mailer", @@ -11122,16 +11148,16 @@ }, { "name": "symfony/serializer", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "cd209717fce097ed002a218cbd9be9d56ed53e78" + "reference": "d01114d1e6321070f11bffc6d0d4a698d1403867" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/cd209717fce097ed002a218cbd9be9d56ed53e78", - "reference": "cd209717fce097ed002a218cbd9be9d56ed53e78", + "url": "https://api.github.com/repos/symfony/serializer/zipball/d01114d1e6321070f11bffc6d0d4a698d1403867", + "reference": "d01114d1e6321070f11bffc6d0d4a698d1403867", "shasum": "" }, "require": { @@ -11203,7 +11229,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.0.9" + "source": "https://github.com/symfony/serializer/tree/v6.0.10" }, "funding": [ { @@ -11219,20 +11245,20 @@ "type": "tidelift" } ], - "time": "2022-05-10T09:19:38+00:00" + "time": "2022-06-26T16:34:50+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d66cd8ab656780f62c4215b903a420eb86358957" + "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d66cd8ab656780f62c4215b903a420eb86358957", - "reference": "d66cd8ab656780f62c4215b903a420eb86358957", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/925e713fe8fcacf6bc05e936edd8dd5441a21239", + "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239", "shasum": "" }, "require": { @@ -11288,7 +11314,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.1.1" }, "funding": [ { @@ -11304,7 +11330,7 @@ "type": "tidelift" } ], - "time": "2022-05-07T08:07:09+00:00" + "time": "2022-05-30T19:18:58+00:00" }, { "name": "symfony/stopwatch", @@ -11370,16 +11396,16 @@ }, { "name": "symfony/string", - "version": "v6.1.0", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "d3edc75baf9f1d4f94879764dda2e1ac33499529" + "reference": "f35241f45c30bcd9046af2bb200a7086f70e1d6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/d3edc75baf9f1d4f94879764dda2e1ac33499529", - "reference": "d3edc75baf9f1d4f94879764dda2e1ac33499529", + "url": "https://api.github.com/repos/symfony/string/zipball/f35241f45c30bcd9046af2bb200a7086f70e1d6b", + "reference": "f35241f45c30bcd9046af2bb200a7086f70e1d6b", "shasum": "" }, "require": { @@ -11435,7 +11461,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.1.0" + "source": "https://github.com/symfony/string/tree/v6.1.3" }, "funding": [ { @@ -11451,20 +11477,20 @@ "type": "tidelift" } ], - "time": "2022-04-22T08:18:23+00:00" + "time": "2022-07-27T15:50:51+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.1.0", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "bfddd2a1faa271b782b791c361cc16e2dd49dfaa" + "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/bfddd2a1faa271b782b791c361cc16e2dd49dfaa", - "reference": "bfddd2a1faa271b782b791c361cc16e2dd49dfaa", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/606be0f48e05116baef052f7f3abdb345c8e02cc", + "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc", "shasum": "" }, "require": { @@ -11516,7 +11542,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.1.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.1.1" }, "funding": [ { @@ -11532,20 +11558,20 @@ "type": "tidelift" } ], - "time": "2022-04-22T07:30:54+00:00" + "time": "2022-06-27T17:24:16+00:00" }, { "name": "symfony/twig-bridge", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "5208e87aa1ad1405cd10e207b73f2f355cfbb123" + "reference": "4eae2e2a08d737bdd293fb4fa53239a655c4ea80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/5208e87aa1ad1405cd10e207b73f2f355cfbb123", - "reference": "5208e87aa1ad1405cd10e207b73f2f355cfbb123", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/4eae2e2a08d737bdd293fb4fa53239a655c4ea80", + "reference": "4eae2e2a08d737bdd293fb4fa53239a655c4ea80", "shasum": "" }, "require": { @@ -11636,7 +11662,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.0.9" + "source": "https://github.com/symfony/twig-bridge/tree/v6.0.10" }, "funding": [ { @@ -11652,7 +11678,7 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:33:31+00:00" + "time": "2022-06-17T15:20:52+00:00" }, { "name": "symfony/twig-bundle", @@ -11743,16 +11769,16 @@ }, { "name": "symfony/validator", - "version": "v6.0.8", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "d8f47eea936014e9e9d1cd3248f8c73d57dc248b" + "reference": "e4d9e660e03458f06df2f6382ad1e9c51f238297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/d8f47eea936014e9e9d1cd3248f8c73d57dc248b", - "reference": "d8f47eea936014e9e9d1cd3248f8c73d57dc248b", + "url": "https://api.github.com/repos/symfony/validator/zipball/e4d9e660e03458f06df2f6382ad1e9c51f238297", + "reference": "e4d9e660e03458f06df2f6382ad1e9c51f238297", "shasum": "" }, "require": { @@ -11831,7 +11857,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.0.8" + "source": "https://github.com/symfony/validator/tree/v6.0.10" }, "funding": [ { @@ -11847,7 +11873,7 @@ "type": "tidelift" } ], - "time": "2022-04-15T08:07:58+00:00" + "time": "2022-06-09T12:50:38+00:00" }, { "name": "symfony/var-dumper", @@ -11939,16 +11965,16 @@ }, { "name": "symfony/var-exporter", - "version": "v6.0.9", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "51c9947398d4f87f0b5a861999534a95afcd971e" + "reference": "e3df004a8d0fb572c420a6915cd23db9254c8366" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/51c9947398d4f87f0b5a861999534a95afcd971e", - "reference": "51c9947398d4f87f0b5a861999534a95afcd971e", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/e3df004a8d0fb572c420a6915cd23db9254c8366", + "reference": "e3df004a8d0fb572c420a6915cd23db9254c8366", "shasum": "" }, "require": { @@ -11991,7 +12017,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.0.9" + "source": "https://github.com/symfony/var-exporter/tree/v6.0.10" }, "funding": [ { @@ -12007,7 +12033,7 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:33:31+00:00" + "time": "2022-05-27T12:57:11+00:00" }, { "name": "symfony/web-link", @@ -12097,16 +12123,16 @@ }, { "name": "symfony/yaml", - "version": "v6.0.3", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5" + "reference": "3b039081c8a6ff8773db2fc11069f2da4960449c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e77f3ea0b21141d771d4a5655faa54f692b34af5", - "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5", + "url": "https://api.github.com/repos/symfony/yaml/zipball/3b039081c8a6ff8773db2fc11069f2da4960449c", + "reference": "3b039081c8a6ff8773db2fc11069f2da4960449c", "shasum": "" }, "require": { @@ -12151,7 +12177,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.0.3" + "source": "https://github.com/symfony/yaml/tree/v6.0.10" }, "funding": [ { @@ -12167,7 +12193,7 @@ "type": "tidelift" } ], - "time": "2022-01-26T17:23:29+00:00" + "time": "2022-06-20T11:58:32+00:00" }, { "name": "twig/twig", @@ -12678,16 +12704,16 @@ }, { "name": "infection/infection", - "version": "0.26.12", + "version": "0.26.14", "source": { "type": "git", "url": "https://github.com/infection/infection.git", - "reference": "dbc0b430d8dfbb5d57e61f09d6ac89265ea0087f" + "reference": "d35e0795d64c2a1e030e63c51fbf6b37991b08d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/infection/infection/zipball/dbc0b430d8dfbb5d57e61f09d6ac89265ea0087f", - "reference": "dbc0b430d8dfbb5d57e61f09d6ac89265ea0087f", + "url": "https://api.github.com/repos/infection/infection/zipball/d35e0795d64c2a1e030e63c51fbf6b37991b08d2", + "reference": "d35e0795d64c2a1e030e63c51fbf6b37991b08d2", "shasum": "" }, "require": { @@ -12696,6 +12722,7 @@ "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", + "ext-mbstring": "*", "infection/abstract-testframework-adapter": "^0.5.0", "infection/extension-installer": "^0.1.0", "infection/include-interceptor": "^0.2.5", @@ -12787,7 +12814,7 @@ ], "support": { "issues": "https://github.com/infection/infection/issues", - "source": "https://github.com/infection/infection/tree/0.26.12" + "source": "https://github.com/infection/infection/tree/0.26.14" }, "funding": [ { @@ -12799,7 +12826,7 @@ "type": "open_collective" } ], - "time": "2022-06-21T20:46:07+00:00" + "time": "2022-08-31T21:53:53+00:00" }, { "name": "liip/test-fixtures-bundle", @@ -13265,73 +13292,6 @@ }, "time": "2022-02-21T01:04:05+00:00" }, - { - "name": "phpspec/prophecy", - "version": "v1.15.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", - "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.2", - "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0", - "sebastian/recursion-context": "^3.0 || ^4.0" - }, - "require-dev": { - "phpspec/phpspec": "^6.0 || ^7.0", - "phpunit/phpunit": "^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "support": { - "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" - }, - "time": "2021-12-08T12:19:24+00:00" - }, { "name": "phpstan/extension-installer", "version": "1.1.0", @@ -13379,16 +13339,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.7.15", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "cd0202ea1b1fc6d1bbe156c6e2e18a03e0ff160a" + "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd0202ea1b1fc6d1bbe156c6e2e18a03e0ff160a", - "reference": "cd0202ea1b1fc6d1bbe156c6e2e18a03e0ff160a", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c53312ecc575caf07b0e90dee43883fdf90ca67c", + "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c", "shasum": "" }, "require": { @@ -13414,7 +13374,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.7.15" + "source": "https://github.com/phpstan/phpstan/tree/1.8.2" }, "funding": [ { @@ -13434,26 +13394,26 @@ "type": "tidelift" } ], - "time": "2022-06-20T08:29:01+00:00" + "time": "2022-07-20T09:57:31+00:00" }, { "name": "phpstan/phpstan-symfony", - "version": "1.2.5", + "version": "1.2.9", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "85be852a17fd5a6b67d4fc6daed21e794f935b2d" + "reference": "f4cb3b8915d3656e780f305f01c86b70ff933272" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/85be852a17fd5a6b67d4fc6daed21e794f935b2d", - "reference": "85be852a17fd5a6b67d4fc6daed21e794f935b2d", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/f4cb3b8915d3656e780f305f01c86b70ff933272", + "reference": "f4cb3b8915d3656e780f305f01c86b70ff933272", "shasum": "" }, "require": { "ext-simplexml": "*", "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.6" + "phpstan/phpstan": "^1.8.2" }, "conflict": { "symfony/framework-bundle": "<3.0" @@ -13503,29 +13463,29 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.5" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.9" }, - "time": "2022-06-10T08:44:35+00:00" + "time": "2022-08-05T20:13:38+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.15", + "version": "9.2.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" + "reference": "2593003befdcc10db5e213f9f28814f5aa8ac073" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", - "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2593003befdcc10db5e213f9f28814f5aa8ac073", + "reference": "2593003befdcc10db5e213f9f28814f5aa8ac073", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.13.0", + "nikic/php-parser": "^4.14", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -13574,7 +13534,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.16" }, "funding": [ { @@ -13582,7 +13542,7 @@ "type": "github" } ], - "time": "2022-03-07T09:28:20+00:00" + "time": "2022-08-20T05:26:47+00:00" }, { "name": "phpunit/php-file-iterator", @@ -13827,16 +13787,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.21", + "version": "9.5.23", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1" + "reference": "888556852e7e9bbeeedb9656afe46118765ade34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0e32b76be457de00e83213528f6bb37e2a38fcb1", - "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/888556852e7e9bbeeedb9656afe46118765ade34", + "reference": "888556852e7e9bbeeedb9656afe46118765ade34", "shasum": "" }, "require": { @@ -13851,7 +13811,6 @@ "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", - "phpspec/prophecy": "^1.12.1", "phpunit/php-code-coverage": "^9.2.13", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", @@ -13869,9 +13828,6 @@ "sebastian/type": "^3.0", "sebastian/version": "^3.0.2" }, - "require-dev": { - "phpspec/prophecy-phpunit": "^2.0.1" - }, "suggest": { "ext-soap": "*", "ext-xdebug": "*" @@ -13913,7 +13869,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.21" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.23" }, "funding": [ { @@ -13925,7 +13881,7 @@ "type": "github" } ], - "time": "2022-06-19T12:14:25+00:00" + "time": "2022-08-22T14:01:36+00:00" }, { "name": "sanmai/later", @@ -15359,16 +15315,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v6.1.0", + "version": "v6.1.2", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "092ccc3b364925cd8ed6046bc31dcf3a022bd5a4" + "reference": "899fdec151add3dc339cf394a15100a1acc177ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/092ccc3b364925cd8ed6046bc31dcf3a022bd5a4", - "reference": "092ccc3b364925cd8ed6046bc31dcf3a022bd5a4", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/899fdec151add3dc339cf394a15100a1acc177ad", + "reference": "899fdec151add3dc339cf394a15100a1acc177ad", "shasum": "" }, "require": { @@ -15422,7 +15378,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.1.0" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.1.2" }, "funding": [ { @@ -15438,20 +15394,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T16:22:53+00:00" + "time": "2022-06-20T12:01:07+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v6.0.8", + "version": "v6.0.10", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "72c103c3aa0aad379bcd1c78b0ab8793496f668a" + "reference": "1a574f838dd56c5e1bdc37cc52e8798a363c2397" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/72c103c3aa0aad379bcd1c78b0ab8793496f668a", - "reference": "72c103c3aa0aad379bcd1c78b0ab8793496f668a", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/1a574f838dd56c5e1bdc37cc52e8798a363c2397", + "reference": "1a574f838dd56c5e1bdc37cc52e8798a363c2397", "shasum": "" }, "require": { @@ -15501,7 +15457,7 @@ "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.0.8" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.0.10" }, "funding": [ { @@ -15517,20 +15473,20 @@ "type": "tidelift" } ], - "time": "2022-04-22T08:18:02+00:00" + "time": "2022-06-06T19:12:54+00:00" }, { "name": "thecodingmachine/safe", - "version": "v2.2.1", + "version": "v2.2.3", "source": { "type": "git", "url": "https://github.com/thecodingmachine/safe.git", - "reference": "2a8d758fd17763faf86e4aa798193e17b9fac38c" + "reference": "e454a3142d2197694d1fda291a4462ccd3f66e12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/2a8d758fd17763faf86e4aa798193e17b9fac38c", - "reference": "2a8d758fd17763faf86e4aa798193e17b9fac38c", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/e454a3142d2197694d1fda291a4462ccd3f66e12", + "reference": "e454a3142d2197694d1fda291a4462ccd3f66e12", "shasum": "" }, "require": { @@ -15653,9 +15609,9 @@ "description": "PHP core functions that throw exceptions instead of returning FALSE on error", "support": { "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v2.2.1" + "source": "https://github.com/thecodingmachine/safe/tree/v2.2.3" }, - "time": "2022-06-09T15:36:45+00:00" + "time": "2022-08-04T14:05:49+00:00" }, { "name": "theseer/tokenizer", diff --git a/src/Classes/JsonApiData.php b/src/Classes/JsonApiData.php index afc390c7ed..60b0bd8485 100644 --- a/src/Classes/JsonApiData.php +++ b/src/Classes/JsonApiData.php @@ -4,7 +4,9 @@ namespace App\Classes; +use App\RelationshipVoter\AbstractVoter; use App\Service\EntityRepositoryLookup; +use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; class JsonApiData @@ -12,17 +14,14 @@ class JsonApiData protected array $data = []; protected array $includes = []; protected array $sideLoadCandidates = []; - protected EntityRepositoryLookup $entityRepositoryLookup; - protected NormalizerInterface $normalizer; public function __construct( - EntityRepositoryLookup $entityRepositoryLookup, - NormalizerInterface $normalizer, + protected EntityRepositoryLookup $entityRepositoryLookup, + protected NormalizerInterface $normalizer, + protected AuthorizationCheckerInterface $authorizationChecker, array $data, array $sideLoadFields ) { - $this->entityRepositoryLookup = $entityRepositoryLookup; - $this->normalizer = $normalizer; foreach ($data as $item) { $shapedItem = $this->shapeItem($item); $this->data[] = $shapedItem; @@ -157,16 +156,21 @@ protected function executeSideLoad(): void if ($newIds !== []) { $manager = $this->entityRepositoryLookup->getRepositoryForEndpoint($type); $dtos = $manager->findDTOsBy(['id' => $newIds]); - foreach ($dtos as $dto) { + $filteredDtos = array_filter( + $dtos, + fn($object) => $this->authorizationChecker->isGranted(AbstractVoter::VIEW, $object) + ); + foreach ($filteredDtos as $dto) { $data = $this->normalizer->normalize($dto, 'json-api'); $shaped = $this->shapeItem($data); $this->includes[] = $shaped; } } foreach ($ids as $id) { - $item = $this->getIncluded((string) $id, $type); - foreach ($candidates[$id] as $sideLoadFields) { - $this->extractSideLoadData($item['relationships'], $sideLoadFields); + if ($item = $this->getIncluded((string) $id, $type)) { + foreach ($candidates[$id] as $sideLoadFields) { + $this->extractSideLoadData($item['relationships'], $sideLoadFields); + } } } } diff --git a/src/Controller/IcsController.php b/src/Controller/IcsController.php index b89c988abd..2a2f0aee0d 100644 --- a/src/Controller/IcsController.php +++ b/src/Controller/IcsController.php @@ -10,8 +10,8 @@ use App\Repository\IlmSessionRepository; use App\Repository\OfferingRepository; use App\Repository\UserRepository; +use DateInterval; use DateTime; -use DateTimeImmutable; use Eluceo\iCal\Domain\ValueObject\Location; use Exception; use Eluceo\iCal\Domain\Entity\Calendar; @@ -58,7 +58,7 @@ public function getICSFeed(Request $request, $key) $calendar = new Calendar(); $calendar->setProductIdentifier('Ilios Calendar for ' . $user->getFirstAndLastName()); - //$calendar->setPublishedTTL('P1H'); + $calendar->setPublishedTTL(new DateInterval('PT1H')); $from = new DateTime(self::LOOK_BACK); $to = new DateTime(self::LOOK_FORWARD); diff --git a/src/EventListener/ClearCachedDto.php b/src/EventListener/ClearCachedDto.php index bc520268af..69f89ceb70 100644 --- a/src/EventListener/ClearCachedDto.php +++ b/src/EventListener/ClearCachedDto.php @@ -4,7 +4,7 @@ namespace App\EventListener; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use Doctrine\ORM\Event\OnFlushEventArgs; use Doctrine\ORM\PersistentCollection; use Flagception\Manager\FeatureManagerInterface; @@ -39,10 +39,10 @@ public function onFlush(OnFlushEventArgs $eventArgs) foreach ($entities as $entity) { $entityName = $entityManager->getMetadataFactory()->getMetadataFor($entity::class)->getName(); if ($action === 'create') { - $tags[] = DTOCacheTagger::getTag($entityName, false); + $tags[] = DTOCacheManager::getTag($entityName, false); } else { $id = (string) $entity; - $tags[] = DTOCacheTagger::getTag($entityName, $id); + $tags[] = DTOCacheManager::getTag($entityName, $id); } } } @@ -53,12 +53,12 @@ public function onFlush(OnFlushEventArgs $eventArgs) foreach ($col->getDeleteDiff() as $entity) { $entityName = $entityManager->getMetadataFactory()->getMetadataFor($entity::class)->getName(); $id = (string) $entity; - $tags[] = DTOCacheTagger::getTag($entityName, $id); + $tags[] = DTOCacheManager::getTag($entityName, $id); } foreach ($col->getInsertDiff() as $entity) { $entityName = $entityManager->getMetadataFactory()->getMetadataFor($entity::class)->getName(); $id = (string) $entity; - $tags[] = DTOCacheTagger::getTag($entityName, $id); + $tags[] = DTOCacheManager::getTag($entityName, $id); } } diff --git a/src/Repository/AamcMethodRepository.php b/src/Repository/AamcMethodRepository.php index c464889732..906889ed54 100644 --- a/src/Repository/AamcMethodRepository.php +++ b/src/Repository/AamcMethodRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\AamcMethod; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\AamcMethodDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -28,9 +26,7 @@ class AamcMethodRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, AamcMethod::class); } diff --git a/src/Repository/AamcPcrsRepository.php b/src/Repository/AamcPcrsRepository.php index a065dfe24e..edb0a87861 100644 --- a/src/Repository/AamcPcrsRepository.php +++ b/src/Repository/AamcPcrsRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\AamcPcrs; use App\Entity\DTO\AamcPcrsDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; class AamcPcrsRepository extends ServiceEntityRepository implements DTORepositoryInterface, @@ -26,9 +24,7 @@ class AamcPcrsRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, AamcPcrs::class); } diff --git a/src/Repository/AamcResourceTypeRepository.php b/src/Repository/AamcResourceTypeRepository.php index dea5d45816..28cef7aa43 100644 --- a/src/Repository/AamcResourceTypeRepository.php +++ b/src/Repository/AamcResourceTypeRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\AamcResourceType; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\AamcResourceTypeDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -28,9 +26,7 @@ class AamcResourceTypeRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, AamcResourceType::class); } diff --git a/src/Repository/AlertChangeTypeRepository.php b/src/Repository/AlertChangeTypeRepository.php index 820d4f8312..1f13c73aaf 100644 --- a/src/Repository/AlertChangeTypeRepository.php +++ b/src/Repository/AlertChangeTypeRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\AlertChangeType; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\AlertChangeTypeDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -28,9 +26,7 @@ class AlertChangeTypeRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, AlertChangeType::class); } diff --git a/src/Repository/AlertRepository.php b/src/Repository/AlertRepository.php index 101c4e4dda..4e60875600 100644 --- a/src/Repository/AlertRepository.php +++ b/src/Repository/AlertRepository.php @@ -5,15 +5,13 @@ namespace App\Repository; use App\Entity\Alert; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\AlertDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -23,9 +21,7 @@ class AlertRepository extends ServiceEntityRepository implements DTORepositoryIn public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Alert::class); } diff --git a/src/Repository/ApplicationConfigRepository.php b/src/Repository/ApplicationConfigRepository.php index 84a52e18fd..9c3edda983 100644 --- a/src/Repository/ApplicationConfigRepository.php +++ b/src/Repository/ApplicationConfigRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\ApplicationConfig; use App\Entity\DTO\ApplicationConfigDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; class ApplicationConfigRepository extends ServiceEntityRepository implements DTORepositoryInterface, @@ -27,9 +25,7 @@ class ApplicationConfigRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, protected bool $cacheEnabled, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, ApplicationConfig::class); } diff --git a/src/Repository/AssessmentOptionRepository.php b/src/Repository/AssessmentOptionRepository.php index 51d81b4132..8bc19a8933 100644 --- a/src/Repository/AssessmentOptionRepository.php +++ b/src/Repository/AssessmentOptionRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\AssessmentOption; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\AssessmentOptionDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -28,9 +26,7 @@ class AssessmentOptionRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, AssessmentOption::class); } diff --git a/src/Repository/AuditLogRepository.php b/src/Repository/AuditLogRepository.php index 181f0991e8..5bf2b5d50d 100644 --- a/src/Repository/AuditLogRepository.php +++ b/src/Repository/AuditLogRepository.php @@ -5,15 +5,13 @@ namespace App\Repository; use App\Entity\AuditLog; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\Persistence\ManagerRegistry; use Exception; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; class AuditLogRepository extends ServiceEntityRepository implements DTORepositoryInterface, RepositoryInterface { @@ -21,9 +19,7 @@ class AuditLogRepository extends ServiceEntityRepository implements DTORepositor public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, AuditLog::class); } diff --git a/src/Repository/AuthenticationRepository.php b/src/Repository/AuthenticationRepository.php index d4ec942f37..69ca1ab4ef 100644 --- a/src/Repository/AuthenticationRepository.php +++ b/src/Repository/AuthenticationRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\Authentication; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\NonUniqueResultException; @@ -15,8 +15,6 @@ use App\Entity\AuthenticationInterface; use App\Entity\DTO\AuthenticationDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function is_array; @@ -26,9 +24,7 @@ class AuthenticationRepository extends ServiceEntityRepository implements DTORep public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Authentication::class); } diff --git a/src/Repository/CohortRepository.php b/src/Repository/CohortRepository.php index fce8ce2809..e589132d43 100644 --- a/src/Repository/CohortRepository.php +++ b/src/Repository/CohortRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\Cohort; use App\Entity\DTO\CohortDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -24,9 +22,7 @@ class CohortRepository extends ServiceEntityRepository implements DTORepositoryI public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Cohort::class); } diff --git a/src/Repository/CompetencyRepository.php b/src/Repository/CompetencyRepository.php index de28e0a658..9ad7991484 100644 --- a/src/Repository/CompetencyRepository.php +++ b/src/Repository/CompetencyRepository.php @@ -6,7 +6,7 @@ use App\Entity\Competency; use App\Service\DefaultDataImporter; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -14,8 +14,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\CompetencyDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -30,9 +28,7 @@ class CompetencyRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Competency::class); } diff --git a/src/Repository/CourseClerkshipTypeRepository.php b/src/Repository/CourseClerkshipTypeRepository.php index a56b3ae216..9e2333ca78 100644 --- a/src/Repository/CourseClerkshipTypeRepository.php +++ b/src/Repository/CourseClerkshipTypeRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\CourseClerkshipType; use App\Entity\DTO\CourseClerkshipTypeDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -28,9 +26,7 @@ class CourseClerkshipTypeRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CourseClerkshipType::class); } diff --git a/src/Repository/CourseLearningMaterialRepository.php b/src/Repository/CourseLearningMaterialRepository.php index 5f5205fee9..84d99996e0 100644 --- a/src/Repository/CourseLearningMaterialRepository.php +++ b/src/Repository/CourseLearningMaterialRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\CourseLearningMaterial; use App\Entity\DTO\CourseLearningMaterialDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -26,9 +24,7 @@ class CourseLearningMaterialRepository extends ServiceEntityRepository implement public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CourseLearningMaterial::class); } diff --git a/src/Repository/CourseObjectiveRepository.php b/src/Repository/CourseObjectiveRepository.php index 33bcf6426f..198b569ce2 100644 --- a/src/Repository/CourseObjectiveRepository.php +++ b/src/Repository/CourseObjectiveRepository.php @@ -6,7 +6,7 @@ use App\Entity\CourseObjective; use App\Entity\DTO\CourseObjectiveDTO; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\NoResultException; @@ -14,8 +14,6 @@ use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\AbstractQuery; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -26,9 +24,7 @@ class CourseObjectiveRepository extends ServiceEntityRepository implements DTORe public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CourseObjective::class); } diff --git a/src/Repository/CourseRepository.php b/src/Repository/CourseRepository.php index 17b0f48b9c..0cb98d3d16 100644 --- a/src/Repository/CourseRepository.php +++ b/src/Repository/CourseRepository.php @@ -8,7 +8,7 @@ use App\Classes\IndexableSession; use App\Entity\Course; use App\Entity\Session; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use DateTime; use Doctrine\DBAL\DBALException; @@ -18,8 +18,6 @@ use App\Entity\DTO\CourseDTO; use Doctrine\Persistence\ManagerRegistry; use Exception; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -32,9 +30,7 @@ class CourseRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Course::class); } diff --git a/src/Repository/CurriculumInventoryAcademicLevelRepository.php b/src/Repository/CurriculumInventoryAcademicLevelRepository.php index f88fea3c6f..d54758e409 100644 --- a/src/Repository/CurriculumInventoryAcademicLevelRepository.php +++ b/src/Repository/CurriculumInventoryAcademicLevelRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\CurriculumInventoryAcademicLevel; use App\Entity\DTO\CurriculumInventoryAcademicLevelDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -26,9 +24,7 @@ class CurriculumInventoryAcademicLevelRepository extends ServiceEntityRepository public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CurriculumInventoryAcademicLevel::class); } diff --git a/src/Repository/CurriculumInventoryExportRepository.php b/src/Repository/CurriculumInventoryExportRepository.php index 8f0f220593..bdbe6fa845 100644 --- a/src/Repository/CurriculumInventoryExportRepository.php +++ b/src/Repository/CurriculumInventoryExportRepository.php @@ -6,14 +6,12 @@ use App\Entity\CurriculumInventoryExport; use App\Entity\DTO\CurriculumInventoryExportDTO; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Persistence\ManagerRegistry; use Doctrine\ORM\AbstractQuery; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -25,9 +23,7 @@ class CurriculumInventoryExportRepository extends ServiceEntityRepository implem public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CurriculumInventoryExport::class); } diff --git a/src/Repository/CurriculumInventoryInstitutionRepository.php b/src/Repository/CurriculumInventoryInstitutionRepository.php index 70e4693db3..3fb1ceb7e5 100644 --- a/src/Repository/CurriculumInventoryInstitutionRepository.php +++ b/src/Repository/CurriculumInventoryInstitutionRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Service\DefaultDataImporter; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -14,8 +14,6 @@ use App\Entity\CurriculumInventoryInstitution; use App\Entity\DTO\CurriculumInventoryInstitutionDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -29,9 +27,7 @@ class CurriculumInventoryInstitutionRepository extends ServiceEntityRepository i public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CurriculumInventoryInstitution::class); } diff --git a/src/Repository/CurriculumInventoryReportRepository.php b/src/Repository/CurriculumInventoryReportRepository.php index 1dc7d9b746..01840cf8d0 100644 --- a/src/Repository/CurriculumInventoryReportRepository.php +++ b/src/Repository/CurriculumInventoryReportRepository.php @@ -9,7 +9,7 @@ use App\Entity\ProgramYearObjective; use App\Entity\Session; use App\Entity\SessionObjective; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\Query; @@ -18,8 +18,6 @@ use App\Entity\DTO\CurriculumInventoryReportDTO; use Doctrine\Persistence\ManagerRegistry; use App\Entity\CurriculumInventoryReportInterface; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -32,9 +30,7 @@ class CurriculumInventoryReportRepository extends ServiceEntityRepository implem public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CurriculumInventoryReport::class); } diff --git a/src/Repository/CurriculumInventorySequenceBlockRepository.php b/src/Repository/CurriculumInventorySequenceBlockRepository.php index 0acbb09ddf..fd02613cc2 100644 --- a/src/Repository/CurriculumInventorySequenceBlockRepository.php +++ b/src/Repository/CurriculumInventorySequenceBlockRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\CurriculumInventorySequenceBlock; use App\Entity\DTO\CurriculumInventorySequenceBlockDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -26,9 +24,7 @@ class CurriculumInventorySequenceBlockRepository extends ServiceEntityRepository public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CurriculumInventorySequenceBlock::class); } diff --git a/src/Repository/CurriculumInventorySequenceRepository.php b/src/Repository/CurriculumInventorySequenceRepository.php index cb3d4dab1b..a20717d7d6 100644 --- a/src/Repository/CurriculumInventorySequenceRepository.php +++ b/src/Repository/CurriculumInventorySequenceRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\CurriculumInventorySequence; use App\Entity\DTO\CurriculumInventorySequenceDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -25,9 +23,7 @@ class CurriculumInventorySequenceRepository extends ServiceEntityRepository impl public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, CurriculumInventorySequence::class); } diff --git a/src/Repository/IlmSessionRepository.php b/src/Repository/IlmSessionRepository.php index a51ddb0a0e..5306460d84 100644 --- a/src/Repository/IlmSessionRepository.php +++ b/src/Repository/IlmSessionRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\IlmSession; use App\Entity\DTO\IlmSessionDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -24,9 +22,7 @@ class IlmSessionRepository extends ServiceEntityRepository implements DTOReposit public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, IlmSession::class); } diff --git a/src/Repository/IngestionExceptionRepository.php b/src/Repository/IngestionExceptionRepository.php index 5d4bebc006..8afc9cebdd 100644 --- a/src/Repository/IngestionExceptionRepository.php +++ b/src/Repository/IngestionExceptionRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\IngestionException; use App\Entity\DTO\IngestionExceptionDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -25,9 +23,7 @@ class IngestionExceptionRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, IngestionException::class); } diff --git a/src/Repository/InstructorGroupRepository.php b/src/Repository/InstructorGroupRepository.php index eda283c36c..232458f20f 100644 --- a/src/Repository/InstructorGroupRepository.php +++ b/src/Repository/InstructorGroupRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\InstructorGroup; use App\Entity\DTO\InstructorGroupDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -24,9 +22,7 @@ class InstructorGroupRepository extends ServiceEntityRepository implements DTORe public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, InstructorGroup::class); } diff --git a/src/Repository/LearnerGroupRepository.php b/src/Repository/LearnerGroupRepository.php index 3d663e3ab3..80c864ebfb 100644 --- a/src/Repository/LearnerGroupRepository.php +++ b/src/Repository/LearnerGroupRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\LearnerGroup; use App\Entity\DTO\LearnerGroupDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -24,9 +22,7 @@ class LearnerGroupRepository extends ServiceEntityRepository implements DTORepos public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, LearnerGroup::class); } diff --git a/src/Repository/LearningMaterialRepository.php b/src/Repository/LearningMaterialRepository.php index 5335969eca..9332127d73 100644 --- a/src/Repository/LearningMaterialRepository.php +++ b/src/Repository/LearningMaterialRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\LearningMaterial; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\ORM\AbstractQuery; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\DTO\LearningMaterialDTO; use Doctrine\Persistence\ManagerRegistry; use App\Entity\LearningMaterialInterface; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -25,9 +23,7 @@ class LearningMaterialRepository extends ServiceEntityRepository implements DTOR public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, LearningMaterial::class); } diff --git a/src/Repository/LearningMaterialStatusRepository.php b/src/Repository/LearningMaterialStatusRepository.php index d520a9e710..c934ee5068 100644 --- a/src/Repository/LearningMaterialStatusRepository.php +++ b/src/Repository/LearningMaterialStatusRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\LearningMaterialStatus; use App\Entity\DTO\LearningMaterialStatusDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; class LearningMaterialStatusRepository extends ServiceEntityRepository implements DTORepositoryInterface, @@ -26,9 +24,7 @@ class LearningMaterialStatusRepository extends ServiceEntityRepository implement public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, LearningMaterialStatus::class); } diff --git a/src/Repository/LearningMaterialUserRoleRepository.php b/src/Repository/LearningMaterialUserRoleRepository.php index 4a0ffda3d9..ffbff8ffe2 100644 --- a/src/Repository/LearningMaterialUserRoleRepository.php +++ b/src/Repository/LearningMaterialUserRoleRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\LearningMaterialUserRole; use App\Entity\DTO\LearningMaterialUserRoleDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; class LearningMaterialUserRoleRepository extends ServiceEntityRepository implements DTORepositoryInterface, @@ -26,9 +24,7 @@ class LearningMaterialUserRoleRepository extends ServiceEntityRepository impleme public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, LearningMaterialUserRole::class); } diff --git a/src/Repository/MeshConceptRepository.php b/src/Repository/MeshConceptRepository.php index df6dadad4c..f0195b5f19 100644 --- a/src/Repository/MeshConceptRepository.php +++ b/src/Repository/MeshConceptRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\MeshConcept; use App\Entity\DTO\MeshConceptDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -23,9 +21,7 @@ class MeshConceptRepository extends ServiceEntityRepository implements DTOReposi public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, MeshConcept::class); } diff --git a/src/Repository/MeshDescriptorRepository.php b/src/Repository/MeshDescriptorRepository.php index 22005a817f..d5401e7fd1 100644 --- a/src/Repository/MeshDescriptorRepository.php +++ b/src/Repository/MeshDescriptorRepository.php @@ -10,7 +10,7 @@ use App\Entity\MeshQualifier; use App\Entity\MeshTerm; use App\Entity\MeshTree; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Service\MeshDescriptorSetTransmogrifier; use App\Traits\ManagerRepository; use DateTime; @@ -27,8 +27,6 @@ use Ilios\MeSH\Model\DescriptorSet; use Ilios\MeSH\Model\Term; use PDO; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -42,9 +40,7 @@ class MeshDescriptorRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, protected MeshDescriptorSetTransmogrifier $transmogrifier, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, MeshDescriptor::class); } diff --git a/src/Repository/MeshPreviousIndexingRepository.php b/src/Repository/MeshPreviousIndexingRepository.php index c9d941fdc7..6b34374c94 100644 --- a/src/Repository/MeshPreviousIndexingRepository.php +++ b/src/Repository/MeshPreviousIndexingRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\MeshPreviousIndexing; use App\Entity\DTO\MeshPreviousIndexingDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_key_exists; @@ -27,9 +25,7 @@ class MeshPreviousIndexingRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, MeshPreviousIndexing::class); } diff --git a/src/Repository/MeshQualifierRepository.php b/src/Repository/MeshQualifierRepository.php index 0af41a9fee..a59fe7ac24 100644 --- a/src/Repository/MeshQualifierRepository.php +++ b/src/Repository/MeshQualifierRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\MeshQualifier; use App\Entity\DTO\MeshQualifierDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -23,9 +21,7 @@ class MeshQualifierRepository extends ServiceEntityRepository implements DTORepo public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, MeshQualifier::class); } diff --git a/src/Repository/MeshTermRepository.php b/src/Repository/MeshTermRepository.php index 51a158f873..442d7a3821 100644 --- a/src/Repository/MeshTermRepository.php +++ b/src/Repository/MeshTermRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\MeshTerm; use App\Entity\DTO\MeshTermDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; @@ -23,9 +21,7 @@ class MeshTermRepository extends ServiceEntityRepository implements DTORepositor public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, MeshTerm::class); } diff --git a/src/Repository/MeshTreeRepository.php b/src/Repository/MeshTreeRepository.php index 5937527584..291492612a 100644 --- a/src/Repository/MeshTreeRepository.php +++ b/src/Repository/MeshTreeRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\MeshTree; use App\Entity\DTO\MeshTreeDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -23,9 +21,7 @@ class MeshTreeRepository extends ServiceEntityRepository implements DTORepositor public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, MeshTree::class); } diff --git a/src/Repository/OfferingRepository.php b/src/Repository/OfferingRepository.php index 2bf9d51083..a5a7813e71 100644 --- a/src/Repository/OfferingRepository.php +++ b/src/Repository/OfferingRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\Offering; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use DateTime; use DateTimeZone; @@ -14,8 +14,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\OfferingDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -29,9 +27,7 @@ class OfferingRepository extends ServiceEntityRepository implements DTORepositor public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Offering::class); } diff --git a/src/Repository/PendingUserUpdateRepository.php b/src/Repository/PendingUserUpdateRepository.php index d77b1fbc25..e80e4ddedd 100644 --- a/src/Repository/PendingUserUpdateRepository.php +++ b/src/Repository/PendingUserUpdateRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\PendingUserUpdate; use App\Entity\DTO\PendingUserUpdateDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -23,9 +21,7 @@ class PendingUserUpdateRepository extends ServiceEntityRepository implements DTO public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, PendingUserUpdate::class); } diff --git a/src/Repository/ProgramRepository.php b/src/Repository/ProgramRepository.php index 926d57644e..cb0b5836e9 100644 --- a/src/Repository/ProgramRepository.php +++ b/src/Repository/ProgramRepository.php @@ -5,15 +5,13 @@ namespace App\Repository; use App\Entity\Program; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\ProgramDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -26,9 +24,7 @@ class ProgramRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Program::class); } diff --git a/src/Repository/ProgramYearObjectiveRepository.php b/src/Repository/ProgramYearObjectiveRepository.php index 1369736770..f421717b29 100644 --- a/src/Repository/ProgramYearObjectiveRepository.php +++ b/src/Repository/ProgramYearObjectiveRepository.php @@ -6,7 +6,7 @@ use App\Entity\ProgramYearObjective; use App\Entity\DTO\ProgramYearObjectiveDTO; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\NoResultException; @@ -14,8 +14,6 @@ use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\AbstractQuery; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -28,9 +26,7 @@ class ProgramYearObjectiveRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, ProgramYearObjective::class); } diff --git a/src/Repository/ProgramYearRepository.php b/src/Repository/ProgramYearRepository.php index 197e353dd3..b5c7833b53 100644 --- a/src/Repository/ProgramYearRepository.php +++ b/src/Repository/ProgramYearRepository.php @@ -5,15 +5,13 @@ namespace App\Repository; use App\Entity\ProgramYear; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\ORM\AbstractQuery; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use App\Entity\DTO\ProgramYearDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -26,9 +24,7 @@ class ProgramYearRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, ProgramYear::class); } diff --git a/src/Repository/ReportRepository.php b/src/Repository/ReportRepository.php index df2ceec9d6..c17187e557 100644 --- a/src/Repository/ReportRepository.php +++ b/src/Repository/ReportRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\Report; use App\Entity\DTO\ReportDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; @@ -23,9 +21,7 @@ class ReportRepository extends ServiceEntityRepository implements DTORepositoryI public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Report::class); } diff --git a/src/Repository/SchoolConfigRepository.php b/src/Repository/SchoolConfigRepository.php index ce2f6128d9..b81f1de092 100644 --- a/src/Repository/SchoolConfigRepository.php +++ b/src/Repository/SchoolConfigRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\NoResultException; @@ -13,8 +13,6 @@ use App\Entity\SchoolConfig; use App\Entity\DTO\SchoolConfigDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -25,9 +23,7 @@ class SchoolConfigRepository extends ServiceEntityRepository implements DTORepos public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, SchoolConfig::class); } diff --git a/src/Repository/SchoolRepository.php b/src/Repository/SchoolRepository.php index 3b2ae25c5b..ba09e41664 100644 --- a/src/Repository/SchoolRepository.php +++ b/src/Repository/SchoolRepository.php @@ -6,7 +6,7 @@ use App\Entity\School; use App\Entity\Session; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use DateTime; @@ -20,8 +20,6 @@ use Doctrine\Persistence\ManagerRegistry; use App\Service\UserMaterialFactory; use App\Traits\CalendarEventRepository; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -38,9 +36,7 @@ class SchoolRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, protected UserMaterialFactory $userMaterialFactory, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, School::class); } diff --git a/src/Repository/SessionLearningMaterialRepository.php b/src/Repository/SessionLearningMaterialRepository.php index 495a3acf68..0343f0fc1f 100644 --- a/src/Repository/SessionLearningMaterialRepository.php +++ b/src/Repository/SessionLearningMaterialRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; @@ -12,8 +12,6 @@ use App\Entity\SessionLearningMaterial; use App\Entity\DTO\SessionLearningMaterialDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -26,9 +24,7 @@ class SessionLearningMaterialRepository extends ServiceEntityRepository implemen public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, SessionLearningMaterial::class); } diff --git a/src/Repository/SessionObjectiveRepository.php b/src/Repository/SessionObjectiveRepository.php index 8657be4cac..85c8646f07 100644 --- a/src/Repository/SessionObjectiveRepository.php +++ b/src/Repository/SessionObjectiveRepository.php @@ -6,7 +6,7 @@ use App\Entity\SessionObjective; use App\Entity\DTO\SessionObjectiveDTO; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\NoResultException; @@ -14,8 +14,6 @@ use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\AbstractQuery; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -26,9 +24,7 @@ class SessionObjectiveRepository extends ServiceEntityRepository implements DTOR public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, SessionObjective::class); } diff --git a/src/Repository/SessionRepository.php b/src/Repository/SessionRepository.php index efad67db30..b3ccb4f98b 100644 --- a/src/Repository/SessionRepository.php +++ b/src/Repository/SessionRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Entity\Session; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use DateTime; use Doctrine\ORM\AbstractQuery; @@ -15,8 +15,6 @@ use Doctrine\ORM\QueryBuilder; use App\Entity\DTO\SessionDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -29,9 +27,7 @@ class SessionRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Session::class); } diff --git a/src/Repository/SessionTypeRepository.php b/src/Repository/SessionTypeRepository.php index ab0ad8f0e1..8fc9b25dea 100644 --- a/src/Repository/SessionTypeRepository.php +++ b/src/Repository/SessionTypeRepository.php @@ -6,7 +6,7 @@ use App\Entity\SessionType; use App\Service\DefaultDataImporter; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -14,8 +14,6 @@ use Doctrine\ORM\AbstractQuery; use App\Entity\DTO\SessionTypeDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -30,9 +28,7 @@ class SessionTypeRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, SessionType::class); } diff --git a/src/Repository/TermRepository.php b/src/Repository/TermRepository.php index b4679d8645..6e07878fcc 100644 --- a/src/Repository/TermRepository.php +++ b/src/Repository/TermRepository.php @@ -6,7 +6,7 @@ use App\Entity\Term; use App\Service\DefaultDataImporter; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\ORM\AbstractQuery; @@ -15,8 +15,6 @@ use App\Entity\DTO\TermDTO; use Doctrine\Persistence\ManagerRegistry; use App\Entity\TermInterface; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -31,9 +29,7 @@ class TermRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Term::class); } diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php index bc3905ca64..39842169d7 100644 --- a/src/Repository/UserRepository.php +++ b/src/Repository/UserRepository.php @@ -7,7 +7,7 @@ use App\Entity\Session; use App\Entity\UserRole; use App\Entity\UserRoleInterface; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ManagerRepository; use DateTime; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -24,8 +24,6 @@ use App\Service\UserMaterialFactory; use App\Traits\CalendarEventRepository; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_keys; use function array_values; @@ -38,9 +36,7 @@ class UserRepository extends ServiceEntityRepository implements DTORepositoryInt public function __construct( ManagerRegistry $registry, protected UserMaterialFactory $factory, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, User::class); } diff --git a/src/Repository/UserRoleRepository.php b/src/Repository/UserRoleRepository.php index fa1f2e83a9..cc1ce644b6 100644 --- a/src/Repository/UserRoleRepository.php +++ b/src/Repository/UserRoleRepository.php @@ -4,7 +4,7 @@ namespace App\Repository; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -13,8 +13,6 @@ use App\Entity\UserRole; use App\Entity\DTO\UserRoleDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; class UserRoleRepository extends ServiceEntityRepository implements DTORepositoryInterface, @@ -26,9 +24,7 @@ class UserRoleRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, UserRole::class); } diff --git a/src/Repository/VocabularyRepository.php b/src/Repository/VocabularyRepository.php index c86462eb54..481a4183bc 100644 --- a/src/Repository/VocabularyRepository.php +++ b/src/Repository/VocabularyRepository.php @@ -5,7 +5,7 @@ namespace App\Repository; use App\Service\DefaultDataImporter; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use App\Traits\ImportableEntityRepository; use App\Traits\ManagerRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; @@ -14,8 +14,6 @@ use App\Entity\Vocabulary; use App\Entity\DTO\VocabularyDTO; use Doctrine\Persistence\ManagerRegistry; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use function array_values; use function array_keys; @@ -30,9 +28,7 @@ class VocabularyRepository extends ServiceEntityRepository implements public function __construct( ManagerRegistry $registry, - protected CacheInterface $cache, - protected DTOCacheTagger $cacheTagger, - protected FeatureManagerInterface $featureManager, + protected DTOCacheManager $cacheManager, ) { parent::__construct($registry, Vocabulary::class); } diff --git a/src/Service/DTOCacheManager.php b/src/Service/DTOCacheManager.php new file mode 100644 index 0000000000..da48274465 --- /dev/null +++ b/src/Service/DTOCacheManager.php @@ -0,0 +1,139 @@ +featureManager->isActive('dto_caching'); + } + + /** + * Cache and tag a set of DTOs + */ + public function cacheDtos(string $name, array $dtos, string $idField): void + { + $tagger = $this; + foreach ($dtos as $dto) { + $this->cacheContract->get( + $this->getDtoCacheKey($name, $dto->$idField), + function (ItemInterface $item) use ($dto, $tagger) { + $tagger->tag($item, $dto); + return $dto; + } + ); + } + } + + /** + * Get DTOs from the cache + */ + public function getCachedDtos(string $name, array $ids): array + { + $cacheIds = array_map(fn(mixed $id) => $this->getDtoCacheKey($name, $id), $ids); + $items = $this->psr6Cache->getItems($cacheIds); + $rhett = []; + /** @var CacheItemInterface $item */ + foreach ($items as $item) { + if ($item->isHit()) { + $rhett[] = $item->get(); + } + } + return $rhett; + } + + + /** + * Tag a cache item with all the relationships and data for a DTO + */ + protected function tag(ItemInterface $item, object $dto): void + { + $tags = $this->getTagsForDto($dto); + $item->tag($tags); + $item->expiresAfter(DateInterval::createFromDateString('1 day')); + } + + /** + * Parse out the parts of a DTO + * Then, for each relationship, add a tag to the cache + */ + protected function getTagsForDto(object $dto): array + { + $tags = []; + $reflection = new ReflectionClass($dto); + $type = $this->entityMetadata->extractType($reflection); + $entity = $this->entityMetadata->getEntityForType($type); + $idProperty = $this->entityMetadata->extractId($reflection); + $tags[] = self::getTag($entity, $dto->$idProperty); + $tags[] = self::getTag($entity, false); + + $related = $this->entityMetadata->extractRelated($reflection); + foreach ($related as $name => $type) { + $entity = $this->entityMetadata->getEntityForType($type); + if (is_array($dto->$name)) { + foreach ($dto->$name as $id) { + $tags[] = self::getTag($entity, $id); + } + } elseif ($dto->$name) { + $tags[] = self::getTag($entity, $dto->$name); + } + } + return $tags; + } + + /** + * Get the tag for an entity/id combo. + * We do this here because we can't actually store the FQN for the entity + * because slash isn't an allowed character. + * When no id is sent we create a tag with just the entity name which is used + * when a new value is created to invalidate anything that touched the original. + */ + public static function getTag(string $entity, int|string|false $id): string + { + // backslashes aren't allowed in tags, remove them from our name + $name = str_replace('\\', '', $entity); + return $name . ($id ? "-${id}" : ''); + } + + /** + * Construct a consistent cache key for a DTO which doesn't contain reserved characters. + */ + protected function getDtoCacheKey(string $name, mixed $id): string + { + // backslashes aren't allowed in keys, remove them from our name + $name = str_replace('\\', '', $name); + return $name . self::CACHE_KEY_SEPARATOR . $id; + } + + /** + * Extract the ID from a cache key for a DTO + */ + protected function getDtoIdFromCacheKey(string $key): string + { + $arr = explode(self::CACHE_KEY_SEPARATOR, $key); + return $arr[1]; + } +} diff --git a/src/Service/DTOCacheTagger.php b/src/Service/DTOCacheTagger.php deleted file mode 100644 index 157827ca4f..0000000000 --- a/src/Service/DTOCacheTagger.php +++ /dev/null @@ -1,68 +0,0 @@ -getTagsForDto($dto); - $item->tag($tags); - $item->expiresAfter(DateInterval::createFromDateString('1 day')); - } - - /** - * Parse out the parts of a DTO - * Then, for each relationship, add a tag to the cache - */ - protected function getTagsForDto(object $dto): array - { - $tags = []; - $reflection = new ReflectionClassAlias($dto); - $type = $this->entityMetadata->extractType($reflection); - $entity = $this->entityMetadata->getEntityForType($type); - $idProperty = $this->entityMetadata->extractId($reflection); - $tags[] = self::getTag($entity, $dto->$idProperty); - $tags[] = self::getTag($entity, false); - - $related = $this->entityMetadata->extractRelated($reflection); - foreach ($related as $name => $type) { - $entity = $this->entityMetadata->getEntityForType($type); - if (is_array($dto->$name)) { - foreach ($dto->$name as $id) { - $tags[] = self::getTag($entity, $id); - } - } elseif ($dto->$name) { - $tags[] = self::getTag($entity, $dto->$name); - } - } - return $tags; - } - - /** - * Get the tag for an entity/id combo. - * We do this here because we can't actually store the FQN for the entity - * because slash isn't an allowed character. - * When no id is sent we create a tag with just the entity name which is used - * when a new value is created to invalidate anything that touched the original. - */ - public static function getTag(string $entity, int|string|false $id): string - { - // backslashes aren't allowed in tags, remove them from our name - $name = str_replace('\\', '', $entity); - return $name . ($id ? "-${id}" : ''); - } -} diff --git a/src/Service/DynamicCacheFactory.php b/src/Service/DynamicCacheFactory.php index e767707a51..d8e6f4de90 100644 --- a/src/Service/DynamicCacheFactory.php +++ b/src/Service/DynamicCacheFactory.php @@ -4,8 +4,6 @@ namespace App\Service; -use Symfony\Component\Cache\Adapter\ArrayAdapter; -use Symfony\Component\Cache\Adapter\ChainAdapter; use Symfony\Component\Cache\Adapter\FilesystemTagAwareAdapter; use Symfony\Component\Cache\Adapter\NullAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; diff --git a/src/Service/JsonApiDataShaper.php b/src/Service/JsonApiDataShaper.php index fe5cbe7b91..d54df5264d 100644 --- a/src/Service/JsonApiDataShaper.php +++ b/src/Service/JsonApiDataShaper.php @@ -5,14 +5,17 @@ namespace App\Service; use App\Classes\JsonApiData; +use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; use Symfony\Component\Serializer\Normalizer\NormalizerAwareTrait; class JsonApiDataShaper { use NormalizerAwareTrait; - public function __construct(protected EntityRepositoryLookup $entityRepositoryLookup) - { + public function __construct( + protected EntityRepositoryLookup $entityRepositoryLookup, + protected AuthorizationCheckerInterface $authorizationChecker, + ) { } public function shapeData(array $data, array $sideLoadFields): array @@ -20,6 +23,7 @@ public function shapeData(array $data, array $sideLoadFields): array $jsonApiData = new JsonApiData( $this->entityRepositoryLookup, $this->normalizer, + $this->authorizationChecker, $data, $sideLoadFields ); diff --git a/src/Traits/ManagerRepository.php b/src/Traits/ManagerRepository.php index b37e189f89..ad112c63a1 100644 --- a/src/Traits/ManagerRepository.php +++ b/src/Traits/ManagerRepository.php @@ -4,15 +4,13 @@ namespace App\Traits; -use App\Service\DTOCacheTagger; +use App\Service\DTOCacheManager; use Doctrine\DBAL\Connection; use Doctrine\ORM\AbstractQuery; use Doctrine\ORM\EntityManager; use Doctrine\ORM\Id\AssignedGenerator; use Doctrine\ORM\QueryBuilder; use Exception; -use Flagception\Manager\FeatureManagerInterface; -use Symfony\Contracts\Cache\CacheInterface; use Symfony\Contracts\Cache\ItemInterface; /** @@ -64,30 +62,22 @@ public function findDTOBy(array $criteria): ?object public function findDTOsBy(array $criteria, array $orderBy = null, $limit = null, $offset = null): array { $ids = $this->findIdsBy($criteria, $orderBy, $limit, $offset); - $cachedDtos = $this->getCachedDTOs($ids); + $cacheManager = $this->getCacheManager(); $idField = $this->getIdField(); - $cachedIds = array_column($cachedDtos, $idField); - - $missedDtos = []; - $missedIds = array_diff($ids, $cachedIds); - if (count($missedIds)) { - $hydratedDtos = $this->hydrateDTOsFromIds($missedIds); - if ($this->getFeatureManager()->isActive('dto_caching')) { - $tagger = $this->getCacheTagger(); - $missedDtos = array_map(fn($dto) => $this->getCache()->get( - $this->getDtoCacheKey($dto->$idField), - function (ItemInterface $item) use ($dto, $tagger) { - $tagger->tag($item, $dto); - return $dto; - } - ), $hydratedDtos); - } else { - $missedDtos = $hydratedDtos; + if ($cacheManager->isEnabled()) { + $cachedDtos = $cacheManager->getCachedDtos(self::class, $ids); + $cachedIds = array_column($cachedDtos, $idField); + $missedDtos = []; + $missedIds = array_diff($ids, $cachedIds); + if (count($missedIds)) { + $missedDtos = $this->hydrateDTOsFromIds($missedIds); + $cacheManager->cacheDtos(self::class, $missedDtos, $idField); } + $dtos = array_values([...$cachedDtos, ...$missedDtos]); + } else { + $dtos = $this->hydrateDTOsFromIds($ids); } - $dtos = array_values([...$cachedDtos, ...$missedDtos]); - // Lots of work here to re-order the results in the same way as originally requested $dtosById = []; foreach ($dtos as $dto) { @@ -133,40 +123,6 @@ protected function doFindIdsBy(array $criteria, array $orderBy = null, $limit = return $qb->getQuery()->getResult(AbstractQuery::HYDRATE_SCALAR_COLUMN); } - /** - * Construct a consistent cache key for a DTO which doesn't contain reserved characters. - */ - protected function getDtoCacheKey(mixed $id): string - { - // backslashes aren't allowed in keys, remove them from our name - $name = str_replace('\\', '', self::class); - return $name . 'xxDTOxx' . $id; - } - - /** - * Look into the cache and find any DTOs we already have - * But don't persist anything to the cache here, we'll do that after - * fetching missing items. - */ - protected function getCachedDTOs(array $ids): array - { - if (!$this->getFeatureManager()->isActive('dto_caching')) { - return []; - } - $dtosOrMisses = array_map( - fn(mixed $id) => $this->getCache()->get( - $this->getDtoCacheKey($id), - function (ItemInterface $item, bool &$save) { - $save = false; - return false; - } - ), - $ids - ); - - return array_filter($dtosOrMisses); - } - public function update($entity, $andFlush = true, $forceId = false): void { $this->getEntityManager()->persist($entity); @@ -345,30 +301,12 @@ abstract protected function attachCriteriaToQueryBuilder( ?int $offset ): void; - protected function getCache(): CacheInterface - { - if (!isset($this->cache)) { - throw new Exception("The 'cache' property is missing from " . self::class); - } - - return $this->cache; - } - - protected function getCacheTagger(): DTOCacheTagger - { - if (!isset($this->cacheTagger)) { - throw new Exception("The 'cacheTagger' property is missing from " . self::class); - } - - return $this->cacheTagger; - } - - protected function getFeatureManager(): FeatureManagerInterface + protected function getCacheManager(): DTOCacheManager { - if (!isset($this->featureManager)) { - throw new Exception("The 'featureManager' property is missing from " . self::class); + if (!isset($this->cacheManager)) { + throw new Exception("The 'cacheManager' property is missing from " . self::class); } - return $this->featureManager; + return $this->cacheManager; } } diff --git a/tests/Controller/IcsControllerTest.php b/tests/Controller/IcsControllerTest.php index 5b2399ea16..224c6a25b0 100644 --- a/tests/Controller/IcsControllerTest.php +++ b/tests/Controller/IcsControllerTest.php @@ -324,4 +324,29 @@ public function testLinkedSessionWithDueDatesNotShown2635() ); $this->assertFalse(strpos($content, $skipTitle), 'Prerequisite Session Not Included'); } + + public function testPublishedTTL(): void + { + $container = $this->kernelBrowser->getContainer(); + $session = $container->get(SessionData::class)->getOne(); + $this->makeJsonRequest( + $this->kernelBrowser, + 'PUT', + $this->getUrl( + $this->kernelBrowser, + 'app_api_sessions_put', + ['version' => $this->apiVersion, 'id' => $session['id']] + ), + json_encode(['session' => $session]), + $this->getTokenForUser($this->kernelBrowser, 2) + ); + $response = $this->kernelBrowser->getResponse(); + $this->assertJsonResponse($response, Response::HTTP_OK); + + $url = '/ics/' . hash('sha256', '1'); + $this->kernelBrowser->request('GET', $url); + $response = $this->kernelBrowser->getResponse(); + $content = $response->getContent(); + $this->assertStringContainsString('X-PUBLISHED-TTL:PT1H', $content); + } } diff --git a/tests/Endpoints/CourseTest.php b/tests/Endpoints/CourseTest.php index d6b3a87615..d680b79e56 100644 --- a/tests/Endpoints/CourseTest.php +++ b/tests/Endpoints/CourseTest.php @@ -740,4 +740,37 @@ public function testIncludeSessionDetails() $this->assertIsArray($includes['instructorGroups']); $this->assertEquals(['1', '2'], $includes['instructorGroups']); } + + public function testIncludedDataNotLoadedForUnprivilegedUsers() + { + $url = $this->getUrl( + $this->kernelBrowser, + "app_api_courses_getone", + [ + 'version' => $this->apiVersion, + 'id' => 1, + 'include' => 'sessions.administrators' + ] + ); + $this->createJsonApiRequest( + 'GET', + $url, + null, + $this->getTokenForUser($this->kernelBrowser, 5) + ); + + $response = $this->kernelBrowser->getResponse(); + + if (Response::HTTP_NOT_FOUND === $response->getStatusCode()) { + $this->fail("Unable to load url: {$url}"); + } + + $this->assertJsonApiResponse($response, Response::HTTP_OK); + $content = json_decode($response->getContent()); + $this->assertObjectHasAttribute('included', $content); + + $types = array_column($content->included, 'type'); + $this->assertCount(2, $content->included); + $this->assertNotContains('users', $types); + } } diff --git a/tests/Repository/AamcMethodRepositoryTest.php b/tests/Repository/AamcMethodRepositoryTest.php index fa2bfbdf8d..8d19202b03 100644 --- a/tests/Repository/AamcMethodRepositoryTest.php +++ b/tests/Repository/AamcMethodRepositoryTest.php @@ -9,7 +9,6 @@ use App\Repository\AamcMethodRepository; use App\Tests\Fixture\LoadAamcMethodData; use Doctrine\Common\DataFixtures\ReferenceRepository; -use Flagception\Manager\FeatureManagerInterface; use Liip\TestFixturesBundle\Services\DatabaseToolCollection; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Component\HttpKernel\KernelInterface;