![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/demo.cartinsight.co/vendor/vonage/client-core/src/Application/ |
<?php /** * Vonage Client Library for PHP * * @copyright Copyright (c) 2016-2022 Vonage, Inc. (http://vonage.com) * @license https://github.com/Vonage/vonage-php-sdk-core/blob/master/LICENSE.txt Apache License 2.0 */ declare(strict_types=1); namespace Vonage\Application; use Exception; use Psr\Http\Client\ClientExceptionInterface; use Vonage\Client\APIClient; use Vonage\Client\APIResource; use Vonage\Client\ClientAwareInterface; use Vonage\Client\ClientAwareTrait; use Vonage\Client\Exception\Exception as ClientException; use Vonage\Entity\Hydrator\ArrayHydrator; use Vonage\Entity\Hydrator\HydratorInterface; use Vonage\Entity\IterableAPICollection; use function is_null; class Client implements ClientAwareInterface, APIClient { use ClientAwareTrait; public function __construct(protected APIResource $api, protected ?HydratorInterface $hydrator = null) { } public function getApiResource(): APIResource { if (is_null($this->api)) { $api = new APIResource(); $api->setClient($this->getClient()) ->setBaseUri('/v2/applications') ->setCollectionName('applications'); $this->api = $api; } return $this->api; } /** * Returns the specified application * * @throws ClientExceptionInterface * @throws ClientException */ public function get(string $application): Application { $data = $this->getApiResource()->get($application); $application = new Application(); $application->fromArray($data); return $application; } public function getAll(): IterableAPICollection { $response = $this->api->search(); $response->setApiResource(clone $this->api); $hydrator = new ArrayHydrator(); $hydrator->setPrototype(new Application()); $response->setHydrator($hydrator); return $response; } /** * Creates and saves a new Application * * @throws ClientExceptionInterface * @throws ClientException * @throws Exception */ public function create(Application $application): Application { // Avoids a mishap in the API where an ID can be set during creation $data = $application->toArray(); unset($data['id']); $response = $this->getApiResource()->create($data); return $this->hydrator->hydrate($response); } /** * Saves an existing application * * @throws ClientExceptionInterface * @throws ClientException * @throws Exception */ public function update($application, ?string $id = null): Application { if (!($application instanceof Application)) { trigger_error( 'Passing an array to Vonage\Application\Client::update() is deprecated, ' . 'please pass an Application object instead.', E_USER_DEPRECATED ); $application = $this->fromArray($application); } if (is_null($id)) { $id = $application->getId(); } else { trigger_error( 'Passing an ID to Vonage\Application\Client::update() is deprecated ' . 'and will be removed in a future release', E_USER_DEPRECATED ); } $data = $this->getApiResource()->update($id, $application->toArray()); return $this->hydrator->hydrate($data); } /** * Deletes an application from the Vonage account * * @throws ClientExceptionInterface * @throws ClientException */ public function delete(string $application): bool { $this->getApiResource()->delete($application); return true; } }