viagogo/gogokit.php

View on GitHub
src/ViagogoClient.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Viagogo;

use Viagogo\Clients as Clients;
use Viagogo\Core as Core;
use Viagogo\Hal\HalClient;

/**
 *
 */
class ViagogoClient {
    private $oauthClient;
    private $tokenStore;
    private $halClient;
    private $categoryClient;
    private $eventClient;
    private $venueClient;
    private $listingClient;
    private $searchClient;
    private $currencyClient;
    private $countryClient;
    private $languageClient;
    private $metroAreaClient;
    private $sellerListingClient;
    private $saleClient;
    private $shipmentClient;
    private $webhookClient;

    function __construct(Core\ViagogoConfiguration $configuration) {
        $this->oauthClient = new Core\OAuthClient($configuration);
        $this->tokenStore = new Core\OAuthTokenStore();
        $this->halClient = new HalClient($configuration, $this->tokenStore);
        $this->categoryClient = new Clients\CategoryClient($this->halClient);
        $this->eventClient = new Clients\EventClient($this->halClient);
        $this->venueClient = new Clients\VenueClient($this->halClient);
        $this->listingClient = new Clients\ListingClient($this->halClient);
        $this->searchClient = new Clients\SearchClient($this->halClient);
        $this->currencyClient = new Clients\CurrencyClient($this->halClient);
        $this->countryClient = new Clients\CountryClient($this->halClient);
        $this->languageClient = new Clients\LanguageClient($this->halClient);
        $this->metroAreaClient = new Clients\MetroAreaClient($this->halClient);
        $this->sellerListingClient = new Clients\SellerListingClient($this->halClient);
        $this->saleClient = new Clients\SaleClient($this->halClient);
        $this->shipmentClient = new Clients\ShipmentClient($this->halClient);
        $this->webhookClient = new Clients\WebhookClient($this->halClient);

    }

    public function setToken(Core\OAuthToken $token) {
        $this->tokenStore->setToken($token);

        return $this;
    }

    public function getOAuthClient() {
        return $this->oauthClient;
    }

    public function getHalClient() {
        return $this->halClient;
    }

    public function getCategoryClient() {
        return $this->categoryClient;
    }

    public function getEventClient() {
        return $this->eventClient;
    }

    public function getVenueClient() {
        return $this->venueClient;
    }

    public function getListingClient() {
        return $this->listingClient;
    }

    public function getSearchClient() {
        return $this->searchClient;
    }

    public function getCountryClient() {
        return $this->countryClient;
    }

    public function getCurrencyClient() {
        return $this->currencyClient;
    }

    public function getLanguageClient() {
        return $this->languageClient;
    }

    public function getMetroAreaClient() {
        return $this->metroAreaClient;
    }

    public function getSellerListingClient() {
        return $this->sellerListingClient;
    }

    public function getSaleClient() {
        return $this->saleClient;
    }

    public function getShipmentClient() {
        return $this->shipmentClient;
    }

        public function getWebhookClient() {
        return $this->webhookClient;
    }
}