diff --git a/app/api/composer.lock b/app/api/composer.lock index 8eb492ba04..b1c58992c8 100644 --- a/app/api/composer.lock +++ b/app/api/composer.lock @@ -32,14 +32,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], + "license": ["Apache-2.0"], "authors": [ { "name": "AWS SDK Common Runtime Team", @@ -48,12 +44,7 @@ ], "description": "AWS Common Runtime for PHP", "homepage": "https://github.com/awslabs/aws-crt-php", - "keywords": [ - "amazon", - "aws", - "crt", - "sdk" - ], + "keywords": ["amazon", "aws", "crt", "sdk"], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.5" @@ -119,17 +110,13 @@ } }, "autoload": { - "files": [ - "src/functions.php" - ], + "files": ["src/functions.php"], "psr-4": { "Aws\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], + "license": ["Apache-2.0"], "authors": [ { "name": "Amazon Web Services", @@ -193,9 +180,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Benjamin Eberlei", @@ -207,11 +192,7 @@ } ], "description": "A set of extensions to Doctrine 2 that add support for additional query functions available in MySQL, Oracle, PostgreSQL and SQLite.", - "keywords": [ - "database", - "doctrine", - "orm" - ], + "keywords": ["database", "doctrine", "orm"], "support": { "source": "https://github.com/beberlei/DoctrineExtensions/tree/v1.5.0" }, @@ -251,15 +232,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Artistic-1.0" - ], + "license": ["Artistic-1.0"], "description": "String transliterator", - "keywords": [ - "i18n", - "slug", - "transliterator" - ], + "keywords": ["i18n", "slug", "transliterator"], "support": { "issues": "https://github.com/Behat/Transliterator/issues", "source": "https://github.com/Behat/Transliterator/tree/v1.5.0" @@ -296,13 +271,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()", - "keywords": [ - "var_export" - ], + "keywords": ["var_export"], "support": { "issues": "https://github.com/brick/varexporter/issues", "source": "https://github.com/brick/varexporter/tree/0.4.0" @@ -353,9 +324,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Casey McLaughlin", @@ -425,9 +394,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -452,11 +419,7 @@ ], "description": "Docblock Annotations Parser", "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], + "keywords": ["annotations", "docblock", "parser"], "support": { "issues": "https://github.com/doctrine/annotations/issues", "source": "https://github.com/doctrine/annotations/tree/1.14.3" @@ -504,9 +467,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -593,9 +554,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -620,12 +579,7 @@ ], "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", "homepage": "https://www.doctrine-project.org/projects/collections.html", - "keywords": [ - "array", - "collections", - "iterators", - "php" - ], + "keywords": ["array", "collections", "iterators", "php"], "support": { "issues": "https://github.com/doctrine/collections/issues", "source": "https://github.com/doctrine/collections/tree/1.8.0" @@ -667,9 +621,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -698,11 +650,7 @@ ], "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.", "homepage": "https://www.doctrine-project.org/projects/common.html", - "keywords": [ - "common", - "doctrine", - "php" - ], + "keywords": ["common", "doctrine", "php"], "support": { "issues": "https://github.com/doctrine/common/issues", "source": "https://github.com/doctrine/common/tree/3.4.4" @@ -763,9 +711,7 @@ "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." }, - "bin": [ - "bin/doctrine-dbal" - ], + "bin": ["bin/doctrine-dbal"], "type": "library", "autoload": { "psr-4": { @@ -773,9 +719,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -872,9 +816,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { @@ -919,15 +861,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Doctrine hydrators for Laminas applications", - "keywords": [ - "doctrine", - "hydrator", - "laminas" - ], + "keywords": ["doctrine", "hydrator", "laminas"], "support": { "issues": "https://github.com/doctrine/doctrine-laminas-hydrator/issues", "rss": "https://github.com/doctrine/doctrine-laminas-hydrator/releases.atom", @@ -1011,9 +947,7 @@ "suggest": { "doctrine/data-fixtures": "Data Fixtures if you want to generate test data or bootstrap data for your deployments" }, - "bin": [ - "bin/doctrine-module" - ], + "bin": ["bin/doctrine-module"], "type": "library", "extra": { "laminas": { @@ -1027,9 +961,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kyle Spraggs", @@ -1058,11 +990,7 @@ ], "description": "Laminas Module that provides Doctrine basic functionality required for ORM and ODM modules", "homepage": "http://www.doctrine-project.org/", - "keywords": [ - "doctrine", - "laminas", - "module" - ], + "keywords": ["doctrine", "laminas", "module"], "support": { "issues": "https://github.com/doctrine/DoctrineModule/issues", "source": "https://github.com/doctrine/DoctrineModule/tree/5.3.0" @@ -1152,9 +1080,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kyle Spraggs", @@ -1182,12 +1108,7 @@ ], "description": "Laminas Module that provides Doctrine ORM functionality", "homepage": "http://www.doctrine-project.org/", - "keywords": [ - "doctrine", - "laminas", - "module", - "orm" - ], + "keywords": ["doctrine", "laminas", "module", "orm"], "support": { "issues": "https://github.com/doctrine/DoctrineORMModule/issues", "source": "https://github.com/doctrine/DoctrineORMModule/tree/5.3.0" @@ -1242,9 +1163,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -1332,9 +1251,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -1425,9 +1342,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Marco Pivetta", @@ -1437,10 +1352,7 @@ ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], + "keywords": ["constructor", "instantiate"], "support": { "issues": "https://github.com/doctrine/instantiator/issues", "source": "https://github.com/doctrine/instantiator/tree/2.0.0" @@ -1493,9 +1405,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -1512,13 +1422,7 @@ ], "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], + "keywords": ["annotations", "docblock", "lexer", "parser", "php"], "support": { "issues": "https://github.com/doctrine/lexer/issues", "source": "https://github.com/doctrine/lexer/tree/2.1.1" @@ -1593,9 +1497,7 @@ "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0", "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" }, - "bin": [ - "bin/doctrine" - ], + "bin": ["bin/doctrine"], "type": "library", "autoload": { "psr-4": { @@ -1603,9 +1505,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -1630,10 +1530,7 @@ ], "description": "Object-Relational-Mapper for PHP", "homepage": "https://www.doctrine-project.org/projects/orm.html", - "keywords": [ - "database", - "orm" - ], + "keywords": ["database", "orm"], "support": { "issues": "https://github.com/doctrine/orm/issues", "source": "https://github.com/doctrine/orm/tree/2.19.5" @@ -1684,9 +1581,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -1715,13 +1610,7 @@ ], "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", "homepage": "https://doctrine-project.org/projects/persistence.html", - "keywords": [ - "mapper", - "object", - "odm", - "orm", - "persistence" - ], + "keywords": ["mapper", "object", "odm", "orm", "persistence"], "support": { "issues": "https://github.com/doctrine/persistence/issues", "source": "https://github.com/doctrine/persistence/tree/2.5.7" @@ -1781,9 +1670,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "DVSA", @@ -1791,11 +1678,7 @@ } ], "description": "A wrapper around the AWS SDK (Cognito)", - "keywords": [ - "Authentication", - "Cognito", - "dvsa" - ], + "keywords": ["Authentication", "Cognito", "dvsa"], "support": { "issues": "https://github.com/dvsa/authentication-cognito/issues", "source": "https://github.com/dvsa/authentication-cognito/tree/v2.0.0" @@ -1842,16 +1725,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A set of abstractions that define core services provided by the DVSA", - "keywords": [ - "abstractions", - "dvsa", - "interoperability", - "standards" - ], + "keywords": ["abstractions", "dvsa", "interoperability", "standards"], "support": { "issues": "https://github.com/dvsa/contracts/issues", "source": "https://github.com/dvsa/contracts/tree/v1.3.0" @@ -1904,9 +1780,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "support": { "issues": "https://github.com/dvsa/dvsa-laminas-config-cloud-parameters/issues", "source": "https://github.com/dvsa/dvsa-laminas-config-cloud-parameters/tree/v1.0.0" @@ -1953,9 +1827,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "James Wragg", @@ -1963,12 +1835,7 @@ } ], "description": "A league/oauth2-client provider for GOV.UK Account", - "keywords": [ - "dvsa", - "govuk", - "sdk", - "signin" - ], + "keywords": ["dvsa", "govuk", "sdk", "signin"], "support": { "issues": "https://github.com/dvsa/php-govuk-account/issues", "source": "https://github.com/dvsa/php-govuk-account/tree/2.0.1" @@ -2010,18 +1877,13 @@ }, "type": "library", "autoload": { - "files": [ - "src/autoload.php" - ], + "files": ["src/autoload.php"], "psr-4": { "Elasticsearch\\": "src/Elasticsearch/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0", - "LGPL-2.1-only" - ], + "license": ["Apache-2.0", "LGPL-2.1-only"], "authors": [ { "name": "Zachary Tong" @@ -2031,11 +1893,7 @@ } ], "description": "PHP Client for Elasticsearch", - "keywords": [ - "client", - "elasticsearch", - "search" - ], + "keywords": ["client", "elasticsearch", "search"], "support": { "issues": "https://github.com/elastic/elasticsearch-php/issues", "source": "https://github.com/elastic/elasticsearch-php/tree/v7.17.2" @@ -2074,9 +1932,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Michael Dowling", @@ -2086,10 +1942,7 @@ ], "description": "Fork of guzzle/streams (abandoned) to be used with elasticsearch-php", "homepage": "http://guzzlephp.org/", - "keywords": [ - "Guzzle", - "stream" - ], + "keywords": ["Guzzle", "stream"], "support": { "source": "https://github.com/ezimuel/guzzlestreams/tree/3.1.0" }, @@ -2136,9 +1989,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Michael Dowling", @@ -2181,20 +2032,14 @@ }, "type": "library", "autoload": { - "files": [ - "library/HTMLPurifier.composer.php" - ], + "files": ["library/HTMLPurifier.composer.php"], "psr-0": { "HTMLPurifier": "library/" }, - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] + "exclude-from-classmap": ["/library/HTMLPurifier/Language/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], + "license": ["LGPL-2.1-or-later"], "authors": [ { "name": "Edward Z. Yang", @@ -2204,9 +2049,7 @@ ], "description": "Standards compliant HTML filter written in PHP", "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], + "keywords": ["html"], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" @@ -2249,9 +2092,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Neuman Vong", @@ -2266,10 +2107,7 @@ ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", "homepage": "https://github.com/firebase/php-jwt", - "keywords": [ - "jwt", - "php" - ], + "keywords": ["jwt", "php"], "support": { "issues": "https://github.com/firebase/php-jwt/issues", "source": "https://github.com/firebase/php-jwt/tree/v6.10.1" @@ -2341,9 +2179,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Gediminas Morkevicius", @@ -2449,17 +2285,13 @@ } }, "autoload": { - "files": [ - "src/functions_include.php" - ], + "files": ["src/functions_include.php"], "psr-4": { "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -2563,9 +2395,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -2589,9 +2419,7 @@ } ], "description": "Guzzle promises library", - "keywords": [ - "promise" - ], + "keywords": ["promise"], "support": { "issues": "https://github.com/guzzle/promises/issues", "source": "https://github.com/guzzle/promises/tree/2.0.3" @@ -2657,9 +2485,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -2757,17 +2583,13 @@ } }, "autoload": { - "files": [ - "helpers.php" - ], + "files": ["helpers.php"], "psr-4": { "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2813,9 +2635,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2859,9 +2679,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2927,15 +2745,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "provides an API for authentication and includes concrete authentication adapters for common use case scenarios", "homepage": "https://laminas.dev", - "keywords": [ - "Authentication", - "laminas" - ], + "keywords": ["Authentication", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-authentication/", @@ -3026,17 +2839,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output", "homepage": "https://laminas.dev", - "keywords": [ - "cache", - "laminas", - "psr-16", - "psr-6" - ], + "keywords": ["cache", "laminas", "psr-16", "psr-6"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-cache/", @@ -3097,14 +2903,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Laminas cache adapter for redis", - "keywords": [ - "cache", - "laminas" - ], + "keywords": ["cache", "laminas"], "support": { "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-redis/", "forum": "https://discourse.laminas.dev/", @@ -3152,9 +2953,7 @@ "psalm/plugin-phpunit": "^0.18.4", "vimeo/psalm": "^5.18" }, - "bin": [ - "bin/laminas" - ], + "bin": ["bin/laminas"], "type": "library", "autoload": { "psr-4": { @@ -3162,16 +2961,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Command-line interface for Laminas projects", - "keywords": [ - "cli", - "command", - "console", - "laminas" - ], + "keywords": ["cli", "command", "console", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-cli/", @@ -3231,15 +3023,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "provides a nested object property based user interface for accessing this configuration data within application code", "homepage": "https://laminas.dev", - "keywords": [ - "config", - "laminas" - ], + "keywords": ["config", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-config/", @@ -3299,15 +3086,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Lightweight library for collecting and merging configuration from different sources", "homepage": "https://laminas.dev", - "keywords": [ - "config-aggregator", - "laminas" - ], + "keywords": ["config-aggregator", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-config-aggregator/", @@ -3363,15 +3145,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Strong cryptography tools and password hashing", "homepage": "https://laminas.dev", - "keywords": [ - "crypt", - "laminas" - ], + "keywords": ["crypt", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-crypt/", @@ -3425,15 +3202,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", "homepage": "https://laminas.dev", - "keywords": [ - "escaper", - "laminas" - ], + "keywords": ["escaper", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-escaper/", @@ -3491,17 +3263,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Trigger and listen to events within a PHP application", "homepage": "https://laminas.dev", - "keywords": [ - "event", - "eventmanager", - "events", - "laminas" - ], + "keywords": ["event", "eventmanager", "events", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-eventmanager/", @@ -3572,15 +3337,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Programmatically filter and normalize data and files", "homepage": "https://laminas.dev", - "keywords": [ - "filter", - "laminas" - ], + "keywords": ["filter", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-filter/", @@ -3669,15 +3429,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Validate and display simple and complex forms, casting forms to business objects and vice versa", "homepage": "https://laminas.dev", - "keywords": [ - "form", - "laminas" - ], + "keywords": ["form", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-form/", @@ -3733,16 +3488,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", "homepage": "https://laminas.dev", - "keywords": [ - "http", - "http client", - "laminas" - ], + "keywords": ["http", "http client", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-http/", @@ -3811,15 +3560,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Serialize objects to arrays, and vice versa", "homepage": "https://laminas.dev", - "keywords": [ - "hydrator", - "laminas" - ], + "keywords": ["hydrator", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-hydrator/", @@ -3896,15 +3640,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Provide translations for your application, and filter and validate internationalized values", "homepage": "https://laminas.dev", - "keywords": [ - "i18n", - "laminas" - ], + "keywords": ["i18n", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-i18n/", @@ -3970,15 +3709,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", "homepage": "https://laminas.dev", - "keywords": [ - "inputfilter", - "laminas" - ], + "keywords": ["inputfilter", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-inputfilter/", @@ -4031,15 +3765,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", "homepage": "https://laminas.dev", - "keywords": [ - "json", - "laminas" - ], + "keywords": ["json", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-json/", @@ -4087,15 +3816,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Autoloading and plugin loading strategies", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "loader" - ], + "keywords": ["laminas", "loader"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-loader/", @@ -4174,16 +3898,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Robust, composite logger with filtering, formatting, and PSR-3 support", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "log", - "logging" - ], + "keywords": ["laminas", "log", "logging"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-log/", @@ -4250,15 +3968,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mail" - ], + "keywords": ["laminas", "mail"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mail/", @@ -4317,15 +4030,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Create cryptographically secure pseudo-random numbers, and manage big integers", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "math" - ], + "keywords": ["laminas", "math"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-math/", @@ -4378,15 +4086,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Create and parse MIME messages and parts", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mime" - ], + "keywords": ["laminas", "mime"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mime/", @@ -4450,15 +4153,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Modular application system for laminas-mvc applications", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "modulemanager" - ], + "keywords": ["laminas", "modulemanager"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-modulemanager/", @@ -4531,15 +4229,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Laminas's event-driven MVC layer, including MVC Applications, Controllers, and Plugins", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mvc" - ], + "keywords": ["laminas", "mvc"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mvc/", @@ -4608,16 +4301,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Integration between laminas-mvc and laminas-i18n", "homepage": "https://laminas.dev", - "keywords": [ - "i18n", - "laminas", - "mvc" - ], + "keywords": ["i18n", "laminas", "mvc"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mvc-i18n/", @@ -4688,15 +4375,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Paginate collections of data from arbitrary sources", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "paginator" - ], + "keywords": ["laminas", "paginator"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-paginator/", @@ -4759,15 +4441,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Flexible routing system for HTTP and console applications", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "routing" - ], + "keywords": ["laminas", "routing"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-router/", @@ -4829,15 +4506,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Serialize and deserialize PHP structures to a variety of representations", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "serializer" - ], + "keywords": ["laminas", "serializer"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-serializer/", @@ -4906,17 +4578,13 @@ ], "type": "library", "autoload": { - "files": [ - "src/autoload.php" - ], + "files": ["src/autoload.php"], "psr-4": { "Laminas\\ServiceManager\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Factory-Driven Dependency Injection Container", "homepage": "https://laminas.dev", "keywords": [ @@ -5001,15 +4669,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Object-oriented interface to PHP sessions and storage", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "session" - ], + "keywords": ["laminas", "session"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-session/", @@ -5060,15 +4723,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "SPL extensions, array utilities, error handlers, and more", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" - ], + "keywords": ["laminas", "stdlib"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-stdlib/", @@ -5118,15 +4776,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "uri" - ], + "keywords": ["laminas", "uri"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-uri/", @@ -5202,15 +4855,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "validator" - ], + "keywords": ["laminas", "validator"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-validator/", @@ -5292,9 +4940,7 @@ "laminas/laminas-permissions-acl": "Laminas\\Permissions\\Acl component", "laminas/laminas-uri": "Laminas\\Uri component" }, - "bin": [ - "bin/templatemap_generator.php" - ], + "bin": ["bin/templatemap_generator.php"], "type": "library", "autoload": { "psr-4": { @@ -5302,15 +4948,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Flexible view layer supporting and providing multiple view layers, helpers, and more", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "view" - ], + "keywords": ["laminas", "view"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-view/", @@ -5362,16 +5003,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Utility library for XML usage, best practices, and security in PHP", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "security", - "xml" - ], + "keywords": ["laminas", "security", "xml"], "support": { "chat": "https://laminas.dev/chat", "forum": "https://discourse.laminas.dev", @@ -5440,9 +5075,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -5516,9 +5149,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -5562,9 +5193,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -5625,9 +5254,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Alex Bilbie", @@ -5709,9 +5336,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kyle Spraggs", @@ -5730,12 +5355,7 @@ ], "description": "Laminas Framework MVC Module that provides a layer of features of Laminas\\Permissions\\Rbac", "homepage": "http://www.github.com/Laminas-Commons/LmcRbacMvc", - "keywords": [ - "laminas", - "module", - "permissions", - "rbac" - ], + "keywords": ["laminas", "module", "permissions", "rbac"], "support": { "issues": "https://github.com/LM-Commons/LmcRbacMvc/issues", "source": "https://github.com/LM-Commons/LmcRbacMvc/tree/v3.3.2" @@ -5811,9 +5431,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jordi Boggiano", @@ -5823,11 +5441,7 @@ ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], + "keywords": ["log", "logging", "psr-3"], "support": { "issues": "https://github.com/Seldaek/monolog/issues", "source": "https://github.com/Seldaek/monolog/tree/2.9.3" @@ -5866,9 +5480,7 @@ "composer/xdebug-handler": "^3.0.3", "phpunit/phpunit": "^8.5.33" }, - "bin": [ - "bin/jp.php" - ], + "bin": ["bin/jp.php"], "type": "library", "extra": { "branch-alias": { @@ -5876,17 +5488,13 @@ } }, "autoload": { - "files": [ - "src/JmesPath.php" - ], + "files": ["src/JmesPath.php"], "psr-4": { "JmesPath\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -5900,10 +5508,7 @@ } ], "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], + "keywords": ["json", "jsonpath"], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" @@ -5932,9 +5537,7 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, - "bin": [ - "bin/php-parse" - ], + "bin": ["bin/php-parse"], "type": "library", "extra": { "branch-alias": { @@ -5947,19 +5550,14 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], + "keywords": ["parser", "php"], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" @@ -5998,9 +5596,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Tobias Nyholm", @@ -6009,12 +5605,7 @@ ], "description": "Parse your DSN strings in a powerful and flexible way", "homepage": "http://tnyholm.se", - "keywords": [ - "database", - "dsn", - "dsn parser", - "parser" - ], + "keywords": ["database", "dsn", "dsn parser", "parser"], "support": { "issues": "https://github.com/Nyholm/dsn/issues", "source": "https://github.com/Nyholm/dsn/tree/2.0.1" @@ -6072,9 +5663,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Logging Module for OLCS", "support": { "source": "https://github.com/dvsa/olcs-logging/tree/v7.2.0" @@ -6083,16 +5672,16 @@ }, { "name": "olcs/olcs-transfer", - "version": "v7.5.0", + "version": "v7.6.0", "source": { "type": "git", "url": "https://github.com/dvsa/olcs-transfer.git", - "reference": "ba3ee2870f11a7f56c568a36a2f44b109af003ff" + "reference": "8eea158943e4cd5816680236a295bd69c526ff08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dvsa/olcs-transfer/zipball/ba3ee2870f11a7f56c568a36a2f44b109af003ff", - "reference": "ba3ee2870f11a7f56c568a36a2f44b109af003ff", + "url": "https://api.github.com/repos/dvsa/olcs-transfer/zipball/8eea158943e4cd5816680236a295bd69c526ff08", + "reference": "8eea158943e4cd5816680236a295bd69c526ff08", "shasum": "" }, "require": { @@ -6134,9 +5723,9 @@ "notification-url": "https://packagist.org/downloads/", "description": "OLCS Transfer", "support": { - "source": "https://github.com/dvsa/olcs-transfer/tree/v7.5.0" + "source": "https://github.com/dvsa/olcs-transfer/tree/v7.6.0" }, - "time": "2024-08-23T09:12:48+00:00" + "time": "2024-10-02T15:03:11+00:00" }, { "name": "olcs/olcs-utils", @@ -6272,9 +5861,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Oro, Inc", @@ -6324,9 +5911,7 @@ }, "type": "library", "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Paragon Initiative Enterprises", @@ -6335,12 +5920,7 @@ } ], "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], + "keywords": ["csprng", "polyfill", "pseudorandom", "random"], "support": { "email": "info@paragonie.com", "issues": "https://github.com/paragonie/random_compat/issues", @@ -6369,9 +5949,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-3.0" - ], + "license": ["GPL-3.0"], "authors": [ { "name": "Steffen Zeidler", @@ -6416,17 +5994,13 @@ }, "type": "library", "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], + "files": ["phpseclib/bootstrap.php"], "psr-4": { "phpseclib\\": "phpseclib/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jim Wigginton", @@ -6524,9 +6098,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6534,11 +6106,7 @@ } ], "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], + "keywords": ["cache", "psr", "psr-6"], "support": { "source": "https://github.com/php-fig/cache/tree/master" }, @@ -6568,9 +6136,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6579,13 +6145,7 @@ ], "description": "Common interface for reading the clock.", "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], + "keywords": ["clock", "now", "psr", "psr-20", "time"], "support": { "issues": "https://github.com/php-fig/clock/issues", "source": "https://github.com/php-fig/clock/tree/1.0.0" @@ -6616,9 +6176,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6669,9 +6227,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6679,11 +6235,7 @@ } ], "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], + "keywords": ["events", "psr", "psr-14"], "support": { "issues": "https://github.com/php-fig/event-dispatcher/issues", "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" @@ -6720,9 +6272,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6731,12 +6281,7 @@ ], "description": "Common interface for HTTP clients", "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], + "keywords": ["http", "http-client", "psr", "psr-18"], "support": { "source": "https://github.com/php-fig/http-client" }, @@ -6772,9 +6317,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6826,9 +6369,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6879,9 +6420,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6890,11 +6429,7 @@ ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], + "keywords": ["log", "psr", "psr-3"], "support": { "source": "https://github.com/php-fig/log/tree/1.1.4" }, @@ -6929,9 +6464,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -6939,13 +6472,7 @@ } ], "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], + "keywords": ["cache", "caching", "psr", "psr-16", "simple-cache"], "support": { "source": "https://github.com/php-fig/simple-cache/tree/master" }, @@ -6984,9 +6511,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Alexander", @@ -7036,14 +6561,10 @@ }, "type": "library", "autoload": { - "files": [ - "src/getallheaders.php" - ] + "files": ["src/getallheaders.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ralph Khattar", @@ -7106,17 +6627,13 @@ }, "type": "library", "autoload": { - "files": [ - "src/functions.php" - ], + "files": ["src/functions.php"], "psr-4": { "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ben Ramsey", @@ -7134,11 +6651,7 @@ ], "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ], + "keywords": ["guid", "identifier", "uuid"], "support": { "issues": "https://github.com/ramsey/uuid/issues", "rss": "https://github.com/ramsey/uuid/releases.atom", @@ -7179,17 +6692,13 @@ }, "type": "library", "autoload": { - "files": [ - "src/functions_include.php" - ], + "files": ["src/functions_include.php"], "psr-4": { "React\\Promise\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jan Sorgalla", @@ -7213,10 +6722,7 @@ } ], "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], + "keywords": ["promise", "promises"], "support": { "issues": "https://github.com/reactphp/promise/issues", "source": "https://github.com/reactphp/promise/tree/v2.11.0" @@ -7254,17 +6760,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "A PHP library for XML Security", "homepage": "https://github.com/robrichards/xmlseclibs", - "keywords": [ - "security", - "signature", - "xml", - "xmldsig" - ], + "keywords": ["security", "signature", "xml", "xmldsig"], "support": { "issues": "https://github.com/robrichards/xmlseclibs/issues", "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1" @@ -7319,9 +6818,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Ruflin", @@ -7330,10 +6827,7 @@ ], "description": "Elasticsearch Client", "homepage": "http://elastica.io/", - "keywords": [ - "client", - "search" - ], + "keywords": ["client", "search"], "support": { "issues": "https://github.com/ruflin/Elastica/issues", "source": "https://github.com/ruflin/Elastica/tree/7.3.2" @@ -7385,10 +6879,7 @@ "ext-imap": "*", "ext-pdo": "*" }, - "bin": [ - "bin/sabredav", - "bin/naturalselection" - ], + "bin": ["bin/sabredav", "bin/naturalselection"], "type": "library", "autoload": { "psr-4": { @@ -7396,9 +6887,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Evert Pot", @@ -7409,13 +6898,7 @@ ], "description": "WebDAV Framework for PHP", "homepage": "http://sabre.io/", - "keywords": [ - "CalDAV", - "CardDAV", - "WebDAV", - "framework", - "iCalendar" - ], + "keywords": ["CalDAV", "CardDAV", "WebDAV", "framework", "iCalendar"], "support": { "forum": "https://groups.google.com/group/sabredav-discuss", "issues": "https://github.com/sabre-io/dav/issues", @@ -7457,9 +6940,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Evert Pot", @@ -7521,17 +7002,13 @@ }, "type": "library", "autoload": { - "files": [ - "lib/functions.php" - ], + "files": ["lib/functions.php"], "psr-4": { "Sabre\\HTTP\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Evert Pot", @@ -7542,9 +7019,7 @@ ], "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", "homepage": "https://github.com/fruux/sabre-http", - "keywords": [ - "http" - ], + "keywords": ["http"], "support": { "forum": "https://groups.google.com/group/sabredav-discuss", "issues": "https://github.com/sabre-io/http/issues", @@ -7579,17 +7054,13 @@ }, "type": "library", "autoload": { - "files": [ - "lib/functions.php" - ], + "files": ["lib/functions.php"], "psr-4": { "Sabre\\Uri\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Evert Pot", @@ -7600,11 +7071,7 @@ ], "description": "Functions for making sense out of URIs.", "homepage": "http://sabre.io/uri/", - "keywords": [ - "rfc3986", - "uri", - "url" - ], + "keywords": ["rfc3986", "uri", "url"], "support": { "forum": "https://groups.google.com/group/sabredav-discuss", "issues": "https://github.com/sabre-io/uri/issues", @@ -7640,10 +7107,7 @@ "suggest": { "hoa/bench": "If you would like to run the benchmark scripts" }, - "bin": [ - "bin/vobject", - "bin/generate_vcards" - ], + "bin": ["bin/vobject", "bin/generate_vcards"], "type": "library", "extra": { "branch-alias": { @@ -7656,9 +7120,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Evert Pot", @@ -7754,9 +7216,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Evert Pot", @@ -7772,12 +7232,7 @@ ], "description": "sabre/xml is an XML library that you may not hate.", "homepage": "https://sabre.io/xml/", - "keywords": [ - "XMLReader", - "XMLWriter", - "dom", - "xml" - ], + "keywords": ["XMLReader", "XMLWriter", "dom", "xml"], "support": { "forum": "https://groups.google.com/group/sabredav-discuss", "issues": "https://github.com/sabre-io/xml/issues", @@ -7823,9 +7278,7 @@ "laminas/laminas-servicemanager": "For creating the filter with the SM factory", "laminas/laminas-view": "For using the purifier as view helper" }, - "bin": [ - "bin/purifier-generate-standalone" - ], + "bin": ["bin/purifier-generate-standalone"], "type": "library", "extra": { "branch-alias": { @@ -7838,9 +7291,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Jurian Sluiman", @@ -7855,13 +7306,7 @@ ], "description": "HTML Purifier integration module for Zend Framework 3", "homepage": "https://github.com/juriansluiman/Soflomo-Purifier", - "keywords": [ - "Purifier", - "filter", - "html", - "purify", - "zf2" - ], + "keywords": ["Purifier", "filter", "html", "purify", "zf2"], "support": { "source": "https://github.com/Saeven/Soflomo-Purifier/tree/1.1.0" }, @@ -7906,17 +7351,13 @@ } }, "autoload": { - "files": [ - "src/_autoload.php" - ], + "files": ["src/_autoload.php"], "psr-0": { "SAML2\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], + "license": ["LGPL-2.1-or-later"], "authors": [ { "name": "Andreas Åkre Solberg", @@ -7984,14 +7425,10 @@ "psr-4": { "Symfony\\Component\\Cache\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8004,10 +7441,7 @@ ], "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], + "keywords": ["caching", "psr6"], "support": { "source": "https://github.com/symfony/cache/tree/v5.4.39" }, @@ -8064,9 +7498,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8155,14 +7587,10 @@ "psr-4": { "Symfony\\Component\\Console\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8175,12 +7603,7 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], + "keywords": ["cli", "command-line", "console", "terminal"], "support": { "source": "https://github.com/symfony/console/tree/v6.4.8" }, @@ -8250,14 +7673,10 @@ "psr-4": { "Symfony\\Component\\DependencyInjection\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8317,14 +7736,10 @@ } }, "autoload": { - "files": [ - "function.php" - ] + "files": ["function.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8397,14 +7812,10 @@ "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8470,9 +7881,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8538,14 +7947,10 @@ "psr-4": { "Symfony\\Component\\Filesystem\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8601,14 +8006,10 @@ "psr-4": { "Symfony\\Component\\Finder\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8672,14 +8073,10 @@ "psr-4": { "Symfony\\Component\\Lock\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jérémy Derussé", @@ -8692,14 +8089,7 @@ ], "description": "Creates and manages locks, a mechanism to provide exclusive access to a shared resource", "homepage": "https://symfony.com", - "keywords": [ - "cas", - "flock", - "locking", - "mutex", - "redlock", - "semaphore" - ], + "keywords": ["cas", "flock", "locking", "mutex", "redlock", "semaphore"], "support": { "source": "https://github.com/symfony/lock/tree/v5.4.39" }, @@ -8750,17 +8140,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Gert de Pagter", @@ -8773,12 +8159,7 @@ ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], + "keywords": ["compatibility", "ctype", "polyfill", "portable"], "support": { "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, @@ -8826,17 +8207,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8906,17 +8283,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Laurent Bassin", @@ -8988,20 +8361,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9072,17 +8439,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9095,13 +8458,7 @@ ], "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "mbstring", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, @@ -9146,17 +8503,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php72\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9169,12 +8522,7 @@ ], "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, @@ -9219,20 +8567,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php73\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9245,12 +8587,7 @@ ], "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" }, @@ -9295,20 +8632,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php80\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ion Bazan", @@ -9325,12 +8656,7 @@ ], "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, @@ -9375,20 +8701,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php81\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9401,12 +8721,7 @@ ], "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" }, @@ -9448,14 +8763,10 @@ "psr-4": { "Symfony\\Component\\Process\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -9514,14 +8825,10 @@ "psr-4": { "Symfony\\Component\\PropertyAccess\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -9600,14 +8907,10 @@ "psr-4": { "Symfony\\Component\\PropertyInfo\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kévin Dunglas", @@ -9688,9 +8991,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9764,20 +9065,14 @@ }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], + "files": ["Resources/functions.php"], "psr-4": { "Symfony\\Component\\String\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9790,14 +9085,7 @@ ], "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], + "keywords": ["grapheme", "i18n", "string", "unicode", "utf-8", "utf8"], "support": { "source": "https://github.com/symfony/string/tree/v7.1.1" }, @@ -9845,14 +9133,10 @@ "psr-4": { "Symfony\\Component\\VarExporter\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -9933,9 +9217,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Fabien Potencier", @@ -9955,9 +9237,7 @@ ], "description": "Twig, the flexible, fast, and secure template language for PHP", "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], + "keywords": ["templating"], "support": { "issues": "https://github.com/twigphp/Twig/issues", "source": "https://github.com/twigphp/Twig/tree/v2.16.1" @@ -10010,9 +9290,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], + "license": ["BSD-2-Clause"], "description": "Tool to write files safely, to avoid race conditions", "keywords": [ "concurrent write", @@ -10070,9 +9348,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Bernhard Schussek", @@ -10080,11 +9356,7 @@ } ], "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], + "keywords": ["assert", "check", "validate"], "support": { "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.11.0" @@ -10121,9 +9393,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Michaël Gallego", @@ -10133,12 +9403,7 @@ ], "description": "Zend Framework 3 prototype for Zend\\Permissions\\Rbac.", "homepage": "https://github.com/zf-fr/rbac", - "keywords": [ - "rbac", - "security", - "zf2", - "zf3" - ], + "keywords": ["rbac", "security", "zf2", "zf3"], "support": { "issues": "https://github.com/zf-fr/rbac/issues", "source": "https://github.com/zf-fr/rbac/tree/master" @@ -10186,9 +9451,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "No conflicts for your bin dependencies", "keywords": [ "composer", @@ -10236,9 +9499,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "KyleKatarn", @@ -10246,13 +9507,7 @@ } ], "description": "Types to use Carbon in Doctrine", - "keywords": [ - "carbon", - "date", - "datetime", - "doctrine", - "time" - ], + "keywords": ["carbon", "date", "datetime", "doctrine", "time"], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" @@ -10296,14 +9551,10 @@ }, "type": "library", "autoload": { - "files": [ - "assertarraysubset-autoload.php" - ] + "files": ["assertarraysubset-autoload.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Rafael Dohms", @@ -10360,15 +9611,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A wrapper around LDAP", - "keywords": [ - "Authentication", - "dvsa", - "ldap" - ], + "keywords": ["Authentication", "dvsa", "ldap"], "support": { "issues": "https://github.com/dvsa/authentication-ldap/issues", "source": "https://github.com/dvsa/authentication-ldap/tree/v3.0.0" @@ -10408,18 +9653,12 @@ } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "classmap": ["hamcrest"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], + "keywords": ["test"], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" @@ -10469,17 +9708,13 @@ } }, "autoload": { - "files": [ - "helpers.php" - ], + "files": ["helpers.php"], "psr-4": { "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -10524,9 +9759,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "John Kary", @@ -10535,11 +9768,7 @@ ], "description": "Find and report on slow tests in your PHPUnit test suite", "homepage": "https://github.com/johnkary/phpunit-speedtrap", - "keywords": [ - "phpunit", - "profile", - "slow" - ], + "keywords": ["phpunit", "profile", "slow"], "support": { "issues": "https://github.com/johnkary/phpunit-speedtrap/issues", "source": "https://github.com/johnkary/phpunit-speedtrap/tree/v4.0.1" @@ -10578,9 +9807,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Frank Kleine", @@ -10625,18 +9852,13 @@ }, "type": "library", "autoload": { - "files": [ - "library/helpers.php", - "library/Mockery.php" - ], + "files": ["library/helpers.php", "library/Mockery.php"], "psr-4": { "Mockery\\": "library/Mockery" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Pádraic Brady", @@ -10708,25 +9930,15 @@ }, "type": "library", "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], + "files": ["src/DeepCopy/deep_copy.php"], "psr-4": { "DeepCopy\\": "src/DeepCopy/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], + "keywords": ["clone", "copy", "duplicate", "object", "object graph"], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" @@ -10778,9 +9990,7 @@ "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", "squizlabs/php_codesniffer": "^3.4" }, - "bin": [ - "bin/carbon" - ], + "bin": ["bin/carbon"], "type": "library", "extra": { "branch-alias": { @@ -10788,14 +9998,10 @@ "dev-2.x": "2.x-dev" }, "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] + "providers": ["Carbon\\Laravel\\ServiceProvider"] }, "phpstan": { - "includes": [ - "extension.neon" - ] + "includes": ["extension.neon"] } }, "autoload": { @@ -10804,9 +10010,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Brian Nesbitt", @@ -10820,11 +10024,7 @@ ], "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], + "keywords": ["date", "datetime", "time"], "support": { "docs": "https://carbon.nesbot.com/docs", "issues": "https://github.com/briannesbitt/Carbon/issues", @@ -10875,14 +10075,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -10932,14 +10128,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -11007,14 +10199,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11024,11 +10212,7 @@ ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], + "keywords": ["coverage", "testing", "xunit"], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", @@ -11069,14 +10253,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11086,10 +10266,7 @@ ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], + "keywords": ["filesystem", "iterator"], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" @@ -11133,14 +10310,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11150,9 +10323,7 @@ ], "description": "Invoke callables with a timeout", "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], + "keywords": ["process"], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" @@ -11192,14 +10363,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11209,9 +10376,7 @@ ], "description": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], + "keywords": ["template"], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" @@ -11251,14 +10416,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11268,9 +10429,7 @@ ], "description": "Utility class for timing", "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], + "keywords": ["timer"], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" @@ -11330,9 +10489,7 @@ "ext-soap": "To be able to generate mocks based on WSDL files", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, - "bin": [ - "phpunit" - ], + "bin": ["phpunit"], "type": "library", "extra": { "branch-alias": { @@ -11340,17 +10497,11 @@ } }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] + "files": ["src/Framework/Assert/Functions.php"], + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11360,11 +10511,7 @@ ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], + "keywords": ["phpunit", "testing", "xunit"], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", @@ -11413,14 +10560,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11469,14 +10612,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11525,14 +10664,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11582,14 +10717,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11610,11 +10741,7 @@ ], "description": "Provides the functionality to compare PHP values for equality", "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], + "keywords": ["comparator", "compare", "equality"], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" @@ -11655,14 +10782,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11712,14 +10835,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11732,12 +10851,7 @@ ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], + "keywords": ["diff", "udiff", "unidiff", "unified diff"], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" @@ -11780,14 +10894,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11796,11 +10906,7 @@ ], "description": "Provides functionality to handle HHVM/PHP environments", "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], + "keywords": ["Xdebug", "environment", "hhvm"], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" @@ -11842,14 +10948,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11874,10 +10976,7 @@ ], "description": "Provides the functionality to export PHP variables for visualization", "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], + "keywords": ["export", "exporter"], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" @@ -11923,14 +11022,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11939,9 +11034,7 @@ ], "description": "Snapshotting of global state", "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], + "keywords": ["global state"], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" @@ -11982,14 +11075,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12040,14 +11129,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12095,14 +11180,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12150,14 +11231,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12213,14 +11290,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12267,14 +11340,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12320,14 +11389,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12381,14 +11446,10 @@ "psr-4": { "Symfony\\Component\\Ldap\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Charles Sarrazin", @@ -12401,10 +11462,7 @@ ], "description": "Provides a LDAP client for PHP on top of PHP's ldap extension", "homepage": "https://symfony.com", - "keywords": [ - "active-directory", - "ldap" - ], + "keywords": ["active-directory", "ldap"], "support": { "source": "https://github.com/symfony/ldap/tree/v7.1.1" }, @@ -12447,14 +11505,10 @@ "psr-4": { "Symfony\\Component\\OptionsResolver\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -12467,11 +11521,7 @@ ], "description": "Provides an improved replacement for the array_replace PHP function", "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], + "keywords": ["config", "configuration", "options"], "support": { "source": "https://github.com/symfony/options-resolver/tree/v7.1.1" }, @@ -12541,20 +11591,14 @@ }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], + "files": ["Resources/functions.php"], "psr-4": { "Symfony\\Component\\Translation\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -12617,14 +11661,10 @@ "psr-4": { "Symfony\\Contracts\\Translation\\": "" }, - "exclude-from-classmap": [ - "/Test/" - ] + "exclude-from-classmap": ["/Test/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -12686,14 +11726,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -12744,9 +11780,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Lars Moelleken", @@ -12755,11 +11789,7 @@ ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], + "keywords": ["ascii", "clean", "php"], "support": { "issues": "https://github.com/voku/portable-ascii/issues", "source": "https://github.com/voku/portable-ascii/tree/1.6.1" diff --git a/app/api/config/autoload/local.php.dist b/app/api/config/autoload/local.php.dist index b629171e12..5614857740 100644 --- a/app/api/config/autoload/local.php.dist +++ b/app/api/config/autoload/local.php.dist @@ -374,10 +374,9 @@ return [ ], ], 'data-gov-uk-export' => [ - 's3_uri' => 's3://devapp-vol-content/olcs.local.nonprod.dvsa.aws/data-gov-uk-export/' - ], - + 's3_uri' => 's3://devapp-vol-content/olcs.local.nonprod.dvsa.aws/data-gov-uk-export/', + ], 'data-dva-ni-export' => [ - 's3_uri' => 's3://devapp-olcs-pri-integration-dva-s3/ + 's3_uri' => 's3://devapp-olcs-pri-integration-dva-s3/', ], ]; diff --git a/app/api/module/Api/config/query-map.config.php b/app/api/module/Api/config/query-map.config.php index 61d377a297..6f2d8b242d 100644 --- a/app/api/module/Api/config/query-map.config.php +++ b/app/api/module/Api/config/query-map.config.php @@ -299,6 +299,7 @@ TransferQuery\User\RoleList::class => QueryHandler\User\RoleList::class, TransferQuery\User\UserListInternal::class => QueryHandler\User\UserListInternal::class, Query\User\UserListInternalByTrafficArea::class => QueryHandler\User\UserListInternalByTrafficArea::class, + TransferQuery\User\OperatorAdminForOrganisationHasLoggedIn::class => QueryHandler\User\OperatorAdminForOrganisationHasLoggedIn::class, // User TransferQuery\Team\Team::class => QueryHandler\Team\Team::class, diff --git a/app/api/module/Api/config/validation-map/user.config.php b/app/api/module/Api/config/validation-map/user.config.php index 8219ff0a33..899962ecf7 100644 --- a/app/api/module/Api/config/validation-map/user.config.php +++ b/app/api/module/Api/config/validation-map/user.config.php @@ -22,6 +22,7 @@ QueryHandler\User\UserListInternalByTrafficArea::class => IsInternalUser::class, QueryHandler\User\UserListSelfserve::class => CanManageUser::class, QueryHandler\User\UserSelfserve::class => CanReadUser::class, + QueryHandler\User\OperatorAdminForOrganisationHasLoggedIn::class => CanAccessUserList::class, // Commands CommandHandler\MyAccount\UpdateMyAccountInternal::class => IsInternalUser::class, diff --git a/app/api/module/Api/src/Domain/Query/User/UserListSelfserve.php b/app/api/module/Api/src/Domain/Query/User/UserListSelfserve.php index 5bc506fac2..677cd25faa 100644 --- a/app/api/module/Api/src/Domain/Query/User/UserListSelfserve.php +++ b/app/api/module/Api/src/Domain/Query/User/UserListSelfserve.php @@ -6,6 +6,9 @@ namespace Dvsa\Olcs\Api\Domain\Query\User; +use Dvsa\Olcs\Transfer\FieldType\Traits\LastLoggedInFromOptional; +use Dvsa\Olcs\Transfer\FieldType\Traits\OrganisationOptional; +use Dvsa\Olcs\Transfer\FieldType\Traits\RolesOptional; use Dvsa\Olcs\Transfer\Query\AbstractQuery; use Dvsa\Olcs\Transfer\Query\OrderedQueryInterface; use Dvsa\Olcs\Transfer\Query\OrderedTrait; @@ -19,6 +22,9 @@ final class UserListSelfserve extends AbstractQuery implements PagedQueryInterfa { use PagedTrait; use OrderedTrait; + use RolesOptional; + use OrganisationOptional; + use LastLoggedInFromOptional; /** * @Transfer\Filter("Laminas\Filter\Digits") @@ -36,14 +42,6 @@ final class UserListSelfserve extends AbstractQuery implements PagedQueryInterfa */ protected $partnerContactDetails = null; - /** - * @Transfer\Filter("Laminas\Filter\Digits") - * @Transfer\Validator("Laminas\Validator\Digits") - * @Transfer\Validator("Laminas\Validator\GreaterThan", options={"min": 0}) - * @Transfer\Optional - */ - protected $organisation = null; - /** * @return int */ @@ -59,12 +57,4 @@ public function getPartnerContactDetails() { return $this->partnerContactDetails; } - - /** - * @return int - */ - public function getOrganisation() - { - return $this->organisation; - } } diff --git a/app/api/module/Api/src/Domain/QueryHandler/User/OperatorAdminForOrganisationHasLoggedIn.php b/app/api/module/Api/src/Domain/QueryHandler/User/OperatorAdminForOrganisationHasLoggedIn.php new file mode 100644 index 0000000000..8f7fa946a8 --- /dev/null +++ b/app/api/module/Api/src/Domain/QueryHandler/User/OperatorAdminForOrganisationHasLoggedIn.php @@ -0,0 +1,69 @@ +getOrganisation())) { + throw new BadRequestException('Organisation ID is required'); + } + + $repo = $this->getRepo(Repository\User::class); + + $params = [ + 'organisation' => $query->getOrganisation(), + 'roles' => [Entity\User\Role::ROLE_OPERATOR_ADMIN], + 'page' => 1, + 'limit' => 1, + 'sort' => 'id', + 'order' => 'DESC', + ]; + + $lastLoginDate = static::DEFAULT_LAST_LOGGED_IN_FROM; + if (!empty($query->getLastLoggedInFrom())) { + $lastLoginDate = $query->getLastLoggedInFrom(); + } + + $params['lastLoggedInFrom'] = $lastLoginDate; + + $userListDto = ListDto::create($params); + + $result = [ + 'organisation' => (int) $query->getOrganisation(), + 'lastLoggedInFrom' => $lastLoginDate, + 'operatorAdminHasLoggedIn' => false, + ]; + + if ($repo->fetchCount($userListDto) > 0) { + $result['operatorAdminHasLoggedIn'] = true; + } + + return $result; + } +} diff --git a/app/api/module/Api/src/Domain/Repository/User.php b/app/api/module/Api/src/Domain/Repository/User.php index ac0c40d0bd..ab32d8c305 100644 --- a/app/api/module/Api/src/Domain/Repository/User.php +++ b/app/api/module/Api/src/Domain/Repository/User.php @@ -147,6 +147,12 @@ protected function applyListFilters(QueryBuilder $qb, QueryInterface $query) $qb->setParameter('roles', $query->getRoles()); } + // filter by lastLoggedInFrom if it has been specified + if (method_exists($query, 'getLastLoggedInFrom') && !empty($query->getLastLoggedInFrom())) { + $qb->andWhere($qb->expr()->gte($this->alias . '.lastLoginAt', ':lastLoggedInFrom')) + ->setParameter('lastLoggedInFrom', $query->getLastLoggedInFrom()); + } + // exclude system user from all lists $qb->andWhere($qb->expr()->neq($this->alias . '.id', ':systemUser')) ->setParameter('systemUser', IdentityProviderInterface::SYSTEM_USER); diff --git a/app/api/test/module/Api/src/Domain/QueryHandler/User/OperatorAdminForOrganisationHasLoggedInTest.php b/app/api/test/module/Api/src/Domain/QueryHandler/User/OperatorAdminForOrganisationHasLoggedInTest.php new file mode 100644 index 0000000000..6367ada9a8 --- /dev/null +++ b/app/api/test/module/Api/src/Domain/QueryHandler/User/OperatorAdminForOrganisationHasLoggedInTest.php @@ -0,0 +1,143 @@ +sut = new QueryHandler(); + $this->mockRepo(Repository\User::class, Repository\User::class); + + $this->mockedSmServices = [ + AuthorizationService::class => m::mock(AuthorizationService::class) + ]; + + parent::setUp(); + } + + public function dpHandleQuery_OrganisationHasOperatorAdminsWhoHaveLoggedIn(): array + { + return [ + 'HasLoggedIn' => [ + 'fetchCountResult' => 1, + 'expectedOperatorAdminHasLoggedIn' => true, + ], + 'HasNotLoggedIn' => [ + 'fetchCountResult' => 0, + 'expectedOperatorAdminHasLoggedIn' => false, + ], + ]; + } + + /** + * @dataProvider dpHandleQuery_OrganisationHasOperatorAdminsWhoHaveLoggedIn + */ + public function testHandleQuery_OrganisationHasOperatorAdminsWhoHaveLoggedIn(int $fetchCountResult, bool $expectedOperatorAdminHasLoggedIn): void + { + $organisationId = 1; + + $query = Query::create(['organisation' => $organisationId]); + + $repo = $this->repoMap[Repository\User::class]; + $repo->shouldReceive('fetchCount') + ->with(m::type(ListDto::class)) + ->andReturn($fetchCountResult); + + + $result = $this->sut->handleQuery($query); + $this->assertArrayHasKey('operatorAdminHasLoggedIn', $result); + $this->assertEquals($expectedOperatorAdminHasLoggedIn, $result['operatorAdminHasLoggedIn']); + } + + public function dpHandleQuery_UsesLastLoggedInFromFromQueryIfProvided(): array + { + return [ + 'LastLoggedInFrom not specified' => [ + 'expectedLastLoggedInFrom' => QueryHandler::DEFAULT_LAST_LOGGED_IN_FROM, + 'query' => Query::create(['organisation' => 1]), + ], + 'LastLoggedInFrom specified' => [ + 'expectedLastLoggedInFrom' => $specifiedDate = '2020-01-01', + 'query' => Query::create(['organisation' => 1, 'lastLoggedInFrom' => $specifiedDate]), + ], + ]; + } + + /** + * @dataProvider dpHandleQuery_UsesLastLoggedInFromFromQueryIfProvided + */ + public function testHandleQuery_UsesLastLoggedInFromFromQueryIfProvided(string $expectedLastLoggedInFrom, Query $query): void + { + $repo = $this->repoMap[Repository\User::class]; + $repo->shouldReceive('fetchCount') + ->withArgs(function (ListDto $dto) use ($expectedLastLoggedInFrom) { + return $dto->getLastLoggedInFrom() === $expectedLastLoggedInFrom; + }) + ->andReturn(0); + + $result = $this->sut->handleQuery($query); + $this->assertArrayHasKey('lastLoggedInFrom', $result); + $this->assertEquals($expectedLastLoggedInFrom, $result['lastLoggedInFrom']); + } + + public function testHandleQuery_ResultContainsOrganisationIdFromQuery(): void + { + $organisationId = 1; + + $query = Query::create(['organisation' => $organisationId]); + + $repo = $this->repoMap[Repository\User::class]; + $repo->shouldReceive('fetchCount') + ->with(m::type(ListDto::class)) + ->andReturn(0); + + $result = $this->sut->handleQuery($query); + $this->assertArrayHasKey('organisation', $result); + $this->assertEquals($organisationId, $result['organisation']); + } + + public function testHandleQuery_ThrowsExceptionIfOrganisationIdNotProvided(): void + { + $this->expectExceptionMessage('Organisation ID is required'); + $this->expectException(\Dvsa\Olcs\Api\Domain\Exception\BadRequestException::class); + + $this->sut->handleQuery(Query::create([])); + } + + public function testHandleQuery_ThrowsExceptionIfQueryIsNotInstanceOfOperatorAdminForOrganisationHasLoggedIn(): void + { + $this->expectExceptionMessage('Expected instance of: ' . Query::class); + $this->expectException(\Dvsa\Olcs\Api\Domain\Exception\BadRequestException::class); + + $instance = new class() extends \stdClass implements QueryInterface { + public function exchangeArray(array $array) + { + // TODO: Implement exchangeArray() method. + } + + public function getArrayCopy() + { + // TODO: Implement getArrayCopy() method. + } + + public static function create(array $data) + { + // TODO: Implement create() method. + } + }; + + $this->sut->handleQuery($instance); + } +} diff --git a/app/api/test/module/Api/src/Domain/Repository/UserTest.php b/app/api/test/module/Api/src/Domain/Repository/UserTest.php index 793eb50371..3c4b9a8b55 100644 --- a/app/api/test/module/Api/src/Domain/Repository/UserTest.php +++ b/app/api/test/module/Api/src/Domain/Repository/UserTest.php @@ -72,7 +72,8 @@ public function testApplyListFilters(): void [ 'localAuthority' => 11, 'partnerContactDetails' => 22, - 'organisation' => 43 + 'organisation' => 43, + 'lastLoggedInFrom' => '2015-01-01', ] ); @@ -91,6 +92,11 @@ public function testApplyListFilters(): void ->once(); $mockQb->shouldReceive('setParameter')->with('organisation', 43)->once(); + $mockQb->shouldReceive('andWhere')->with('lastLoggedInFrom')->once()->andReturnSelf(); + $mockQb->shouldReceive('expr->gte')->with('u.lastLoginAt', ':lastLoggedInFrom')->once() + ->andReturn('lastLoggedInFrom'); + $mockQb->shouldReceive('setParameter')->with('lastLoggedInFrom', '2015-01-01')->once(); + $mockQb->shouldReceive('expr->neq')->with('u.id', ':systemUser')->once()->andReturn('systemUser'); $mockQb->shouldReceive('andWhere')->with('systemUser')->once()->andReturnSelf(); $mockQb->shouldReceive('setParameter')->with('systemUser', IdentityProviderInterface::SYSTEM_USER)->once(); diff --git a/app/selfserve/composer.lock b/app/selfserve/composer.lock index 0dbd3e8beb..5ba48b3f2c 100644 --- a/app/selfserve/composer.lock +++ b/app/selfserve/composer.lock @@ -32,14 +32,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], + "license": ["Apache-2.0"], "authors": [ { "name": "AWS SDK Common Runtime Team", @@ -48,12 +44,7 @@ ], "description": "AWS Common Runtime for PHP", "homepage": "https://github.com/awslabs/aws-crt-php", - "keywords": [ - "amazon", - "aws", - "crt", - "sdk" - ], + "keywords": ["amazon", "aws", "crt", "sdk"], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.5" @@ -119,17 +110,13 @@ } }, "autoload": { - "files": [ - "src/functions.php" - ], + "files": ["src/functions.php"], "psr-4": { "Aws\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], + "license": ["Apache-2.0"], "authors": [ { "name": "Amazon Web Services", @@ -185,13 +172,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()", - "keywords": [ - "var_export" - ], + "keywords": ["var_export"], "support": { "issues": "https://github.com/brick/varexporter/issues", "source": "https://github.com/brick/varexporter/tree/0.4.0" @@ -242,9 +225,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -269,11 +250,7 @@ ], "description": "Docblock Annotations Parser", "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], + "keywords": ["annotations", "docblock", "parser"], "support": { "issues": "https://github.com/doctrine/annotations/issues", "source": "https://github.com/doctrine/annotations/tree/1.14.3" @@ -321,9 +298,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -410,9 +385,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -437,12 +410,7 @@ ], "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", "homepage": "https://www.doctrine-project.org/projects/collections.html", - "keywords": [ - "array", - "collections", - "iterators", - "php" - ], + "keywords": ["array", "collections", "iterators", "php"], "support": { "issues": "https://github.com/doctrine/collections/issues", "source": "https://github.com/doctrine/collections/tree/1.8.0" @@ -485,9 +453,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { @@ -532,15 +498,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Doctrine hydrators for Laminas applications", - "keywords": [ - "doctrine", - "hydrator", - "laminas" - ], + "keywords": ["doctrine", "hydrator", "laminas"], "support": { "issues": "https://github.com/doctrine/doctrine-laminas-hydrator/issues", "rss": "https://github.com/doctrine/doctrine-laminas-hydrator/releases.atom", @@ -624,9 +584,7 @@ "suggest": { "doctrine/data-fixtures": "Data Fixtures if you want to generate test data or bootstrap data for your deployments" }, - "bin": [ - "bin/doctrine-module" - ], + "bin": ["bin/doctrine-module"], "type": "library", "extra": { "laminas": { @@ -640,9 +598,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kyle Spraggs", @@ -671,11 +627,7 @@ ], "description": "Laminas Module that provides Doctrine basic functionality required for ORM and ODM modules", "homepage": "http://www.doctrine-project.org/", - "keywords": [ - "doctrine", - "laminas", - "module" - ], + "keywords": ["doctrine", "laminas", "module"], "support": { "issues": "https://github.com/doctrine/DoctrineModule/issues", "source": "https://github.com/doctrine/DoctrineModule/tree/5.3.0" @@ -730,9 +682,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -820,9 +770,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -911,9 +859,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -930,13 +876,7 @@ ], "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], + "keywords": ["annotations", "docblock", "lexer", "parser", "php"], "support": { "issues": "https://github.com/doctrine/lexer/issues", "source": "https://github.com/doctrine/lexer/tree/2.1.1" @@ -1001,9 +941,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -1032,13 +970,7 @@ ], "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", "homepage": "https://doctrine-project.org/projects/persistence.html", - "keywords": [ - "mapper", - "object", - "odm", - "orm", - "persistence" - ], + "keywords": ["mapper", "object", "odm", "orm", "persistence"], "support": { "issues": "https://github.com/doctrine/persistence/issues", "source": "https://github.com/doctrine/persistence/tree/2.5.7" @@ -1105,9 +1037,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "support": { "issues": "https://github.com/dvsa/dvsa-laminas-config-cloud-parameters/issues", "source": "https://github.com/dvsa/dvsa-laminas-config-cloud-parameters/tree/v1.0.0" @@ -1143,20 +1073,14 @@ }, "type": "library", "autoload": { - "files": [ - "library/HTMLPurifier.composer.php" - ], + "files": ["library/HTMLPurifier.composer.php"], "psr-0": { "HTMLPurifier": "library/" }, - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] + "exclude-from-classmap": ["/library/HTMLPurifier/Language/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], + "license": ["LGPL-2.1-or-later"], "authors": [ { "name": "Edward Z. Yang", @@ -1166,9 +1090,7 @@ ], "description": "Standards compliant HTML filter written in PHP", "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], + "keywords": ["html"], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" @@ -1221,17 +1143,13 @@ } }, "autoload": { - "files": [ - "src/functions_include.php" - ], + "files": ["src/functions_include.php"], "psr-4": { "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1335,9 +1253,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1361,9 +1277,7 @@ } ], "description": "Guzzle promises library", - "keywords": [ - "promise" - ], + "keywords": ["promise"], "support": { "issues": "https://github.com/guzzle/promises/issues", "source": "https://github.com/guzzle/promises/tree/2.0.2" @@ -1429,9 +1343,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1551,15 +1463,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "provides an API for authentication and includes concrete authentication adapters for common use case scenarios", "homepage": "https://laminas.dev", - "keywords": [ - "Authentication", - "laminas" - ], + "keywords": ["Authentication", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-authentication/", @@ -1650,17 +1557,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output", "homepage": "https://laminas.dev", - "keywords": [ - "cache", - "laminas", - "psr-16", - "psr-6" - ], + "keywords": ["cache", "laminas", "psr-16", "psr-6"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-cache/", @@ -1721,14 +1621,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Laminas cache adapter for redis", - "keywords": [ - "cache", - "laminas" - ], + "keywords": ["cache", "laminas"], "support": { "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-redis/", "forum": "https://discourse.laminas.dev/", @@ -1781,16 +1676,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", "homepage": "https://laminas.dev", - "keywords": [ - "code", - "laminas", - "laminasframework" - ], + "keywords": ["code", "laminas", "laminasframework"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-code/", @@ -1850,15 +1739,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "provides a nested object property based user interface for accessing this configuration data within application code", "homepage": "https://laminas.dev", - "keywords": [ - "config", - "laminas" - ], + "keywords": ["config", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-config/", @@ -1918,15 +1802,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Lightweight library for collecting and merging configuration from different sources", "homepage": "https://laminas.dev", - "keywords": [ - "config-aggregator", - "laminas" - ], + "keywords": ["config-aggregator", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-config-aggregator/", @@ -1982,15 +1861,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Strong cryptography tools and password hashing", "homepage": "https://laminas.dev", - "keywords": [ - "crypt", - "laminas" - ], + "keywords": ["crypt", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-crypt/", @@ -2044,15 +1918,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", "homepage": "https://laminas.dev", - "keywords": [ - "escaper", - "laminas" - ], + "keywords": ["escaper", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-escaper/", @@ -2110,17 +1979,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Trigger and listen to events within a PHP application", "homepage": "https://laminas.dev", - "keywords": [ - "event", - "eventmanager", - "events", - "laminas" - ], + "keywords": ["event", "eventmanager", "events", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-eventmanager/", @@ -2191,15 +2053,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Programmatically filter and normalize data and files", "homepage": "https://laminas.dev", - "keywords": [ - "filter", - "laminas" - ], + "keywords": ["filter", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-filter/", @@ -2288,15 +2145,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Validate and display simple and complex forms, casting forms to business objects and vice versa", "homepage": "https://laminas.dev", - "keywords": [ - "form", - "laminas" - ], + "keywords": ["form", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-form/", @@ -2352,16 +2204,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", "homepage": "https://laminas.dev", - "keywords": [ - "http", - "http client", - "laminas" - ], + "keywords": ["http", "http client", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-http/", @@ -2430,15 +2276,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Serialize objects to arrays, and vice versa", "homepage": "https://laminas.dev", - "keywords": [ - "hydrator", - "laminas" - ], + "keywords": ["hydrator", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-hydrator/", @@ -2515,15 +2356,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Provide translations for your application, and filter and validate internationalized values", "homepage": "https://laminas.dev", - "keywords": [ - "i18n", - "laminas" - ], + "keywords": ["i18n", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-i18n/", @@ -2589,15 +2425,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", "homepage": "https://laminas.dev", - "keywords": [ - "inputfilter", - "laminas" - ], + "keywords": ["inputfilter", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-inputfilter/", @@ -2650,15 +2481,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP", "homepage": "https://laminas.dev", - "keywords": [ - "json", - "laminas" - ], + "keywords": ["json", "laminas"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-json/", @@ -2706,15 +2532,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Autoloading and plugin loading strategies", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "loader" - ], + "keywords": ["laminas", "loader"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-loader/", @@ -2793,16 +2614,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Robust, composite logger with filtering, formatting, and PSR-3 support", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "log", - "logging" - ], + "keywords": ["laminas", "log", "logging"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-log/", @@ -2861,15 +2676,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Create cryptographically secure pseudo-random numbers, and manage big integers", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "math" - ], + "keywords": ["laminas", "math"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-math/", @@ -2933,15 +2743,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Modular application system for laminas-mvc applications", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "modulemanager" - ], + "keywords": ["laminas", "modulemanager"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-modulemanager/", @@ -3014,15 +2819,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Laminas's event-driven MVC layer, including MVC Applications, Controllers, and Plugins", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mvc" - ], + "keywords": ["laminas", "mvc"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mvc/", @@ -3091,16 +2891,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Integration between laminas-mvc and laminas-i18n", "homepage": "https://laminas.dev", - "keywords": [ - "i18n", - "laminas", - "mvc" - ], + "keywords": ["i18n", "laminas", "mvc"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mvc-i18n/", @@ -3161,15 +2955,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Plugin for creating and exposing flash messages via laminas-mvc controllers", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mvc" - ], + "keywords": ["laminas", "mvc"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mvc-plugin-flashmessenger/", @@ -3227,15 +3016,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Post/Redirect/Get plugin for laminas-mvc controllers", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "mvc" - ], + "keywords": ["laminas", "mvc"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-mvc-plugin-prg/", @@ -3308,15 +3092,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Manage trees of pointers to web pages in order to build navigation systems", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "navigation" - ], + "keywords": ["laminas", "navigation"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-navigation/", @@ -3387,15 +3166,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Paginate collections of data from arbitrary sources", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "paginator" - ], + "keywords": ["laminas", "paginator"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-paginator/", @@ -3458,15 +3232,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Flexible routing system for HTTP and console applications", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "routing" - ], + "keywords": ["laminas", "routing"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-router/", @@ -3528,15 +3297,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Serialize and deserialize PHP structures to a variety of representations", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "serializer" - ], + "keywords": ["laminas", "serializer"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-serializer/", @@ -3605,17 +3369,13 @@ ], "type": "library", "autoload": { - "files": [ - "src/autoload.php" - ], + "files": ["src/autoload.php"], "psr-4": { "Laminas\\ServiceManager\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Factory-Driven Dependency Injection Container", "homepage": "https://laminas.dev", "keywords": [ @@ -3700,15 +3460,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Object-oriented interface to PHP sessions and storage", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "session" - ], + "keywords": ["laminas", "session"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-session/", @@ -3759,15 +3514,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "SPL extensions, array utilities, error handlers, and more", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" - ], + "keywords": ["laminas", "stdlib"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-stdlib/", @@ -3819,15 +3569,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Create FIGlets and text-based tables", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "text" - ], + "keywords": ["laminas", "text"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-text/", @@ -3877,15 +3622,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "uri" - ], + "keywords": ["laminas", "uri"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-uri/", @@ -3961,15 +3701,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "validator" - ], + "keywords": ["laminas", "validator"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-validator/", @@ -4051,9 +3786,7 @@ "laminas/laminas-permissions-acl": "Laminas\\Permissions\\Acl component", "laminas/laminas-uri": "Laminas\\Uri component" }, - "bin": [ - "bin/templatemap_generator.php" - ], + "bin": ["bin/templatemap_generator.php"], "type": "library", "autoload": { "psr-4": { @@ -4061,15 +3794,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Flexible view layer supporting and providing multiple view layers, helpers, and more", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "view" - ], + "keywords": ["laminas", "view"], "support": { "chat": "https://laminas.dev/chat", "docs": "https://docs.laminas.dev/laminas-view/", @@ -4121,16 +3849,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Utility library for XML usage, best practices, and security in PHP", "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "security", - "xml" - ], + "keywords": ["laminas", "security", "xml"], "support": { "chat": "https://laminas.dev/chat", "forum": "https://discourse.laminas.dev", @@ -4197,9 +3919,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kyle Spraggs", @@ -4218,12 +3938,7 @@ ], "description": "Laminas Framework MVC Module that provides a layer of features of Laminas\\Permissions\\Rbac", "homepage": "http://www.github.com/Laminas-Commons/LmcRbacMvc", - "keywords": [ - "laminas", - "module", - "permissions", - "rbac" - ], + "keywords": ["laminas", "module", "permissions", "rbac"], "support": { "issues": "https://github.com/LM-Commons/LmcRbacMvc/issues", "source": "https://github.com/LM-Commons/LmcRbacMvc/tree/v3.3.2" @@ -4252,9 +3967,7 @@ "composer/xdebug-handler": "^3.0.3", "phpunit/phpunit": "^8.5.33" }, - "bin": [ - "bin/jp.php" - ], + "bin": ["bin/jp.php"], "type": "library", "extra": { "branch-alias": { @@ -4262,17 +3975,13 @@ } }, "autoload": { - "files": [ - "src/JmesPath.php" - ], + "files": ["src/JmesPath.php"], "psr-4": { "JmesPath\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -4286,10 +3995,7 @@ } ], "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], + "keywords": ["json", "jsonpath"], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" @@ -4318,9 +4024,7 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, - "bin": [ - "bin/php-parse" - ], + "bin": ["bin/php-parse"], "type": "library", "extra": { "branch-alias": { @@ -4333,19 +4037,14 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], + "keywords": ["parser", "php"], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" @@ -4405,9 +4104,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "OLCS Authentication", "support": { "source": "https://github.com/dvsa/olcs-auth/tree/v8.1.0" @@ -4416,16 +4113,16 @@ }, { "name": "olcs/olcs-common", - "version": "v7.11.3", + "version": "v7.12.0", "source": { "type": "git", "url": "https://github.com/dvsa/olcs-common.git", - "reference": "f24dede9bf0a81ae76ca4e0940aa469f9404d596" + "reference": "a100835ffa89dcf3b749c331a40536d9895f4ac9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dvsa/olcs-common/zipball/f24dede9bf0a81ae76ca4e0940aa469f9404d596", - "reference": "f24dede9bf0a81ae76ca4e0940aa469f9404d596", + "url": "https://api.github.com/repos/dvsa/olcs-common/zipball/a100835ffa89dcf3b749c331a40536d9895f4ac9", + "reference": "a100835ffa89dcf3b749c331a40536d9895f4ac9", "shasum": "" }, "require": { @@ -4479,16 +4176,14 @@ "psr-4": { "Common\\": "Common/src/Common" }, - "classmap": [ - "./Common/src/Module.php" - ] + "classmap": ["./Common/src/Module.php"] }, "notification-url": "https://packagist.org/downloads/", "description": "Common library for the OLCS Project", "support": { - "source": "https://github.com/dvsa/olcs-common/tree/v7.11.3" + "source": "https://github.com/dvsa/olcs-common/tree/v7.12.0" }, - "time": "2024-09-25T15:00:40+00:00" + "time": "2024-10-02T14:53:14+00:00" }, { "name": "olcs/olcs-logging", @@ -4535,9 +4230,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Logging Module for OLCS", "support": { "source": "https://github.com/dvsa/olcs-logging/tree/v7.2.0" @@ -4546,16 +4239,16 @@ }, { "name": "olcs/olcs-transfer", - "version": "v7.5.0", + "version": "v7.6.0", "source": { "type": "git", "url": "https://github.com/dvsa/olcs-transfer.git", - "reference": "ba3ee2870f11a7f56c568a36a2f44b109af003ff" + "reference": "8eea158943e4cd5816680236a295bd69c526ff08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dvsa/olcs-transfer/zipball/ba3ee2870f11a7f56c568a36a2f44b109af003ff", - "reference": "ba3ee2870f11a7f56c568a36a2f44b109af003ff", + "url": "https://api.github.com/repos/dvsa/olcs-transfer/zipball/8eea158943e4cd5816680236a295bd69c526ff08", + "reference": "8eea158943e4cd5816680236a295bd69c526ff08", "shasum": "" }, "require": { @@ -4597,9 +4290,9 @@ "notification-url": "https://packagist.org/downloads/", "description": "OLCS Transfer", "support": { - "source": "https://github.com/dvsa/olcs-transfer/tree/v7.5.0" + "source": "https://github.com/dvsa/olcs-transfer/tree/v7.6.0" }, - "time": "2024-08-23T09:12:48+00:00" + "time": "2024-10-02T15:03:11+00:00" }, { "name": "olcs/olcs-utils", @@ -4680,9 +4373,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4690,11 +4381,7 @@ } ], "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], + "keywords": ["cache", "psr", "psr-6"], "support": { "source": "https://github.com/php-fig/cache/tree/master" }, @@ -4724,9 +4411,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4735,13 +4420,7 @@ ], "description": "Common interface for reading the clock.", "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], + "keywords": ["clock", "now", "psr", "psr-20", "time"], "support": { "issues": "https://github.com/php-fig/clock/issues", "source": "https://github.com/php-fig/clock/tree/1.0.0" @@ -4772,9 +4451,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4826,9 +4503,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4837,12 +4512,7 @@ ], "description": "Common interface for HTTP clients", "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], + "keywords": ["http", "http-client", "psr", "psr-18"], "support": { "source": "https://github.com/php-fig/http-client" }, @@ -4878,9 +4548,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4932,9 +4600,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4985,9 +4651,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4996,11 +4660,7 @@ ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], + "keywords": ["log", "psr", "psr-3"], "support": { "source": "https://github.com/php-fig/log/tree/1.1.4" }, @@ -5035,9 +4695,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5045,13 +4703,7 @@ } ], "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], + "keywords": ["cache", "caching", "psr", "psr-16", "simple-cache"], "support": { "source": "https://github.com/php-fig/simple-cache/tree/master" }, @@ -5080,14 +4732,10 @@ }, "type": "library", "autoload": { - "files": [ - "src/getallheaders.php" - ] + "files": ["src/getallheaders.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ralph Khattar", @@ -5150,14 +4798,10 @@ "psr-4": { "Symfony\\Component\\Console\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -5170,12 +4814,7 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], + "keywords": ["cli", "command-line", "console", "terminal"], "support": { "source": "https://github.com/symfony/console/tree/v6.4.7" }, @@ -5245,14 +4884,10 @@ "psr-4": { "Symfony\\Component\\DependencyInjection\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -5312,14 +4947,10 @@ } }, "autoload": { - "files": [ - "function.php" - ] + "files": ["function.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -5382,17 +5013,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Gert de Pagter", @@ -5405,12 +5032,7 @@ ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], + "keywords": ["compatibility", "ctype", "polyfill", "portable"], "support": { "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, @@ -5458,17 +5080,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -5536,20 +5154,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -5620,17 +5232,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -5643,13 +5251,7 @@ ], "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "mbstring", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, @@ -5694,20 +5296,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php80\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ion Bazan", @@ -5724,12 +5320,7 @@ ], "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, @@ -5774,20 +5365,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php81\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -5800,12 +5385,7 @@ ], "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" }, @@ -5852,14 +5432,10 @@ "psr-4": { "Symfony\\Component\\PropertyAccess\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -5938,14 +5514,10 @@ "psr-4": { "Symfony\\Component\\PropertyInfo\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Kévin Dunglas", @@ -6026,9 +5598,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6101,20 +5671,14 @@ }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], + "files": ["Resources/functions.php"], "psr-4": { "Symfony\\Component\\String\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6127,14 +5691,7 @@ ], "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], + "keywords": ["grapheme", "i18n", "string", "unicode", "utf-8", "utf8"], "support": { "source": "https://github.com/symfony/string/tree/v7.0.7" }, @@ -6190,9 +5747,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], + "license": ["BSD-2-Clause"], "description": "Tool to write files safely, to avoid race conditions", "keywords": [ "concurrent write", @@ -6250,9 +5805,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Bernhard Schussek", @@ -6260,11 +5813,7 @@ } ], "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], + "keywords": ["assert", "check", "validate"], "support": { "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.11.0" @@ -6301,9 +5850,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Michaël Gallego", @@ -6313,12 +5860,7 @@ ], "description": "Zend Framework 3 prototype for Zend\\Permissions\\Rbac.", "homepage": "https://github.com/zf-fr/rbac", - "keywords": [ - "rbac", - "security", - "zf2", - "zf3" - ], + "keywords": ["rbac", "security", "zf2", "zf3"], "support": { "issues": "https://github.com/zf-fr/rbac/issues", "source": "https://github.com/zf-fr/rbac/tree/master" @@ -6366,9 +5908,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "No conflicts for your bin dependencies", "keywords": [ "composer", @@ -6418,9 +5958,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Marco Pivetta", @@ -6430,10 +5968,7 @@ ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], + "keywords": ["constructor", "instantiate"], "support": { "issues": "https://github.com/doctrine/instantiator/issues", "source": "https://github.com/doctrine/instantiator/tree/2.0.0" @@ -6487,18 +6022,12 @@ } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "classmap": ["hamcrest"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], + "keywords": ["test"], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" @@ -6535,9 +6064,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "John Kary", @@ -6546,11 +6073,7 @@ ], "description": "Find and report on slow tests in your PHPUnit test suite", "homepage": "https://github.com/johnkary/phpunit-speedtrap", - "keywords": [ - "phpunit", - "profile", - "slow" - ], + "keywords": ["phpunit", "profile", "slow"], "support": { "issues": "https://github.com/johnkary/phpunit-speedtrap/issues", "source": "https://github.com/johnkary/phpunit-speedtrap/tree/v4.0.1" @@ -6612,17 +6135,10 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "Module for developer and debug tools for use with laminas-mvc applications.", "homepage": "https://laminas.dev", - "keywords": [ - "debug", - "developer", - "laminas", - "module" - ], + "keywords": ["debug", "developer", "laminas", "module"], "support": { "chat": "https://laminas.dev/chat", "forum": "https://discourse.laminas.dev", @@ -6666,18 +6182,13 @@ }, "type": "library", "autoload": { - "files": [ - "library/helpers.php", - "library/Mockery.php" - ], + "files": ["library/helpers.php", "library/Mockery.php"], "psr-4": { "Mockery\\": "library/Mockery" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Pádraic Brady", @@ -6749,25 +6260,15 @@ }, "type": "library", "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], + "files": ["src/DeepCopy/deep_copy.php"], "psr-4": { "DeepCopy\\": "src/DeepCopy/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], + "keywords": ["clone", "copy", "duplicate", "object", "object graph"], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" @@ -6809,14 +6310,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -6866,14 +6363,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -6941,14 +6434,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -6958,11 +6447,7 @@ ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], + "keywords": ["coverage", "testing", "xunit"], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", @@ -7003,14 +6488,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7020,10 +6501,7 @@ ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], + "keywords": ["filesystem", "iterator"], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" @@ -7067,14 +6545,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7084,9 +6558,7 @@ ], "description": "Invoke callables with a timeout", "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], + "keywords": ["process"], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" @@ -7126,14 +6598,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7143,9 +6611,7 @@ ], "description": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], + "keywords": ["template"], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" @@ -7185,14 +6651,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7202,9 +6664,7 @@ ], "description": "Utility class for timing", "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], + "keywords": ["timer"], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" @@ -7264,9 +6724,7 @@ "ext-soap": "To be able to generate mocks based on WSDL files", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, - "bin": [ - "phpunit" - ], + "bin": ["phpunit"], "type": "library", "extra": { "branch-alias": { @@ -7274,17 +6732,11 @@ } }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] + "files": ["src/Framework/Assert/Functions.php"], + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7294,11 +6746,7 @@ ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], + "keywords": ["phpunit", "testing", "xunit"], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", @@ -7366,9 +6814,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Abdul Malik Ikhsan", @@ -7379,11 +6825,7 @@ ], "description": "Laminas Session Toolbar for Laminas\\DeveloperTools ", "homepage": "https://github.com/samsonasik/SanSessionToolbar", - "keywords": [ - "laminas2", - "laminas3", - "session" - ], + "keywords": ["laminas2", "laminas3", "session"], "support": { "issues": "https://github.com/samsonasik/SanSessionToolbar/issues", "source": "https://github.com/samsonasik/SanSessionToolbar/tree/4.0.1" @@ -7423,14 +6865,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7479,14 +6917,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7535,14 +6969,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7592,14 +7022,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7620,11 +7046,7 @@ ], "description": "Provides the functionality to compare PHP values for equality", "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], + "keywords": ["comparator", "compare", "equality"], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" @@ -7665,14 +7087,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7722,14 +7140,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7742,12 +7156,7 @@ ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], + "keywords": ["diff", "udiff", "unidiff", "unified diff"], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" @@ -7790,14 +7199,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7806,11 +7211,7 @@ ], "description": "Provides functionality to handle HHVM/PHP environments", "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], + "keywords": ["Xdebug", "environment", "hhvm"], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" @@ -7852,14 +7253,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7884,10 +7281,7 @@ ], "description": "Provides the functionality to export PHP variables for visualization", "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], + "keywords": ["export", "exporter"], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" @@ -7933,14 +7327,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -7949,9 +7339,7 @@ ], "description": "Snapshotting of global state", "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], + "keywords": ["global state"], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" @@ -7992,14 +7380,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8050,14 +7434,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8105,14 +7485,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8160,14 +7536,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8223,14 +7595,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8277,14 +7645,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8330,14 +7694,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -8388,25 +7748,17 @@ "symfony/uid": "^6.4|^7.0", "twig/twig": "^3.0.4" }, - "bin": [ - "Resources/bin/var-dump-server" - ], + "bin": ["Resources/bin/var-dump-server"], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], + "files": ["Resources/functions/dump.php"], "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8419,10 +7771,7 @@ ], "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], + "keywords": ["debug", "dump"], "support": { "source": "https://github.com/symfony/var-dumper/tree/v7.0.7" }, @@ -8464,14 +7813,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", diff --git a/app/selfserve/module/Olcs/src/Controller/Lva/AbstractUndertakingsController.php b/app/selfserve/module/Olcs/src/Controller/Lva/AbstractUndertakingsController.php index cfd2ec3b96..cc6723d110 100644 --- a/app/selfserve/module/Olcs/src/Controller/Lva/AbstractUndertakingsController.php +++ b/app/selfserve/module/Olcs/src/Controller/Lva/AbstractUndertakingsController.php @@ -14,8 +14,11 @@ use Dvsa\Olcs\Transfer\Command\Application\UpdateDeclaration; use Dvsa\Olcs\Transfer\Command\GovUkAccount\GetGovUkAccountRedirect; use Dvsa\Olcs\Transfer\Query\FeatureToggle\IsEnabled as IsEnabledQry; +use Dvsa\Olcs\Transfer\Query\User\OperatorAdminForOrganisationHasLoggedIn; +use Dvsa\Olcs\Transfer\Query\User\UserListSelfserve; use Dvsa\Olcs\Transfer\Util\Annotation\AnnotationBuilder; use Dvsa\Olcs\Utils\Translation\NiTextTranslation; +use Exception; use LmcRbacMvc\Service\AuthorizationService; /** @@ -84,6 +87,13 @@ public function indexAction() } if ($request->isPost()) { + $operatorAdminHasLoggedIn = $this->checkIfOperatorAdminHasLoggedIn($applicationData['licence']['organisation']['id']); + + // If form is submitted, but an operator admin has not logged in, abort and redirect to undertakings. + if (!$operatorAdminHasLoggedIn) { + return $this->redirect()->refresh(); + } + $data = (array) $request->getPost(); $form->setData($data); if ($form->isValid()) { @@ -113,6 +123,9 @@ public function indexAction() $form->setData($data); } + // Check if operator admin has logged in; if not, disable the submit buttons and display a message. + $this->checkIfOperatorAdminHasLoggedIn($applicationData['licence']['organisation']['id'], $form); + return $this->render('undertakings', $form); } @@ -181,7 +194,7 @@ protected function goToNextStep($appId) 'returnUrl' => $returnUrl, ])); if (!$urlResult->isOk()) { - throw new \Exception('GetGovUkAccountRedirect command returned non-OK', $urlResult->getStatusCode()); + throw new Exception('GetGovUkAccountRedirect command returned non-OK', $urlResult->getStatusCode()); } return $this->redirect()->toUrl($urlResult->getResult()['messages'][0]); } @@ -253,7 +266,7 @@ protected function getUndertakingsData() */ protected function formatDataForForm($applicationData) { - $goodsOrPsv = $applicationData['goodsOrPsv']['id']; + $goodsOrPsv = $applicationData['goodsOrPsv']['id']; $output = [ 'declarationsAndUndertakings' => [ @@ -306,4 +319,64 @@ protected function updateSubmitButtons($form, $applicationData) $formHelper->remove($form, 'form-actions->submitAndPay'); } } + + /** + * @throws Exception + */ + private function operatorAdminForOrganisationHasLoggedIn($organisationId): bool + { + $query = OperatorAdminForOrganisationHasLoggedIn::create([ + 'organisation' => $organisationId + ]); + + $result = $this->handleQuery($query); + + if (!$result->isOk()) { + throw new Exception('OperatorAdminForOrganisationHasLoggedIn query returned non-OK (' . $result->getStatusCode() . ') -- ' . $result->getBody()); + } + + $decodedResult = $result->getResult(); + if (!isset($decodedResult['operatorAdminHasLoggedIn'])) { + throw new Exception('OperatorAdminForOrganisationHasLoggedIn query returned unexpected result (expected operatorAdminHasLoggedIn) -- ' . $result->getBody()); + } + + return $decodedResult['operatorAdminHasLoggedIn']; + } + + /** + * @throws Exception + */ + protected function checkIfOperatorAdminHasLoggedIn($organisationId, $form = null): bool + { + $operatorAdminHasLoggedIn = $this->operatorAdminForOrganisationHasLoggedIn($organisationId); + + if (!$operatorAdminHasLoggedIn && $form instanceof \Laminas\Form\Form) { + if ($form->has('form-actions')) { + $form->remove('form-actions'); + } + if ($form->has('signatureOptions')) { + $form->remove('signatureOptions'); + } + if ($form->has('interim')) { + $form->remove('interim'); + } + if ($form->has('declarationsAndUndertakings') && $form->get('declarationsAndUndertakings')->has('signatureOptions')) { + $form->get('declarationsAndUndertakings')->remove('signatureOptions'); + } + $form->add( + [ + 'name' => 'operator-admin-login-required', + 'type' => \Common\Form\Elements\Types\HtmlTranslated::class, + 'attributes' => [ + 'value' => 'markup-operator-admin-login-required-text', + ], + ], + [ + 'priority' => 1000, + ] + ); + } + + return $operatorAdminHasLoggedIn; + } }