diff --git a/api/application/composer.json b/api/application/composer.json index 727f3c29..c606e8f0 100644 --- a/api/application/composer.json +++ b/api/application/composer.json @@ -22,12 +22,14 @@ "tecnickcom/tcpdf": "^6.6", "phpmailer/phpmailer": "^6.0", "php-curl-class/php-curl-class": "^8.5", - "guzzlehttp/guzzle": "^6.3", + "guzzlehttp/guzzle": "^7.4.4", "twilio/sdk": "^6.10", "phpoffice/phpspreadsheet": "^1.27", "johnathanmiller/secure-env-php": "^2.0", "google/apiclient": "^2.0", - "jurosh/pdf-merge": "^2.1" + "jurosh/pdf-merge": "^2.1", + "symfony/symfony": "^3.0", + "google/cloud": "^0.197.0" }, "suggest": { diff --git a/api/application/composer.lock b/api/application/composer.lock index 7387764e..cd64272a 100644 --- a/api/application/composer.lock +++ b/api/application/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "37132a2e89b7f0d6ca3f66aef20cecca", + "content-hash": "f81965ebc66fd7670170d93cbc1fa844", "packages": [ { "name": "amphp/amp", @@ -208,6 +208,66 @@ }, "time": "2022-01-19T19:18:46+00:00" }, + { + "name": "brick/math", + "version": "0.9.3", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.9.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.9.3" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2021-08-15T20:50:18+00:00" + }, { "name": "ddeboer/tesseract", "version": "1.1", @@ -256,6 +316,839 @@ }, "time": "2013-06-26T21:04:54+00:00" }, + { + "name": "doctrine/annotations", + "version": "1.14.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1 || ^2", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.14.3" + }, + "time": "2023-02-01T09:20:38+00:00" + }, + { + "name": "doctrine/cache", + "version": "1.13.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "56cd022adb5514472cb144c087393c1821911d09" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/56cd022adb5514472cb144c087393c1821911d09", + "reference": "56cd022adb5514472cb144c087393c1821911d09", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^9", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "predis/predis": "~1.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/1.13.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2022-05-20T20:06:54+00:00" + }, + { + "name": "doctrine/collections", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1.3 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0 || ^10.0", + "phpstan/phpstan": "^1.4.8", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", + "vimeo/psalm": "^4.22" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "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" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.8.0" + }, + "time": "2022-09-01T20:12:10+00:00" + }, + { + "name": "doctrine/common", + "version": "2.13.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "f3812c026e557892c34ef37f6ab808a6b567da7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/f3812c026e557892c34ef37f6ab808a6b567da7f", + "reference": "f3812c026e557892c34ef37f6ab808a6b567da7f", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/inflector": "^1.0", + "doctrine/lexer": "^1.0", + "doctrine/persistence": "^1.3.3", + "doctrine/reflection": "^1.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^1.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^4.0.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, persistence interfaces, proxies, event system and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", + "keywords": [ + "common", + "doctrine", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/2.13.x" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcommon", + "type": "tidelift" + } + ], + "time": "2020-06-05T16:46:05+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "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": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "time": "2022-05-02T15:47:09+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.8", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.24" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2022-10-12T20:51:15+00:00" + }, + { + "name": "doctrine/inflector", + "version": "1.4.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector", + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/1.4.4" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2021-04-16T17:34:40+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "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" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-02-28T11:07:21+00:00" + }, + { + "name": "doctrine/persistence", + "version": "1.3.8", + "source": { + "type": "git", + "url": "https://github.com/doctrine/persistence.git", + "reference": "7a6eac9fb6f61bba91328f15aa7547f4806ca288" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/7a6eac9fb6f61bba91328f15aa7547f4806ca288", + "reference": "7a6eac9fb6f61bba91328f15aa7547f4806ca288", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/reflection": "^1.2", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.10@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^3.11" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common", + "Doctrine\\Persistence\\": "lib/Doctrine/Persistence" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "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" + ], + "support": { + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/1.3.x" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence", + "type": "tidelift" + } + ], + "time": "2020-06-20T12:56:16+00:00" + }, + { + "name": "doctrine/reflection", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/reflection.git", + "reference": "1034e5e71f89978b80f9c1570e7226f6c3b9b6fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/reflection/zipball/1034e5e71f89978b80f9c1570e7226f6c3b9b6fb", + "reference": "1034e5e71f89978b80f9c1570e7226f6c3b9b6fb", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "doctrine/common": "^3.3", + "phpstan/phpstan": "^1.4.10", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Reflection project is a simple library used by the various Doctrine projects which adds some additional functionality on top of the reflection functionality that comes with PHP. It allows you to get the reflection information about classes, methods and properties statically.", + "homepage": "https://www.doctrine-project.org/projects/reflection.html", + "keywords": [ + "reflection", + "static" + ], + "support": { + "issues": "https://github.com/doctrine/reflection/issues", + "source": "https://github.com/doctrine/reflection/tree/1.2.3" + }, + "abandoned": "roave/better-reflection", + "time": "2022-05-31T18:46:25+00:00" + }, { "name": "dompdf/dompdf", "version": "v0.8.3", @@ -387,6 +1280,67 @@ }, "time": "2022-09-18T07:06:19+00:00" }, + { + "name": "fig/link-util", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link-util.git", + "reference": "5d7b8d04ed3393b4b59968ca1e906fb7186d81e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link-util/zipball/5d7b8d04ed3393b4b59968ca1e906fb7186d81e8", + "reference": "5d7b8d04ed3393b4b59968ca1e906fb7186d81e8", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "psr/link": "~1.0@dev" + }, + "provide": { + "psr/link-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.1", + "squizlabs/php_codesniffer": "^2.3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common utility implementations for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "support": { + "issues": "https://github.com/php-fig/link-util/issues", + "source": "https://github.com/php-fig/link-util/tree/1.1.2" + }, + "time": "2021-02-03T23:36:04+00:00" + }, { "name": "firebase/php-jwt", "version": "v5.5.1", @@ -618,75 +1572,977 @@ "time": "2022-11-28T18:29:23+00:00" }, { - "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "name": "google/cloud", + "version": "v0.197.0", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "url": "https://github.com/googleapis/google-cloud-php.git", + "reference": "ffb7f39ef491cdf2c263833531bf2eef6f06f5da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/googleapis/google-cloud-php/zipball/ffb7f39ef491cdf2c263833531bf2eef6f06f5da", + "reference": "ffb7f39ef491cdf2c263833531bf2eef6f06f5da", + "shasum": "" + }, + "require": { + "google/auth": "^1.18", + "google/common-protos": "^1.3.1||^2.0||^3.0", + "google/crc32": "^0.1.0", + "google/gax": "^1.12", + "guzzlehttp/guzzle": "^5.3|^6.5.7|^7.4.4", + "guzzlehttp/psr7": "^1.7|^2.0", + "monolog/monolog": "^1.1||^2.0||^3.0", + "php": ">=5.6", + "psr/http-message": "1.0.*", + "ramsey/uuid": "^3.0|^4.0", + "rize/uri-template": "~0.3" + }, + "conflict": { + "psr/log": ">=3" + }, + "replace": { + "google/access-context-manager": "0.3.3", + "google/analytics-admin": "0.9.0", + "google/analytics-data": "0.9.4", + "google/cloud-access-approval": "1.0.3", + "google/cloud-ai-platform": "0.12.0", + "google/cloud-api-gateway": "1.0.3", + "google/cloud-api-keys": "0.1.4", + "google/cloud-apigee-connect": "1.0.3", + "google/cloud-apigee-registry": "0.2.5", + "google/cloud-appengine-admin": "1.0.3", + "google/cloud-artifact-registry": "0.3.9", + "google/cloud-asset": "1.10.1", + "google/cloud-assured-workloads": "0.8.0", + "google/cloud-automl": "1.4.14", + "google/cloud-bare-metal-solution": "0.2.6", + "google/cloud-batch": "0.4.0", + "google/cloud-beyondcorp-appconnections": "0.1.4", + "google/cloud-beyondcorp-appconnectors": "0.1.4", + "google/cloud-beyondcorp-appgateways": "0.1.4", + "google/cloud-beyondcorp-clientconnectorservices": "0.1.4", + "google/cloud-beyondcorp-clientgateways": "0.1.4", + "google/cloud-bigquery": "1.24.0", + "google/cloud-bigquery-analyticshub": "0.1.4", + "google/cloud-bigquery-connection": "1.0.3", + "google/cloud-bigquery-data-exchange": "0.2.4", + "google/cloud-bigquery-datapolicies": "0.2.2", + "google/cloud-bigquery-migration": "0.1.4", + "google/cloud-bigquery-reservation": "1.0.3", + "google/cloud-bigquery-storage": "1.2.10", + "google/cloud-bigquerydatatransfer": "1.4.1", + "google/cloud-bigtable": "1.21.0", + "google/cloud-billing": "1.5.3", + "google/cloud-billing-budgets": "1.0.3", + "google/cloud-binary-authorization": "0.5.7", + "google/cloud-build": "0.3.8", + "google/cloud-certificate-manager": "0.3.4", + "google/cloud-channel": "1.1.1", + "google/cloud-common-protos": "0.3.8", + "google/cloud-compute": "1.7.0", + "google/cloud-contact-center-insights": "1.0.3", + "google/cloud-container": "1.10.1", + "google/cloud-container-analysis": "0.2.10", + "google/cloud-core": "1.49.1", + "google/cloud-data-catalog": "1.3.9", + "google/cloud-data-fusion": "0.2.9", + "google/cloud-datacatalog-lineage": "0.1.0", + "google/cloud-dataflow": "0.3.8", + "google/cloud-dataform": "0.1.4", + "google/cloud-datalabeling": "0.1.12", + "google/cloud-dataplex": "0.2.1", + "google/cloud-dataproc": "3.4.0", + "google/cloud-dataproc-metastore": "0.5.1", + "google/cloud-datastore": "1.18.1", + "google/cloud-datastore-admin": "0.5.6", + "google/cloud-datastream": "1.0.3", + "google/cloud-debugger": "1.4.14", + "google/cloud-deploy": "0.3.4", + "google/cloud-dialogflow": "1.1.1", + "google/cloud-dlp": "1.8.3", + "google/cloud-dms": "1.0.3", + "google/cloud-document-ai": "1.1.1", + "google/cloud-domains": "0.2.8", + "google/cloud-error-reporting": "0.19.10", + "google/cloud-essential-contacts": "0.2.11", + "google/cloud-eventarc": "1.0.3", + "google/cloud-eventarc-publishing": "0.3.3", + "google/cloud-filestore": "1.0.3", + "google/cloud-firestore": "1.27.3", + "google/cloud-functions": "1.0.3", + "google/cloud-game-servers": "1.0.3", + "google/cloud-gke-backup": "0.1.5", + "google/cloud-gke-connect-gateway": "0.1.11", + "google/cloud-gke-hub": "0.5.6", + "google/cloud-gke-multi-cloud": "0.2.1", + "google/cloud-gsuite-addons": "0.1.4", + "google/cloud-iam": "0.1.4", + "google/cloud-iam-credentials": "1.0.3", + "google/cloud-iap": "1.1.1", + "google/cloud-ids": "0.1.10", + "google/cloud-iot": "1.5.9", + "google/cloud-kms": "1.15.3", + "google/cloud-language": "0.28.3", + "google/cloud-life-sciences": "0.3.3", + "google/cloud-logging": "1.25.1", + "google/cloud-managed-identities": "1.0.3", + "google/cloud-media-translation": "0.2.10", + "google/cloud-memcache": "1.0.3", + "google/cloud-monitoring": "1.3.1", + "google/cloud-network-connectivity": "1.0.3", + "google/cloud-network-management": "1.0.3", + "google/cloud-network-security": "0.3.4", + "google/cloud-notebooks": "0.3.3", + "google/cloud-optimization": "0.1.7", + "google/cloud-orchestration-airflow": "1.0.3", + "google/cloud-org-policy": "0.4.0", + "google/cloud-osconfig": "1.0.3", + "google/cloud-oslogin": "1.4.3", + "google/cloud-policy-troubleshooter": "1.0.3", + "google/cloud-private-catalog": "0.2.12", + "google/cloud-profiler": "1.0.3", + "google/cloud-pubsub": "1.40.1", + "google/cloud-recaptcha-enterprise": "1.2.6", + "google/cloud-recommendations-ai": "0.4.10", + "google/cloud-recommender": "1.7.5", + "google/cloud-redis": "1.6.9", + "google/cloud-resource-manager": "0.3.9", + "google/cloud-resource-settings": "1.0.3", + "google/cloud-retail": "1.1.1", + "google/cloud-run": "0.3.3", + "google/cloud-scheduler": "1.7.1", + "google/cloud-secret-manager": "1.10.1", + "google/cloud-security-center": "1.14.1", + "google/cloud-security-private-ca": "1.0.3", + "google/cloud-security-public-ca": "0.1.4", + "google/cloud-service-control": "1.0.3", + "google/cloud-service-directory": "1.0.3", + "google/cloud-service-management": "1.0.3", + "google/cloud-service-usage": "1.0.3", + "google/cloud-shell": "1.0.3", + "google/cloud-spanner": "1.56.0", + "google/cloud-speech": "1.9.1", + "google/cloud-sql-admin": "0.2.9", + "google/cloud-storage": "1.30.2", + "google/cloud-storage-transfer": "1.0.3", + "google/cloud-talent": "1.0.3", + "google/cloud-tasks": "1.11.9", + "google/cloud-text-to-speech": "1.5.2", + "google/cloud-tpu": "1.0.3", + "google/cloud-trace": "1.5.1", + "google/cloud-translate": "1.12.12", + "google/cloud-video-live-stream": "0.2.6", + "google/cloud-video-stitcher": "0.3.4", + "google/cloud-video-transcoder": "0.5.3", + "google/cloud-videointelligence": "1.12.14", + "google/cloud-vision": "1.6.4", + "google/cloud-vm-migration": "0.3.0", + "google/cloud-vmware-engine": "0.1.2", + "google/cloud-vpc-access": "1.0.3", + "google/cloud-web-risk": "1.2.4", + "google/cloud-web-security-scanner": "0.7.11", + "google/cloud-workflows": "0.2.12", + "google/grafeas": "0.4.4", + "google/longrunning": "0.2.4" + }, + "require-dev": { + "erusev/parsedown": "^1.6", + "google/cloud-tools": "^0.13.0", + "opis/closure": "^3.0", + "phpdocumentor/reflection": "^3.0||^4.0||^5.0", + "phpseclib/phpseclib": "^2.0||^3.0", + "phpspec/prophecy": "^1.10.3", + "phpunit/phpunit": "^4.8|^5.0|^8.0", + "rg/avro-php": "^1.8.0||^2.0.1||^3.0.0", + "squizlabs/php_codesniffer": "3.*", + "swaggest/json-schema": "^0.12.0", + "symfony/console": "^3.0", + "symfony/yaml": "^3.3||^6.0", + "vierbergenlars/php-semver": "^3.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "opis/closure": "May be used to serialize closures to process jobs in the batch daemon. Please require version ^3.", + "phpseclib/phpseclib": "May be used in place of OpenSSL for creating signed Cloud Storage URLs. Please require version ^2." + }, + "bin": [ + "Core/bin/google-cloud-batch", + "Debugger/bin/google-cloud-debugger" + ], + "type": "library", + "extra": { + "component": { + "id": "google-cloud", + "target": "googleapis/google-cloud-php.git", + "path": "src", + "entry": [ + "Version.php", + "ServiceBuilder.php" + ] + } + }, + "autoload": { + "psr-4": { + "Grafeas\\": "Grafeas/src", + "Google\\Cloud\\": [ + "src", + "CommonProtos/src" + ], + "Google\\Cloud\\Dlp\\": "Dlp/src", + "Google\\Cloud\\Iam\\": "Iam/src", + "Google\\Cloud\\Iap\\": "Iap/src", + "Google\\Cloud\\Ids\\": "Ids/src", + "Google\\Cloud\\Iot\\": "Iot/src", + "Google\\Cloud\\Kms\\": "Kms/src", + "Google\\Cloud\\Run\\": "Run/src", + "Google\\Cloud\\Sql\\": "SqlAdmin/src", + "Google\\Cloud\\Tpu\\": "Tpu/src", + "Google\\Cloud\\Core\\": "Core/src", + "GPBMetadata\\Google\\": "CommonProtos/metadata", + "Google\\Cloud\\Asset\\": "Asset/src", + "Google\\Cloud\\Batch\\": "Batch/src", + "Google\\Cloud\\Build\\": "Build/src", + "Google\\Cloud\\Redis\\": "Redis/src", + "Google\\Cloud\\Shell\\": "Shell/src", + "Google\\Cloud\\Tasks\\": "Tasks/src", + "Google\\Cloud\\Trace\\": "Trace/src", + "Google\\LongRunning\\": "LongRunning/src/LongRunning", + "GPBMetadata\\Grafeas\\": "Grafeas/metadata", + "Google\\Cloud\\AutoMl\\": "AutoMl/src", + "Google\\Cloud\\Deploy\\": "Deploy/src", + "Google\\Cloud\\Gaming\\": "Gaming/src", + "Google\\Cloud\\GkeHub\\": "GkeHub/src", + "Google\\Cloud\\PubSub\\": "PubSub/src", + "Google\\Cloud\\Retail\\": "Retail/src", + "Google\\Cloud\\Speech\\": "Speech/src", + "Google\\Cloud\\Talent\\": "Talent/src", + "Google\\Cloud\\Vision\\": "Vision/src", + "Google\\Cloud\\ApiKeys\\": "ApiKeys/src", + "Google\\Cloud\\Billing\\": "Billing/src", + "Google\\Cloud\\Channel\\": "Channel/src", + "Google\\Cloud\\Compute\\": "Compute/src", + "Google\\Cloud\\Domains\\": "Domains/src", + "Google\\Cloud\\Logging\\": "Logging/src", + "Google\\Cloud\\OsLogin\\": "OsLogin/src", + "Google\\Cloud\\Spanner\\": "Spanner/src", + "Google\\Cloud\\Storage\\": "Storage/src", + "Google\\Cloud\\WebRisk\\": "WebRisk/src", + "Google\\Analytics\\Data\\": "AnalyticsData/src", + "Google\\Cloud\\BigQuery\\": "BigQuery/src", + "Google\\Cloud\\Bigtable\\": "Bigtable/src", + "Google\\Cloud\\CloudDms\\": "Dms/src", + "Google\\Cloud\\Dataflow\\": "Dataflow/src", + "Google\\Cloud\\Dataform\\": "Dataform/src", + "Google\\Cloud\\Dataplex\\": "Dataplex/src", + "Google\\Cloud\\Dataproc\\": "Dataproc/src", + "Google\\Cloud\\Debugger\\": "Debugger/src", + "Google\\Cloud\\Eventarc\\": "Eventarc/src", + "Google\\Cloud\\Language\\": "Language/src", + "Google\\Cloud\\Memcache\\": "Memcache/src", + "Google\\Cloud\\OsConfig\\": "OsConfig/src", + "Google\\Cloud\\Profiler\\": "Profiler/src", + "GPBMetadata\\Google\\Iam\\": "Iam/metadata", + "Google\\Analytics\\Admin\\": "AnalyticsAdmin/src", + "Google\\Cloud\\AppEngine\\": "AppEngineAdmin/src", + "Google\\Cloud\\Container\\": "Container/src", + "Google\\Cloud\\Datastore\\": "Datastore/src", + "Google\\Cloud\\Filestore\\": "Filestore/src", + "Google\\Cloud\\Firestore\\": "Firestore/src", + "Google\\Cloud\\Functions\\": "Functions/src", + "Google\\Cloud\\GkeBackup\\": "GkeBackup/src", + "Google\\Cloud\\Metastore\\": "DataprocMetastore/src", + "Google\\Cloud\\Notebooks\\": "Notebooks/src", + "Google\\Cloud\\OrgPolicy\\": [ + "OrgPolicy/src", + "Asset/external/protos/Cloud/OrgPolicy" + ], + "Google\\Cloud\\Scheduler\\": "Scheduler/src", + "Google\\Cloud\\Translate\\": "Translate/src", + "Google\\Cloud\\VpcAccess\\": "VpcAccess/src", + "Google\\Cloud\\Workflows\\": "Workflows/src", + "Google\\Apps\\Script\\Type\\": "GSuiteAddOns/external/protos", + "Google\\Cloud\\AIPlatform\\": "AiPlatform/src", + "Google\\Cloud\\ApiGateway\\": "ApiGateway/src", + "Google\\Cloud\\DataFusion\\": "DataFusion/src", + "Google\\Cloud\\Datastream\\": "Datastream/src", + "Google\\Cloud\\Dialogflow\\": "Dialogflow/src", + "Google\\Cloud\\DocumentAI\\": "DocumentAi/src", + "Google\\Cloud\\Monitoring\\": "Monitoring/src", + "Google\\Cloud\\DataCatalog\\": "DataCatalog/src", + "Google\\Cloud\\Recommender\\": "Recommender/src", + "Google\\Cloud\\VMMigration\\": "VmMigration/src", + "GPBMetadata\\Google\\Pubsub\\": "PubSub/metadata", + "Google\\Cloud\\DataLabeling\\": "DataLabeling/src", + "Google\\Cloud\\GSuiteAddOns\\": "GSuiteAddOns/src", + "Google\\Cloud\\LifeSciences\\": "LifeSciences/src", + "Google\\Cloud\\Optimization\\": "Optimization/src", + "Google\\Cloud\\ServiceUsage\\": "ServiceUsage/src", + "Google\\Cloud\\TextToSpeech\\": "TextToSpeech/src", + "Google\\Cloud\\VmwareEngine\\": "VmwareEngine/src", + "GPBMetadata\\Google\\Logging\\": "Logging/metadata", + "GPBMetadata\\Google\\Spanner\\": "Spanner/metadata", + "Google\\ApiCore\\LongRunning\\": "LongRunning/src/ApiCore/LongRunning", + "Google\\Cloud\\ApigeeConnect\\": "ApigeeConnect/src", + "Google\\Cloud\\GkeMultiCloud\\": "GkeMultiCloud/src", + "Google\\Cloud\\SecretManager\\": "SecretManager/src", + "GPBMetadata\\Google\\Bigtable\\": "Bigtable/metadata", + "GPBMetadata\\Google\\Dataflow\\": "Dataflow/metadata", + "Google\\Cloud\\AccessApproval\\": "AccessApproval/src", + "Google\\Cloud\\ApigeeRegistry\\": "ApigeeRegistry/src", + "Google\\Cloud\\ErrorReporting\\": "ErrorReporting/src", + "Google\\Cloud\\PrivateCatalog\\": "PrivateCatalog/src", + "Google\\Cloud\\SecurityCenter\\": "SecurityCenter/src", + "Google\\Cloud\\ServiceControl\\": "ServiceControl/src", + "Google\\Cloud\\Video\\Stitcher\\": "VideoStitcher/src", + "GPBMetadata\\Google\\Appengine\\": "AppEngineAdmin/metadata", + "GPBMetadata\\Google\\Cloud\\Iap\\": "Iap/metadata", + "GPBMetadata\\Google\\Cloud\\Ids\\": "Ids/metadata", + "GPBMetadata\\Google\\Cloud\\Iot\\": "Iot/metadata", + "GPBMetadata\\Google\\Cloud\\Kms\\": "Kms/metadata", + "GPBMetadata\\Google\\Cloud\\Run\\": "Run/metadata", + "GPBMetadata\\Google\\Cloud\\Sql\\": "SqlAdmin/metadata", + "GPBMetadata\\Google\\Cloud\\Tpu\\": "Tpu/metadata", + "GPBMetadata\\Google\\Container\\": "Container/metadata", + "GPBMetadata\\Google\\Datastore\\": "Datastore/metadata", + "GPBMetadata\\Google\\Firestore\\": "Firestore/metadata", + "Google\\Cloud\\Billing\\Budgets\\": "BillingBudgets/src", + "Google\\Cloud\\Datastore\\Admin\\": "DatastoreAdmin/src", + "Google\\Cloud\\Iam\\Credentials\\": "IamCredentials/src", + "Google\\Cloud\\NetworkSecurity\\": "NetworkSecurity/src", + "Google\\Cloud\\ResourceManager\\": "ResourceManager/src", + "Google\\Cloud\\StorageTransfer\\": "StorageTransfer/src", + "GPBMetadata\\Google\\Monitoring\\": "Monitoring/metadata", + "Google\\Cloud\\ArtifactRegistry\\": "ArtifactRegistry/src", + "Google\\Cloud\\AssuredWorkloads\\": "AssuredWorkloads/src", + "Google\\Cloud\\BigQuery\\Storage\\": "BigQueryStorage/src", + "Google\\Cloud\\MediaTranslation\\": "MediaTranslation/src", + "Google\\Cloud\\ResourceSettings\\": "ResourceSettings/src", + "Google\\Cloud\\ServiceDirectory\\": "ServiceDirectory/src", + "Google\\Cloud\\Video\\LiveStream\\": "VideoLiveStream/src", + "Google\\Cloud\\Video\\Transcoder\\": "VideoTranscoder/src", + "GPBMetadata\\Google\\Api\\Apikeys\\": "ApiKeys/metadata", + "GPBMetadata\\Google\\Cloud\\Asset\\": "Asset/metadata", + "GPBMetadata\\Google\\Cloud\\Batch\\": "Batch/metadata", + "GPBMetadata\\Google\\Cloud\\Redis\\": "Redis/metadata", + "GPBMetadata\\Google\\Cloud\\Shell\\": "Shell/metadata", + "GPBMetadata\\Google\\Cloud\\Tasks\\": "Tasks/metadata", + "GPBMetadata\\Google\\Longrunning\\": "LongRunning/metadata/Longrunning", + "GPBMetadata\\Google\\Privacy\\Dlp\\": "Dlp/metadata", + "Google\\Cloud\\BareMetalSolution\\": "BareMetalSolution/src", + "Google\\Cloud\\ContainerAnalysis\\": "ContainerAnalysis/src", + "Google\\Cloud\\EssentialContacts\\": "EssentialContacts/src", + "Google\\Cloud\\ManagedIdentities\\": "ManagedIdentities/src", + "Google\\Cloud\\NetworkManagement\\": "NetworkManagement/src", + "Google\\Cloud\\Security\\PublicCA\\": "SecurityPublicCA/src", + "Google\\Cloud\\ServiceManagement\\": "ServiceManagement/src", + "Google\\Cloud\\VideoIntelligence\\": "VideoIntelligence/src", + "GPBMetadata\\Google\\Cloud\\Automl\\": "AutoMl/metadata", + "GPBMetadata\\Google\\Cloud\\Deploy\\": "Deploy/metadata", + "GPBMetadata\\Google\\Cloud\\Gaming\\": "Gaming/metadata", + "GPBMetadata\\Google\\Cloud\\Gkehub\\": "GkeHub/metadata", + "GPBMetadata\\Google\\Cloud\\Retail\\": "Retail/metadata", + "GPBMetadata\\Google\\Cloud\\Speech\\": "Speech/metadata", + "GPBMetadata\\Google\\Cloud\\Talent\\": "Talent/metadata", + "GPBMetadata\\Google\\Cloud\\Vision\\": "Vision/metadata", + "Google\\Cloud\\BigQuery\\Migration\\": "BigQueryMigration/src", + "Google\\Cloud\\CertificateManager\\": "CertificateManager/src", + "Google\\Cloud\\GkeConnect\\Gateway\\": "GkeConnectGateway/src", + "Google\\Cloud\\Security\\PrivateCA\\": "SecurityPrivateCa/src", + "Google\\Cloud\\WebSecurityScanner\\": "WebSecurityScanner/src", + "GPBMetadata\\Google\\Cloud\\Billing\\": "Billing/metadata", + "GPBMetadata\\Google\\Cloud\\Channel\\": "Channel/metadata", + "GPBMetadata\\Google\\Cloud\\Compute\\": "Compute/metadata", + "GPBMetadata\\Google\\Cloud\\Domains\\": "Domains/metadata", + "GPBMetadata\\Google\\Cloud\\Oslogin\\": "OsLogin/metadata", + "GPBMetadata\\Google\\Cloud\\Secrets\\": "SecretManager/metadata", + "GPBMetadata\\Google\\Cloud\\Webrisk\\": "WebRisk/metadata", + "Google\\Cloud\\BigQuery\\Connection\\": "BigQueryConnection/src", + "Google\\Cloud\\BinaryAuthorization\\": "BinaryAuthorization/src", + "Google\\Cloud\\DataCatalog\\Lineage\\": "DataCatalogLineage/src", + "Google\\Cloud\\Eventarc\\Publishing\\": "EventarcPublishing/src", + "Google\\Cloud\\NetworkConnectivity\\": "NetworkConnectivity/src", + "Google\\Cloud\\RecaptchaEnterprise\\": "RecaptchaEnterprise/src", + "GPBMetadata\\Google\\Analytics\\Data\\": "AnalyticsData/metadata", + "GPBMetadata\\Google\\Cloud\\Clouddms\\": "Dms/metadata", + "GPBMetadata\\Google\\Cloud\\Dataform\\": "Dataform/metadata", + "GPBMetadata\\Google\\Cloud\\Dataplex\\": "Dataplex/metadata", + "GPBMetadata\\Google\\Cloud\\Dataproc\\": "Dataproc/metadata", + "GPBMetadata\\Google\\Cloud\\Eventarc\\": "Eventarc/metadata", + "GPBMetadata\\Google\\Cloud\\Language\\": "Language/metadata", + "GPBMetadata\\Google\\Cloud\\Memcache\\": "Memcache/metadata", + "GPBMetadata\\Google\\Cloud\\Osconfig\\": "OsConfig/metadata", + "GPBMetadata\\Google\\Devtools\\Build\\": "Build/metadata", + "Google\\Cloud\\BigQuery\\Reservation\\": "BigQueryReservation/src", + "Google\\Cloud\\PolicyTroubleshooter\\": "PolicyTroubleshooter/src", + "Google\\Cloud\\RecommendationEngine\\": "RecommendationEngine/src", + "GPBMetadata\\Google\\Analytics\\Admin\\": "AnalyticsAdmin/metadata", + "GPBMetadata\\Google\\Cloud\\Filestore\\": "Filestore/metadata", + "GPBMetadata\\Google\\Cloud\\Functions\\": "Functions/metadata", + "GPBMetadata\\Google\\Cloud\\Gkebackup\\": "GkeBackup/metadata", + "GPBMetadata\\Google\\Cloud\\Metastore\\": "DataprocMetastore/metadata", + "GPBMetadata\\Google\\Cloud\\Notebooks\\": "Notebooks/metadata", + "GPBMetadata\\Google\\Cloud\\Orgpolicy\\": [ + "OrgPolicy/metadata", + "Asset/external/metadata/Cloud/Orgpolicy" + ], + "GPBMetadata\\Google\\Cloud\\Scheduler\\": "Scheduler/metadata", + "GPBMetadata\\Google\\Cloud\\Translate\\": "Translate/metadata", + "GPBMetadata\\Google\\Cloud\\Vpcaccess\\": "VpcAccess/metadata", + "GPBMetadata\\Google\\Cloud\\Workflows\\": "Workflows/metadata", + "GPBMetadata\\Google\\Datastore\\Admin\\": "DatastoreAdmin/metadata", + "GPBMetadata\\Google\\Iam\\Credentials\\": "IamCredentials/metadata", + "GPBMetadata\\Google\\Storagetransfer\\": "StorageTransfer/metadata", + "Google\\Cloud\\BigQuery\\AnalyticsHub\\": "BigQueryAnalyticsHub/src", + "Google\\Cloud\\BigQuery\\DataExchange\\": "BigQueryDataExchange/src", + "Google\\Cloud\\BigQuery\\DataPolicies\\": "BigQueryDataPolicies/src", + "Google\\Cloud\\BigQuery\\DataTransfer\\": "BigQueryDataTransfer/src", + "Google\\Cloud\\ContactCenterInsights\\": "ContactCenterInsights/src", + "GPBMetadata\\Google\\Api\\Serviceusage\\": "ServiceUsage/metadata", + "GPBMetadata\\Google\\Apps\\Script\\Type\\": "GSuiteAddOns/external/metadata", + "GPBMetadata\\Google\\Cloud\\Aiplatform\\": "AiPlatform/metadata", + "GPBMetadata\\Google\\Cloud\\Apigateway\\": "ApiGateway/metadata", + "GPBMetadata\\Google\\Cloud\\Datafusion\\": "DataFusion/metadata", + "GPBMetadata\\Google\\Cloud\\Datastream\\": "Datastream/metadata", + "GPBMetadata\\Google\\Cloud\\Dialogflow\\": "Dialogflow/metadata", + "GPBMetadata\\Google\\Cloud\\Documentai\\": "DocumentAi/metadata", + "Google\\Cloud\\BeyondCorp\\AppGateways\\": "BeyondCorpAppGateways/src", + "GPBMetadata\\Google\\Cloud\\Datacatalog\\": "DataCatalog/metadata", + "GPBMetadata\\Google\\Cloud\\Recommender\\": "Recommender/metadata", + "GPBMetadata\\Google\\Cloud\\Vmmigration\\": "VmMigration/metadata", + "Google\\Identity\\AccessContextManager\\": "AccessContextManager/src", + "GPBMetadata\\Google\\Api\\Servicecontrol\\": "ServiceControl/metadata", + "GPBMetadata\\Google\\Cloud\\Datalabeling\\": "DataLabeling/metadata", + "GPBMetadata\\Google\\Cloud\\Gsuiteaddons\\": "GSuiteAddOns/metadata", + "GPBMetadata\\Google\\Cloud\\Lifesciences\\": "LifeSciences/metadata", + "GPBMetadata\\Google\\Cloud\\Optimization\\": "Optimization/metadata", + "GPBMetadata\\Google\\Cloud\\Texttospeech\\": "TextToSpeech/metadata", + "GPBMetadata\\Google\\Cloud\\Vmwareengine\\": "VmwareEngine/metadata", + "Google\\Cloud\\BeyondCorp\\AppConnectors\\": "BeyondCorpAppConnectors/src", + "GPBMetadata\\Google\\Cloud\\Apigeeconnect\\": "ApigeeConnect/metadata", + "GPBMetadata\\Google\\Cloud\\Gkemulticloud\\": "GkeMultiCloud/metadata", + "GPBMetadata\\Google\\Cloud\\Secretmanager\\": "SecretManager/metadata", + "GPBMetadata\\Google\\Devtools\\Cloudbuild\\": "Build/metadata", + "GPBMetadata\\Google\\Devtools\\Cloudtrace\\": "Trace/metadata", + "Google\\Cloud\\BeyondCorp\\AppConnections\\": "BeyondCorpAppConnections/src", + "Google\\Cloud\\BeyondCorp\\ClientGateways\\": "BeyondCorpClientGateways/src", + "GPBMetadata\\Google\\Cloud\\Accessapproval\\": "AccessApproval/metadata", + "GPBMetadata\\Google\\Cloud\\Apigeeregistry\\": "ApigeeRegistry/metadata", + "GPBMetadata\\Google\\Cloud\\Privatecatalog\\": "PrivateCatalog/metadata", + "GPBMetadata\\Google\\Cloud\\Securitycenter\\": "SecurityCenter/metadata", + "GPBMetadata\\Google\\Cloud\\Video\\Stitcher\\": "VideoStitcher/metadata", + "GPBMetadata\\Google\\Api\\Servicemanagement\\": "ServiceManagement/metadata", + "GPBMetadata\\Google\\Cloud\\Billing\\Budgets\\": "BillingBudgets/metadata", + "GPBMetadata\\Google\\Cloud\\Networksecurity\\": "NetworkSecurity/metadata", + "GPBMetadata\\Google\\Cloud\\Resourcemanager\\": "ResourceManager/metadata", + "GPBMetadata\\Google\\Cloud\\Assuredworkloads\\": "AssuredWorkloads/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Storage\\": "BigQueryStorage/metadata", + "GPBMetadata\\Google\\Cloud\\Mediatranslation\\": "MediaTranslation/metadata", + "GPBMetadata\\Google\\Cloud\\Resourcesettings\\": "ResourceSettings/metadata", + "GPBMetadata\\Google\\Cloud\\Servicedirectory\\": "ServiceDirectory/metadata", + "GPBMetadata\\Google\\Cloud\\Video\\Livestream\\": "VideoLiveStream/metadata", + "GPBMetadata\\Google\\Cloud\\Video\\Transcoder\\": "VideoTranscoder/metadata", + "GPBMetadata\\Google\\Devtools\\Clouddebugger\\": "Debugger/metadata", + "GPBMetadata\\Google\\Devtools\\Cloudprofiler\\": "Profiler/metadata", + "GPBMetadata\\Google\\Cloud\\Baremetalsolution\\": "BareMetalSolution/metadata", + "GPBMetadata\\Google\\Cloud\\Essentialcontacts\\": "EssentialContacts/metadata", + "GPBMetadata\\Google\\Cloud\\Managedidentities\\": "ManagedIdentities/metadata", + "GPBMetadata\\Google\\Cloud\\Networkmanagement\\": "NetworkManagement/metadata", + "GPBMetadata\\Google\\Cloud\\Security\\Publicca\\": "SecurityPublicCA/metadata", + "GPBMetadata\\Google\\Cloud\\Videointelligence\\": "VideoIntelligence/metadata", + "Google\\Cloud\\Orchestration\\Airflow\\Service\\": "OrchestrationAirflow/src", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Migration\\": "BigQueryMigration/metadata", + "GPBMetadata\\Google\\Cloud\\Certificatemanager\\": "CertificateManager/metadata", + "GPBMetadata\\Google\\Cloud\\Gkeconnect\\Gateway\\": "GkeConnectGateway/metadata", + "GPBMetadata\\Google\\Cloud\\Security\\Privateca\\": "SecurityPrivateCa/metadata", + "GPBMetadata\\Google\\Cloud\\Websecurityscanner\\": "WebSecurityScanner/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Connection\\": "BigQueryConnection/metadata", + "GPBMetadata\\Google\\Cloud\\Binaryauthorization\\": "BinaryAuthorization/metadata", + "GPBMetadata\\Google\\Cloud\\Datacatalog\\Lineage\\": "DataCatalogLineage/metadata", + "GPBMetadata\\Google\\Cloud\\Eventarc\\Publishing\\": "EventarcPublishing/metadata", + "GPBMetadata\\Google\\Cloud\\Networkconnectivity\\": "NetworkConnectivity/metadata", + "GPBMetadata\\Google\\Cloud\\Recaptchaenterprise\\": "RecaptchaEnterprise/metadata", + "GPBMetadata\\Google\\Devtools\\Artifactregistry\\": "ArtifactRegistry/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Reservation\\": "BigQueryReservation/metadata", + "GPBMetadata\\Google\\Cloud\\Policytroubleshooter\\": "PolicyTroubleshooter/metadata", + "GPBMetadata\\Google\\Cloud\\Recommendationengine\\": "RecommendationEngine/metadata", + "GPBMetadata\\Google\\Devtools\\Containeranalysis\\": "ContainerAnalysis/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Analyticshub\\": "BigQueryAnalyticsHub/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Dataexchange\\": "BigQueryDataExchange/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Datapolicies\\": "BigQueryDataPolicies/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Datatransfer\\": "BigQueryDataTransfer/metadata", + "GPBMetadata\\Google\\Cloud\\Contactcenterinsights\\": "ContactCenterInsights/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Appgateways\\": "BeyondCorpAppGateways/metadata", + "GPBMetadata\\Google\\Devtools\\Clouderrorreporting\\": "ErrorReporting/metadata", + "Google\\Cloud\\BeyondCorp\\ClientConnectorServices\\": "BeyondCorpClientConnectorServices/src", + "GPBMetadata\\Google\\Identity\\Accesscontextmanager\\": "AccessContextManager/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Appconnectors\\": "BeyondCorpAppConnectors/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Appconnections\\": "BeyondCorpAppConnections/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Clientgateways\\": "BeyondCorpClientGateways/metadata", + "GPBMetadata\\Google\\Cloud\\Orchestration\\Airflow\\Service\\": "OrchestrationAirflow/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Clientconnectorservices\\": "BeyondCorpClientConnectorServices/metadata" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Dave Supplee", + "email": "dwsupplee@gmail.com" + }, + { + "name": "John Pedrie", + "email": "john@pedrie.com" + } + ], + "description": "Google Cloud Client Library", + "homepage": "http://github.com/googleapis/google-cloud-php", + "keywords": [ + "Tasks", + "big query", + "bigquery", + "bigtable", + "cloud", + "datastore", + "gcs", + "google", + "google api", + "google api client", + "google apis", + "google apis client", + "google cloud", + "google cloud platform", + "kms", + "language", + "natural language", + "pub sub", + "pubsub", + "spanner", + "speech", + "stackdriver logging", + "storage", + "translate", + "translation", + "vision" + ], + "support": { + "issues": "https://github.com/googleapis/google-cloud-php/issues", + "source": "https://github.com/googleapis/google-cloud-php/tree/v0.197.0" + }, + "time": "2023-02-10T16:10:50+00:00" + }, + { + "name": "google/common-protos", + "version": "v3.2.0", + "source": { + "type": "git", + "url": "https://github.com/googleapis/common-protos-php.git", + "reference": "57d4ad36cc48cc0369123042908013ef2a86bb98" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/57d4ad36cc48cc0369123042908013ef2a86bb98", + "reference": "57d4ad36cc48cc0369123042908013ef2a86bb98", + "shasum": "" + }, + "require": { + "google/protobuf": "^3.6.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36||^8.5", + "sami/sami": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Api\\": "src/Api", + "Google\\Iam\\": "src/Iam", + "Google\\Rpc\\": "src/Rpc", + "Google\\Type\\": "src/Type", + "Google\\Cloud\\": "src/Cloud", + "GPBMetadata\\Google\\Api\\": "metadata/Api", + "GPBMetadata\\Google\\Iam\\": "metadata/Iam", + "GPBMetadata\\Google\\Rpc\\": "metadata/Rpc", + "GPBMetadata\\Google\\Type\\": "metadata/Type", + "GPBMetadata\\Google\\Cloud\\": "metadata/Cloud", + "GPBMetadata\\Google\\Logging\\": "metadata/Logging" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google API Common Protos for PHP", + "homepage": "https://github.com/googleapis/common-protos-php", + "keywords": [ + "google" + ], + "support": { + "issues": "https://github.com/googleapis/common-protos-php/issues", + "source": "https://github.com/googleapis/common-protos-php/tree/v3.2.0" + }, + "time": "2023-01-12T16:51:46+00:00" + }, + { + "name": "google/crc32", + "version": "v0.1.0", + "source": { + "type": "git", + "url": "https://github.com/google/php-crc32.git", + "reference": "a8525f0dea6fca1893e1bae2f6e804c5f7d007fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/php-crc32/zipball/a8525f0dea6fca1893e1bae2f6e804c5f7d007fb", + "reference": "a8525f0dea6fca1893e1bae2f6e804c5f7d007fb", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.13 || v2.14.2", + "paragonie/random_compat": ">=2", + "phpunit/phpunit": "^4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\CRC32\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Andrew Brampton", + "email": "bramp@google.com" + } + ], + "description": "Various CRC32 implementations", + "homepage": "https://github.com/google/php-crc32", + "support": { + "issues": "https://github.com/google/php-crc32/issues", + "source": "https://github.com/google/php-crc32/tree/v0.1.0" + }, + "time": "2019-05-09T06:24:58+00:00" + }, + { + "name": "google/gax", + "version": "v1.18.2", + "source": { + "type": "git", + "url": "https://github.com/googleapis/gax-php.git", + "reference": "d5edcc7ee262f70869469af65a86ddd7f8bbdfe8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/gax-php/zipball/d5edcc7ee262f70869469af65a86ddd7f8bbdfe8", + "reference": "d5edcc7ee262f70869469af65a86ddd7f8bbdfe8", + "shasum": "" + }, + "require": { + "google/auth": "^1.18.0", + "google/common-protos": "^1.3.1||^2.0||^3.0", + "google/grpc-gcp": "^0.2", + "google/longrunning": "^0.2", + "google/protobuf": "^3.21.4", + "grpc/grpc": "^1.13", + "guzzlehttp/promises": "^1.3", + "guzzlehttp/psr7": "^1.7.0||^2", + "php": ">=7.0" + }, + "conflict": { + "ext-protobuf": "<3.7.0" + }, + "require-dev": { + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^5.5||^8.5", + "squizlabs/php_codesniffer": "3.*", + "yoast/phpunit-polyfills": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\ApiCore\\": "src", + "GPBMetadata\\ApiCore\\": "metadata/ApiCore" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Google API Core for PHP", + "homepage": "https://github.com/googleapis/gax-php", + "keywords": [ + "google" + ], + "support": { + "issues": "https://github.com/googleapis/gax-php/issues", + "source": "https://github.com/googleapis/gax-php/tree/v1.18.2" + }, + "time": "2023-01-09T19:04:41+00:00" + }, + { + "name": "google/grpc-gcp", + "version": "v0.2.1", + "source": { + "type": "git", + "url": "https://github.com/GoogleCloudPlatform/grpc-gcp-php.git", + "reference": "899d0112812a812df7692617a59f4076f0d01719" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GoogleCloudPlatform/grpc-gcp-php/zipball/899d0112812a812df7692617a59f4076f0d01719", + "reference": "899d0112812a812df7692617a59f4076f0d01719", + "shasum": "" + }, + "require": { + "google/auth": "^1.3", + "google/protobuf": "^v3.3.0", + "grpc/grpc": "^v1.13.0", + "php": ">=5.5.0", + "psr/cache": "^1.0.1||^2.0.0||^3.0.0" + }, + "require-dev": { + "google/cloud-spanner": "^1.7", + "phpunit/phpunit": "4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "Grpc\\Gcp\\": "src/" + }, + "classmap": [ + "src/generated/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "gRPC GCP library for channel management", + "support": { + "issues": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/issues", + "source": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/tree/v0.2.1" + }, + "time": "2022-10-11T15:54:47+00:00" + }, + { + "name": "google/protobuf", + "version": "v3.21.12", + "source": { + "type": "git", + "url": "https://github.com/protocolbuffers/protobuf-php.git", + "reference": "93019df2df0f8c5c01757ef79f3f077d2cb35b65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/93019df2df0f8c5c01757ef79f3f077d2cb35b65", + "reference": "93019df2df0f8c5c01757ef79f3f077d2cb35b65", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": ">=5.0.0" + }, + "suggest": { + "ext-bcmath": "Need to support JSON deserialization" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Protobuf\\": "src/Google/Protobuf", + "GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "proto library for PHP", + "homepage": "https://developers.google.com/protocol-buffers/", + "keywords": [ + "proto" + ], + "support": { + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.21.12" + }, + "time": "2022-12-14T14:50:49+00:00" + }, + { + "name": "grpc/grpc", + "version": "1.42.0", + "source": { + "type": "git", + "url": "https://github.com/grpc/grpc-php.git", + "reference": "9fa44f104cb92e924d4da547323a97f3d8aca6d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/grpc/grpc-php/zipball/9fa44f104cb92e924d4da547323a97f3d8aca6d4", + "reference": "9fa44f104cb92e924d4da547323a97f3d8aca6d4", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "google/auth": "^v1.3.0" + }, + "suggest": { + "ext-protobuf": "For better performance, install the protobuf C extension.", + "google/protobuf": "To get started using grpc quickly, install the native protobuf library." + }, + "type": "library", + "autoload": { + "psr-4": { + "Grpc\\": "src/lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "gRPC library for PHP", + "homepage": "https://grpc.io", + "keywords": [ + "rpc" + ], + "support": { + "source": "https://github.com/grpc/grpc-php/tree/v1.42.0" + }, + "time": "2021-11-19T08:13:51+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.4.4", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "e3ff079b22820c2029d4c2a87796b6a0b8716ad8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/e3ff079b22820c2029d4c2a87796b6a0b8716ad8", + "reference": "e3ff079b22820c2029d4c2a87796b6a0b8716ad8", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "guzzlehttp/promises": "^1.5", + "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.1" + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5-dev" + "dev-master": "7.4-dev" } }, "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", "keywords": [ "client", "curl", "framework", "http", "http client", + "psr-18", + "psr-7", "rest", "web service" ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/6.5" + "source": "https://github.com/guzzle/guzzle/tree/7.4.4" }, - "time": "2020-06-16T21:01:06+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2022-06-09T21:39:15+00:00" }, { "name": "guzzlehttp/promises", @@ -1990,6 +3846,54 @@ }, "time": "2016-08-06T20:24:11+00:00" }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, { "name": "psr/http-client", "version": "1.0.1", @@ -2150,6 +4054,58 @@ }, "time": "2016-08-06T14:39:51+00:00" }, + { + "name": "psr/link", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link.git", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "support": { + "source": "https://github.com/php-fig/link/tree/master" + }, + "time": "2016-10-28T16:06:13+00:00" + }, { "name": "psr/log", "version": "1.1.4", @@ -2295,6 +4251,256 @@ }, "time": "2019-03-08T08:55:37+00:00" }, + { + "name": "ramsey/collection", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "symfony/polyfill-php81": "^1.23" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-27T19:12:24+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.2.3", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "shasum": "" + }, + "require": { + "brick/math": "^0.8 || ^0.9", + "ext-json": "*", + "php": "^7.2 || ^8.0", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php80": "^1.14" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5 || ^9", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.x-dev" + }, + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.2.3" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2021-09-25T23:10:38+00:00" + }, + { + "name": "rize/uri-template", + "version": "0.3.5", + "source": { + "type": "git", + "url": "https://github.com/rize/UriTemplate.git", + "reference": "5ed4ba8ea34af84485dea815d4b6b620794d1168" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rize/UriTemplate/zipball/5ed4ba8ea34af84485dea815d4b6b620794d1168", + "reference": "5ed4ba8ea34af84485dea815d4b6b620794d1168", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "Rize\\": "src/Rize" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marut K", + "homepage": "http://twitter.com/rezigned" + } + ], + "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", + "keywords": [ + "RFC 6570", + "template", + "uri" + ], + "support": { + "issues": "https://github.com/rize/UriTemplate/issues", + "source": "https://github.com/rize/UriTemplate/tree/0.3.5" + }, + "funding": [ + { + "url": "https://www.paypal.me/rezigned", + "type": "custom" + }, + { + "url": "https://github.com/rezigned", + "type": "github" + }, + { + "url": "https://opencollective.com/rize-uri-template", + "type": "open_collective" + } + ], + "time": "2022-10-12T17:22:51+00:00" + }, { "name": "sabberworm/php-css-parser", "version": "8.4.0", @@ -2521,131 +4727,35 @@ "time": "2019-01-11T08:49:57+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.24.0", + "name": "symfony/deprecation-contracts", + "version": "v2.5.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-09-14T14:02:44+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.24.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", "shasum": "" }, "require": { "php": ">=7.1" }, - "suggest": { - "ext-intl": "For best performance" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "2.5-dev" }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2662,18 +4772,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" }, "funding": [ { @@ -2689,7 +4791,253 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-01-02T09:53:40+00:00" + }, + { + "name": "symfony/polyfill-apcu", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "6e7f6ed2168779a2b3927e606a9768860a8bdfa0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/6e7f6ed2168779a2b3927e606a9768860a8bdfa0", + "reference": "6e7f6ed2168779a2b3927e606a9768860a8bdfa0", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Apcu\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-apcu/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/a3d9148e2c363588e05abbdd4ee4f971f0a5330c", + "reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -2775,17 +5123,153 @@ "time": "2021-11-30T18:21:41+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.24.0", + "name": "symfony/polyfill-php56", + "version": "v1.20.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", + "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php56/tree/v1.20.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php70", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644", + "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php70/tree/v1.20.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", "shasum": "" }, "require": { @@ -2794,7 +5278,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2802,12 +5286,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2832,7 +5316,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" }, "funding": [ { @@ -2848,20 +5332,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.24.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9", - "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -2870,7 +5354,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2878,12 +5362,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -2915,7 +5399,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" }, "funding": [ { @@ -2931,33 +5415,218 @@ "type": "tidelift" } ], - "time": "2021-09-13T13:58:33+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { - "name": "symfony/process", - "version": "v5.4.2", + "name": "symfony/polyfill-php81", + "version": "v1.27.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4" + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", - "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=7.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/symfony", + "version": "v3.4.49", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony.git", + "reference": "ba0e346e3ad11de4a307fe4fa2452a3656dcc17b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony/zipball/ba0e346e3ad11de4a307fe4fa2452a3656dcc17b", + "reference": "ba0e346e3ad11de4a307fe4fa2452a3656dcc17b", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.4", + "ext-xml": "*", + "fig/link-util": "^1.0", + "php": "^5.5.9|>=7.0.8", + "psr/cache": "~1.0", + "psr/container": "^1.0", + "psr/link": "^1.0", + "psr/log": "~1.0", + "psr/simple-cache": "^1.0", + "symfony/polyfill-apcu": "~1.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php56": "~1.0", + "symfony/polyfill-php70": "~1.6", + "twig/twig": "^1.41|^2.10" + }, + "conflict": { + "monolog/monolog": ">=2", + "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/container-implementation": "1.0", + "psr/log-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "replace": { + "symfony/asset": "self.version", + "symfony/browser-kit": "self.version", + "symfony/cache": "self.version", + "symfony/class-loader": "self.version", + "symfony/config": "self.version", + "symfony/console": "self.version", + "symfony/css-selector": "self.version", + "symfony/debug": "self.version", + "symfony/debug-bundle": "self.version", + "symfony/dependency-injection": "self.version", + "symfony/doctrine-bridge": "self.version", + "symfony/dom-crawler": "self.version", + "symfony/dotenv": "self.version", + "symfony/event-dispatcher": "self.version", + "symfony/expression-language": "self.version", + "symfony/filesystem": "self.version", + "symfony/finder": "self.version", + "symfony/form": "self.version", + "symfony/framework-bundle": "self.version", + "symfony/http-foundation": "self.version", + "symfony/http-kernel": "self.version", + "symfony/inflector": "self.version", + "symfony/intl": "self.version", + "symfony/ldap": "self.version", + "symfony/lock": "self.version", + "symfony/monolog-bridge": "self.version", + "symfony/options-resolver": "self.version", + "symfony/process": "self.version", + "symfony/property-access": "self.version", + "symfony/property-info": "self.version", + "symfony/proxy-manager-bridge": "self.version", + "symfony/routing": "self.version", + "symfony/security": "self.version", + "symfony/security-bundle": "self.version", + "symfony/security-core": "self.version", + "symfony/security-csrf": "self.version", + "symfony/security-guard": "self.version", + "symfony/security-http": "self.version", + "symfony/serializer": "self.version", + "symfony/stopwatch": "self.version", + "symfony/templating": "self.version", + "symfony/translation": "self.version", + "symfony/twig-bridge": "self.version", + "symfony/twig-bundle": "self.version", + "symfony/validator": "self.version", + "symfony/var-dumper": "self.version", + "symfony/web-link": "self.version", + "symfony/web-profiler-bundle": "self.version", + "symfony/web-server-bundle": "self.version", + "symfony/workflow": "self.version", + "symfony/yaml": "self.version" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.6", + "doctrine/data-fixtures": "^1.1", + "doctrine/dbal": "~2.4", + "doctrine/doctrine-bundle": "~1.4", + "doctrine/orm": "~2.4,>=2.4.5", + "egulias/email-validator": "~1.2,>=1.2.8|~2.0", + "monolog/monolog": "~1.11", + "ocramius/proxy-manager": "~0.4|~1.0|~2.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "predis/predis": "~1.0", + "symfony/phpunit-bridge": "^5.2", + "symfony/security-acl": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-version": "3.4" + }, "autoload": { "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Bundle\\": "src/Symfony/Bundle/", + "Symfony\\Component\\": "src/Symfony/Component/", + "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", + "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/", + "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/", + "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/" }, + "classmap": [ + "src/Symfony/Component/Intl/Resources/stubs" + ], "exclude-from-classmap": [ - "/Tests/" + "**/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2974,10 +5643,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Executes commands in sub-processes", + "description": "The Symfony PHP framework", "homepage": "https://symfony.com", + "keywords": [ + "framework" + ], "support": { - "source": "https://github.com/symfony/process/tree/v5.4.2" + "issues": "https://github.com/symfony/symfony/issues", + "source": "https://github.com/symfony/symfony/tree/v3.4.49" }, "funding": [ { @@ -2993,7 +5666,7 @@ "type": "tidelift" } ], - "time": "2021-12-27T21:01:00+00:00" + "time": "2021-05-19T12:07:19+00:00" }, { "name": "tecnickcom/tcpdf", @@ -3116,6 +5789,86 @@ }, "time": "2021-06-04T21:21:33+00:00" }, + { + "name": "twig/twig", + "version": "v2.15.4", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "3e059001d6d597dd50ea7c74dd2464b4adea48d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3e059001d6d597dd50ea7c74dd2464b4adea48d3", + "reference": "3e059001d6d597dd50ea7c74dd2464b4adea48d3", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.8" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.15-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v2.15.4" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2022-12-27T12:26:20+00:00" + }, { "name": "twilio/sdk", "version": "6.33.0", diff --git a/api/application/config/constants.php b/api/application/config/constants.php index 685f338b..9d3da9e9 100644 --- a/api/application/config/constants.php +++ b/api/application/config/constants.php @@ -107,6 +107,7 @@ defined('ROUTE_LOGIN_D') OR define('ROUTE_LOGIN_D', 'saveFlyhiPDImage'); defined('ROUTE_LOGIN_C') OR define('ROUTE_LOGIN_C', 'getCreditPDReportforCETApp'); defined('ROUTE_LOGIN_B') OR define('ROUTE_LOGIN_B', 'getSalesPDReportforCETApp'); defined('ROUTE_LOGIN_A') OR define('ROUTE_LOGIN_A', 'getAuditedImages'); // no errors +defined('LOGIN') OR define('LOGIN', 'login'); defined('TURN_SERVER_API') OR define('TURN_SERVER_API', 'getServerInfo'); // no errors defined('VIDEO_CHAT_ACCESS_KEY_API') OR define('VIDEO_CHAT_ACCESS_KEY_API', 'getVideoChatAccessKey'); // no errors defined('SAVEROOMINFO_API') OR define('SAVEROOMINFO_API', 'saveRoomInfo'); // no errors @@ -729,3 +730,12 @@ defined('TEMPLATE_JSON_V2') OR define('TEMPLATE_JSON_V2',"m_template_json_v2"); defined('TEMPLATE_MAP_V2') OR define('TEMPLATE_MAP_V2',"m_template_mapping_v2"); defined('DATADUMPREQUEST') OR define('DATADUMPREQUEST',"t_datadump_request"); + +/*********************Define Constant For GCP****************************************************/ +defined('GOOGLE_CLOUD_ID') OR define('GOOGLE_CLOUD_ID', ''); +defined('GOOGLE_CLOUD_SECRET') OR define('GOOGLE_CLOUD_SECRET', ''); +defined('GOOGLE_CLOUD') OR define('GOOGLE_CLOUD', ''); + +$config[''] = ''; +$config['GOOGLE_CLOUD'] = ''; +$googleCloud = 'https://accounts.google.com/o/oauth2/auth?scope=' . urlencode(GOOGLE_CLOUD) . '&redirect_uri=' . REDIRECT_URI . '&response_type=code&client_id=' . GOOGLE_CLOUD_ID . '&access_type=online'; diff --git a/api/application/controllers/Sales_PD_Controller.php b/api/application/controllers/Sales_PD_Controller.php index e09802df..55df41ca 100644 --- a/api/application/controllers/Sales_PD_Controller.php +++ b/api/application/controllers/Sales_PD_Controller.php @@ -158,6 +158,7 @@ class Sales_PD_Controller extends REST_Controller { // } function prepareSalesPDReport($sales_pd_id,$api = true) { + $this->load->library('Googlecloud'); log_message('ERROR','####PREPARE SALESPD REPORT CALLED'.$sales_pd_id); $columns = array('SALES_PD_DATA.*','ENTITY.short_name','PRODUCT.abbr','USERPROFILE.smc_emp_code'); $table = SALES_PD_DATA.' as SALES_PD_DATA'; @@ -212,6 +213,21 @@ class Sales_PD_Controller extends REST_Controller { } // print_r($view_data['section3']);die(); $view_data['section9'] = $this->Sales_PD_Model->selectCustomRecords(array('*'),array('fk_sales_pd_id' => $sales_pd_id,'img_name !=' => 'satellite','isactive' => 1),SALEPD_DOCS); + if($view_data['section9']){ + $gcpBucketName = 'sales-pd-demo'; + foreach ($view_data['section9'] as $key => $value){ + if($value['img'] == '' ){ + $objectName = "pd".$sales_pd_id."/images/".$value['img_name'].".png"; + $img_gcp_url = $this->googlecloud->getSingleObjectInaBucketAsSignedURI($gcpBucketName,$objectName); + $view_data['section9'][$key]['img'] = $img_gcp_url ? $img_gcp_url : ""; + // echo "img". $img_gcp_url; + } + + + } + } + + // print_r($view_data['section9']);die(); $view_data['satellite_image'] = $this->Sales_PD_Model->selectCustomRecords(array('*'),array('fk_sales_pd_id' => $sales_pd_id,'img_name' => 'satellite','isactive' => 1),SALEPD_DOCS); $view_data['product_id'] = $sales_pd_data[0]['product_id']; $view_data['geo_location'] = $sales_pd_data[0]['geo_location']; @@ -229,6 +245,15 @@ class Sales_PD_Controller extends REST_Controller { $bucket_data = array('bucket_name'=>$bucket_name,'key'=>$key,'sourcefile'=>$this->external_path.'/sales_pd/'.$sales_pd_id.'/temp.pdf'); log_message('ERROR','####SALES PD REPORT UPLOAD TO S3'.$sales_pd_id); $s3result= $this->aws_s3->uploadFileToS3Bucket($bucket_data); + /*** GCP Report Upload here */ + $gcpBucketName = 'sales-pd-demo'; + $gcpObjectName = "pd".$sales_pd_id."/report/".$pdf_name.".pdf"; + $source=$output_file; + $gcpResult = $this->googlecloud->uploadFileToGCPBucket($gcpBucketName,$gcpObjectName,$source); + $report_gcp_url = ''; + if($gcpResult == true){ + $report_gcp_url = $this->googlecloud->getSingleObjectInaBucketAsSignedURI($gcpBucketName,$gcpObjectName); + } if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200) { @@ -253,9 +278,11 @@ class Sales_PD_Controller extends REST_Controller { }else { $singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name,$old_key,'30 minutes'); } + $data['dataStatus'] = true; $data['status'] = REST_Controller::HTTP_OK; $data['records'] = $singed_uri; + $data['gcpUrl'] = $report_gcp_url; $this->response($data,REST_Controller::HTTP_OK); } } @@ -272,9 +299,15 @@ class Sales_PD_Controller extends REST_Controller { }else { $singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name,$old_key,'30 minutes'); } + $gcpBucketName = 'sales-pd-demo'; + // $gcpObjectName = "pd".$sales_pd_id."/report/new.pdf"; + $gcpObjectName = "pd".$sales_pd_id."/report/".$pdf_name.".pdf"; + $report_gcp_url = $this->googlecloud->getSingleObjectInaBucketAsSignedURI($gcpBucketName,$gcpObjectName); + $data['dataStatus'] = true; $data['status'] = REST_Controller::HTTP_OK; $data['records'] = $singed_uri; + $data['gcpUrl'] = $report_gcp_url; $this->response($data,REST_Controller::HTTP_OK); } } @@ -736,7 +769,16 @@ class Sales_PD_Controller extends REST_Controller { $this->Flyhi_Model->updateRecords($update_fields2,SALEPD_DOCS,array('doc_id'=>$records['img_id'])); } unset($records['img_id']); - $id = $this->Sales_PD_Model->saveRecords($records,SALEPD_DOCS); + + $this->load->library('Googlecloud'); + $gcpBucketName = 'sales-pd-demo'; + $objectName = "pd".$records['fk_sales_pd_id']."/images/".$records['img_name'].".png"; + $source=$records['img']; + $result = $this->googlecloud->uploadFileToGCPBucket($gcpBucketName,$objectName,$source); + if($result == true){ + unset($records['img']); + $id = $this->Sales_PD_Model->saveRecords($records,SALEPD_DOCS); + } if($id) { $data['dataStatus'] = true; @@ -1315,22 +1357,27 @@ public function filterSalesPDList_post() { $product_short_name = $this->Sales_PD_Model->selectCustomRecords(array('abbr'),array('product_id' => $sales_pd_master_data[0]['product_id']),PRODUCTS); $is_flyhi_pd = ($sales_pd_master_data[0]['sales_pd_type'] == "3" || $sales_pd_master_data[0]['sales_pd_type'] == "4") ? 1 : 0 ; $sales_pd_img_data = $this->Sales_PD_Model->selectCustomRecords(array('doc_id', 'fk_sales_pd_id','img','img_name','location','isactive'),array('fk_sales_pd_id' => $sales_pd_master_data[0]['sales_pd_id'],'isactive' => 1,'img_name!=' => 'satellite'),SALEPD_DOCS); - + + // print_r($sales_pd_img_data); // print_r($product_short_name);die(); //sales tele pd img structure array - $imgs = array('selfie_with_person_met' => array('is_multiple' => 0,'img_name' => 'Selfie of the person contacted'),'name_board_seen' => array('is_multiple' => 1,'img_name' => 'Business Name Board'),'stock_image' => array('is_multiple' => 1,'img_name' => 'Stock Images'),'workplace_interior_image' => array('is_multiple' => 1,'img_name' => 'Work Place Interior')); + $imgs = array('selfie_with_person_met' => array('is_multiple' => 0,'img_name' => 'Selfie of the person contacted'),'name_board_seen' => array('is_multiple' => 1,'img_name' => 'Business Name Board'),'stock_image' => array('is_multiple' => 1,'img_name' => 'Stock Images'),'workplace_interior_image' => array('is_multiple' => 1,'img_name' => 'Work Place Interior'),'approach_to_pd_location' => array('is_multiple' => 1,'img_name' => 'approach_to_pd_location') ); if($product_short_name[0]['abbr'] == 'MEQ') { $imgs = array('selfie_with_person_met' => array('is_multiple' => 0,'img_name' => 'Selfie of the person contacted'),'hospital_building' => array('is_multiple' => 1,'img_name' => 'Institute Building photo'),'name_board_seen' => array('is_multiple' => 1,'img_name' => 'Name Board'),'institute_interior' => array('is_multiple' => 1,'img_name' => 'Institute interior potographs')); } $img_data = array(); + $this->load->library('Googlecloud'); + $gcpBucketName = 'sales-pd-demo'; + $objectName = "pd".$sales_pd_master_data[0]['sales_pd_id']."/images/"; if(count($sales_pd_img_data)) { - + + // print_r($sales_pd_img_data); foreach ($imgs as $key => $value) { - //echo "FISRT LOOP****$key"; + foreach ($sales_pd_img_data as $sales_pd_img_data_key => $sales_pd_img_data_value) { //echo "SEC LOOP****"; @@ -1340,18 +1387,28 @@ public function filterSalesPDList_post() { if($value['is_multiple']) { if(!array_key_exists($key,$img_data)) - { - $img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_data' => [array('img_url' => $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : '','img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '')],'is_multiple' => 1,'section_heading' => $value['img_name']); + { + $img_gcp_url = $this->googlecloud->getSingleObjectInaBucketAsSignedURI($gcpBucketName,$objectName.$value['img_name'].".png"); + $img_url = $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : ($img_gcp_url ? $img_gcp_url : ""); + $img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_data' => [array('img_url' => $img_url,'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '')],'is_multiple' => 1,'section_heading' => $value['img_name']); + // $img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_data' => [array('img_url' => $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : '','img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '')],'is_multiple' => 1,'section_heading' => $value['img_name']); } else { - $img_data[$key]['img_data'][] = array('img_url' => $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : '','img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : ''); + + $img_gcp_url = $this->googlecloud->getSingleObjectInaBucketAsSignedURI($gcpBucketName,$objectName.$value['img_name'].".png"); + $img_url = $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : ($img_gcp_url ? $img_gcp_url : ""); + $img_data[$key]['img_data'][] = array('img_url' => $img_url,'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : ''); + // $img_data[$key]['img_data'][] = array('img_url' => $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : '','img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : ''); } } else { - $img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_url' => $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : '','is_multiple' => 0,'section_heading' => $value['img_name'],'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '');//$sales_pd_img_data_value['img'] + $img_gcp_url = $this->googlecloud->getSingleObjectInaBucketAsSignedURI($gcpBucketName,$objectName.$value['img_name'].".png"); + $img_url = $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : ($img_gcp_url ? $img_gcp_url : ""); + $img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_url' => $img_url,'is_multiple' => 0,'section_heading' => $value['img_name'],'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '');//$sales_pd_img_data_value['img'] + } unset($sales_pd_img_data[$sales_pd_img_data_key]); @@ -1614,8 +1671,8 @@ public function filterSalesPDList_post() { log_message('ERROR','## In NewSalesPd'); $sales_pd_type = $this->get('type'); $productname = $this->get('prod'); - $applicantname = $this->get('apcntname'); - $applicantid = $this->get('apcntid'); + $applicantname = $this->get('applicantname'); + $applicantid = $this->get('applicantid'); $userid = $this->get('uid'); $createdby = null; $lenderid = (ENVIRONMENT == 'production' ? 7 : 35); @@ -1735,11 +1792,12 @@ public function filterSalesPDList_post() { $fields = array('sales_pd_id' => $id, 'section_id' => $data_value['section_id'], 'status' =>1,'section_data' => $section_data_arr,'createdby' => $createdby); $reponse = $this->Sales_PD_Model->saveRecords($fields,SALESPD_SECTION_DATA); $msg = $msg." ( ".$data_value['section_name']." ID : ".$reponse. " )"; + log_message('ERROR','## 5) msg : '.$msg); } } $data['dataStatus'] = true; $data['status'] = REST_Controller::HTTP_OK; - $data['records'] = $msg; + $data['msg'] = "Sales PD : ".$salepd_serial_no; } else { $data['dataStatus'] = false; $data['status'] = REST_Controller::HTTP_NOT_FOUND; @@ -1753,6 +1811,26 @@ public function filterSalesPDList_post() { $this->response($data,REST_Controller::HTTP_OK); } + function uploadSalesImages_get(){ + $sales_pd_id = $this->get('sales_pd_id'); + // 2961 + $photograph_data = $this->Sales_PD_Model->selectCustomRecords(array('*'),array('fk_sales_pd_id' => $sales_pd_id,'isactive' => 1),SALEPD_DOCS); + if(count($photograph_data)>0){ + for ($i = 0; $i < count($photograph_data); $i++){ + $img_fields = $common_fields; + $img_fields['img_name'] = $photograph_data[$i]['img_name']; + $img_split = explode( ',', $photograph_data[$i]['img']); + $img_fields['img'] = $img_split[1]; + // $img_fields[0]['img'] = $photograph_data[$i]['img']; + $img_result = cet_salespd::pushwithcetphotographapi($img_fields,$i); + } + } + } + + + + + } diff --git a/api/application/googleCloud.json b/api/application/googleCloud.json new file mode 100644 index 00000000..a5f135b3 --- /dev/null +++ b/api/application/googleCloud.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "smclos", + "private_key_id": "927e4710b0f3f7659d343f8df86371a82337e8cc", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDUTCELgyqBYP0V\nfZvbzWZ/Z9xB/C8cNA3fHEa3dq2KD/SjcWtIa2Jpvw0SSI/itS8+7koJMdvwKP1l\nJVx47iF27TMFl9QBN1wwPZpbtQFGGYitneNuxkJ6mKbbhP8v2qvWxUtKr8GvgdZO\n1cST0HV/vv1jw2YB/vj+Yghwfj8UBhj/iMPwamVVrgsA7UXNPc2JwXVNxPZ3Tr1J\nHarPrG9V6IUrMwa2sNBMvqJJIBiMylw4qVcagg40T7hcnMl021RnjTWT8lXZkT0e\nGDuHrGwqwn6vqZo3D/oBmcSABjuXogg/KSeVQ3aEMhgUZkIujj5w5c9AOolMhLEq\n3RoA0FfXAgMBAAECggEAYO8x13PYoKKMbJeh5sbumhXuOCLRz+rkuo7Kq1KBAp0u\ncsKC3dpKYUZezY5cRIO+QtnC7FfbuNi+esSIaJ8yoH7F4TPmFXgVm+FE7cLEBiH6\nimuhQR89k4TIC0u6yTrrY3FKY5vEsEJ0fCKXU3bHb8DhKgA6P4cQYfaZK+Q5IQai\nfteXvIuxp7AQR4JCH9mMoYJvrOYU94XsEFBlc3ue3t17a/pLTw88JgXC1VieaF/v\nmzgV6cLZL4yCpSIaVU879mG3YWHGu86MAu8pillJkDXQkWWEQfSANSrx8bC3xAdo\neVGmGUSM8I6XxF/FOA+E0DLd7HupU+zUjOUV8ePIgQKBgQD2v2n1NXqKCImabG8i\n0k+Uaa6QV+771AyydwHYoOhaQ/V08GjGQKuSobWQW0n0rxDe0dWy+y6E0QeYFZxq\nDg25lP7KFMTpmk9NLOuD5La9CKrF7Qbz1ipNRVC7Bq+uzE8jJd0LDqPJ1o8OVNCe\nr8SGMXsr8JQ/v+KwmRQKOfKPMQKBgQDcQgTP/sQSBkIKVZMZe7QLhJ7GlB9mNjVQ\n4lv37auYSFs1p2PE2MH4mfF8MJq8eppz08kxvkWVey/hKVxKzl+t3oTbgbMnWUD7\nDQlus2U1Oof07QQg7Mg6Hkx3c6KBh4p/hw6WvB8Fxxm+nCu2y/tmU9B+J1vpZQWU\nE8X1INDlhwKBgQCMOGzDX1e6t21TJ0nk1PVKVuBPwNjbnT518LFI5PAF09baVICG\nIVwfIOxoE6isdww0Q7SYWKuv6IXTRHy1vDTKgMRmHHVmdz2Xku5n7oJ2XEWH4tHv\noYY6kSh2kC8oO4zBYZQC45fqbJaxQzum4iXhSJ9Bch8dNzNgvi0oPpP8EQKBgDZf\nDbUSnPAeH1tRuJhH0zAsss0ub3nZ09t9pVpUj1FuOyXJhnVnVKq7xcL0dJ4mXc5N\n75KZ969o027vuNq2iyPulDljkQgbnlDa7QMowckcA8fQYn6GNP8zz4iFQQ5cmTHV\n8yH+mmHgvlgxURE01YBzHDqoGKZKy8+7+dgDG84tAoGBAJyyGo9B+s/ect3Scnyp\n/O8Nj1NFQY0NYWJFx9GA0AOmt3lSFcDoF67ASDV5HY4vpszobwxoIZ3/DfuxX4m0\n1SZLCqpc7UlgolFT7mZgcvKaKZNjivpAVf4CZebUEU790HDz095Ner2/A0bKW5kG\nNQkH6e0qfaXXAk//w1ziBvp/\n-----END PRIVATE KEY-----\n", + "client_email": "email-case-interaction@smclos.iam.gserviceaccount.com", + "client_id": "100280942351690305149", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/email-case-interaction%40smclos.iam.gserviceaccount.com" +} diff --git a/api/application/helpers/authorization_helper.php b/api/application/helpers/authorization_helper.php index b1bef26f..5747edea 100644 --- a/api/application/helpers/authorization_helper.php +++ b/api/application/helpers/authorization_helper.php @@ -72,7 +72,7 @@ class AUTHORIZATION } - if( $routingName == ROUTE_LOGIN_X || $routingName == ROUTE_LOGIN_Y || $routingName == ROUTE_LOGIN_Z || $routingName == ROUTE_LOGIN_W || $routingName == ROUTE_LOGIN_V || $routingName == ROUTE_LOGIN_A || $routingName == TURN_SERVER_API || $routingName == VIDEO_CHAT_ACCESS_KEY_API || $routingName ==SAVEROOMINFO_API || $routingName ==SAVESMCCREDITPDIMAGE_API || $routingName ==GETSMCPDIMGSECTIONDATA_API || $routingName == ROUTE_LOGIN_T || $routingName == ROUTE_LOGIN_U || $routingName == ROUTE_LOGIN_B || $routingName == ROUTE_LOGIN_C || $routingName == ROUTE_LOGIN_D || $routingName == ROUTE_LOGIN_E || $routingName == ROUTE_LOGIN_F || $routingName == ROUTE_LOGIN_S || $routingName == ROUTE_LOGIN_G || $routingName == ROUTE_LOGIN_H || $routingName == ROUTE_LOGIN_I) + if( $routingName == LOGIN || $routingName == ROUTE_LOGIN_X || $routingName == ROUTE_LOGIN_Y || $routingName == ROUTE_LOGIN_Z || $routingName == ROUTE_LOGIN_W || $routingName == ROUTE_LOGIN_V || $routingName == ROUTE_LOGIN_A || $routingName == TURN_SERVER_API || $routingName == VIDEO_CHAT_ACCESS_KEY_API || $routingName ==SAVEROOMINFO_API || $routingName ==SAVESMCCREDITPDIMAGE_API || $routingName ==GETSMCPDIMGSECTIONDATA_API || $routingName == ROUTE_LOGIN_T || $routingName == ROUTE_LOGIN_U || $routingName == ROUTE_LOGIN_B || $routingName == ROUTE_LOGIN_C || $routingName == ROUTE_LOGIN_D || $routingName == ROUTE_LOGIN_E || $routingName == ROUTE_LOGIN_F || $routingName == ROUTE_LOGIN_S || $routingName == ROUTE_LOGIN_G || $routingName == ROUTE_LOGIN_H || $routingName == ROUTE_LOGIN_I) { return true; } diff --git a/api/application/libraries/Googlecloud.php b/api/application/libraries/Googlecloud.php new file mode 100644 index 00000000..bfb66067 --- /dev/null +++ b/api/application/libraries/Googlecloud.php @@ -0,0 +1,320 @@ + APPPATH.'/client_secret_storage_389134811365-cnd4r6014l500bfpskt7ahs2apvcu3mm.apps.googleusercontent.com.json' + $this->CI =& get_instance(); + $this->googleClient = new StorageClient([ + 'keyFilePath' => APPPATH.'/googleCloud.json' + ]); + + // Authenticate using keyfile data + // $this->googleClient = new StorageClient([ + // 'keyFile' => json_decode(file_get_contents(APPPATH.'/client_secret_storage_389134811365-cnd4r6014l500bfpskt7ahs2apvcu3mm.apps.googleusercontent.com.json'), true) + // ]); + } + + /** + * List all Cloud Storage buckets for the current project. + * Refer : get_bucket_metadata() in GCP Docs + */ + public function listAllBuckets() + { + // $storage = new StorageClient(); + $storage = $this->googleClient; + $array = array(); + try{$buckets = $storage->buckets(); + foreach ($storage->buckets() as $bucket) { + // printf('Bucket: %s' . PHP_EOL, $bucket->name()); + array_push($array, $bucket->name()); + } + return $array; + } + catch (Exception $ex) { + return $ex->getMessage() . "\n
"; + print_r($ex->getTraceAsString()); + ""; + } + } + + + /** + * Create a new bucket with a custom default storage class and location. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * Refer : create_bucket_class_location() in GCP Docs + */ + function createNewBucket(string $bucketName): string + { + // $storage = new StorageClient(); + try { + $storage = $this->googleClient; + $storageClass = 'COLDLINE'; + $location = 'ASIA'; + $bucket = $storage->createBucket($bucketName, [ + 'storageClass' => $storageClass, + 'location' => $location, + ]); + + $objects = $bucket->objects([ + 'encryption' => [ 'defaultKmsKeyName' => null,] + ]); + return $bucketName; + // printf('Created bucket %s in %s with storage class %s', $bucketName, $storageClass, $location); + } catch (Exception $ex) { + return $ex->getMessage() . "\n
"; + print_r($ex->getTraceAsString()); + ""; + + } + } + + /** + * Upload a file. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * @param string $objectName The name of your Cloud Storage object. + * (e.g. 'my-object') + * @param string $source The path to the file to upload. + * (e.g. '/path/to/your/file') + * Refer : upload_object() in GCP Docs + */ + function uploadFileToGCPBucket(string $bucketName, string $objectName, string $source) + { + // $storage = new StorageClient(); + $result = ''; + try { + $storage = $this->googleClient; + $file = fopen($source, 'r'); + $bucket = $storage->bucket($bucketName); + $object = $bucket->upload($file, [ + 'name' => $objectName + ]); + // $result = $object; + // print_r($result); + $result = true; + } + catch (Exception $ex) { + $result = false; + } + return $result; + // printf('Uploaded %s to gs://%s/%s' . PHP_EOL, basename($source), $bucketName, $objectName); + } + + /** + * Generate a v4 signed URL for downloading an object. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * @param string $objectName The name of your Cloud Storage object. + * (e.g. 'my-object') + * Refer : get_object_v4_signed_url() in GCP Docs + */ + function getSingleObjectInaBucketAsSignedURI(string $bucketName, string $objectName): string + { + + try { + $storage = $this->googleClient; + $bucket = $storage->bucket($bucketName); + $object = $bucket->object($objectName); + $url = $object->signedUrl( + # This URL is valid for 15 minutes + new \DateTime('15 min'), + [ + 'version' => 'v4', + ] + ); + $presignedUrl = (string) $url; + + // print('Generated GET signed URL:' . PHP_EOL); + // print($url . PHP_EOL); + // print('You can use this URL with any user agent, for example:' . PHP_EOL); + // print('curl ' . $url . PHP_EOL); + }catch (Exception $ex) { + return $ex->getMessage() . "\n
"; + print_r($ex->getTraceAsString()); + ""; + } + + return $presignedUrl; + } + + /** + * List Cloud Storage bucket objects. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * Refer : list_objects() in GCP Docs + */ + function getAllObjectsInaBucket(string $bucketName) + { + // $storage = new StorageClient(); + $objects = array(); + try { + $storage = $this->googleClient; + $bucket = $storage->bucket($bucketName); + + foreach ($bucket->objects() as $object) { + // printf('Object: %s' . PHP_EOL, $object->name()); + array_push($objects, $object->name()); + } + } catch (Exception $ex) { + return $ex->getMessage() . "\n
"; + print_r($ex->getTraceAsString()); + ""; + } + + return $objects; + } + /** + * Delete an object. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * @param string $objectName The name of your Cloud Storage object. + * (e.g. 'my-object') + * Refer : delete_object() in GCP Docs + */ + function deleteSingleObjFromBucket(string $bucketName, string $objectName): string + { + // $storage = new StorageClient(); + $storage = $this->googleClient; + $bucket = $storage->bucket($bucketName); + $object = $bucket->object($objectName); + $object->delete(); + // printf('Deleted gs://%s/%s' . PHP_EOL, $bucketName, $objectName); + return 'Deleted gs://%s/%s' . PHP_EOL.$objectName; + } + + /** + * Change the default storage class for the given bucket. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + */ + function change_default_storage_class(string $bucketName): void + { + $storage = new StorageClient(); + $bucket = $storage->bucket($bucketName); + + $storageClass = 'COLDLINE'; + + $bucket->update([ + 'storageClass' => $storageClass, + ]); + + printf( + 'Default storage class for bucket %s has been set to %s', + $bucketName, + $storageClass + ); + } + + /** + * Delete a Cloud Storage Bucket. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * Refer : delete_bucket() in GCP Docs. + */ + function delete_bucket(string $bucketName): void + { + // $storage = new StorageClient(); + $storage = $this->googleClient; + $bucket = $storage->bucket($bucketName); + $bucket->delete(); + printf('Bucket deleted: %s' . PHP_EOL, $bucket->name()); + } + + /** + * Get bucket metadata. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * Refer : get_bucket_metadata() in GCP Docs + */ + function get_bucket_metadata(string $bucketName): void + { + // $storage = new StorageClient(); + $storage = $this->googleClient; + $bucket = $storage->bucket($bucketName); + $info = $bucket->info(); + + printf('Bucket Metadata: %s' . PHP_EOL, print_r($info)); + } + + /** + * Download an object from Cloud Storage and save it as a local file. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * @param string $objectName The name of your Cloud Storage object. + * (e.g. 'my-object') + * @param string $destination The local destination to save the object. + * (e.g. '/path/to/your/file') + * Refer : download_object() in GCP Docs + */ + function download_object(string $bucketName, string $objectName, string $destination): void + { + + $storage = $this->googleClient; + $bucket = $storage->bucket($bucketName); + $object = $bucket->object($objectName); + $object->downloadToFile($destination); + printf( + 'Downloaded gs://%s/%s to %s' . PHP_EOL, + $bucketName, + $objectName, + basename($destination)); + } + + + /** + * Copy an object to a new name and/or bucket. + * + * @param string $bucketName The name of your Cloud Storage bucket. + * (e.g. 'my-bucket') + * @param string $objectName The name of your Cloud Storage object. + * (e.g. 'my-object') + * @param string $newBucketName The destination bucket name. + * (e.g. 'my-other-bucket') + * @param string $newObjectName The destination object name. + * (e.g. 'my-other-object') + * Refer : copy_object() in GCP Docs + */ + function copyGCPObject(string $bucketName, string $objectName, string $newBucketName, string $newObjectName): void + { + $storage = new StorageClient(); + $bucket = $storage->bucket($bucketName); + $object = $bucket->object($objectName); + $object->copy($newBucketName, ['name' => $newObjectName]); + printf('Copied gs://%s/%s to gs://%s/%s' . PHP_EOL, + $bucketName, $objectName, $newBucketName, $newObjectName); + } + +} + +?>