コード例 #1
0
 /**
  * @param  ConnectionRequest       $request
  * @return null|ConnectionAbstract
  * @throws ConnectionException
  */
 public static function getConnection(ConnectionRequest $request)
 {
     $result = null;
     if (null === $request->getOntimeUrl()) {
         throw new ConnectionException('No OnTime URL specified');
     }
     $connectionType = null;
     if (null !== $request->getClientId() && null !== $request->getRedirectUri()) {
         $connectionType = self::CT_APP;
     } elseif (null !== $request->getUsername() && null !== $request->getPassword() && null !== $request->getClientId() && null !== $request->getClientSecret()) {
         $connectionType = self::CT_USR;
     }
     if (null !== $connectionType) {
         $result = self::getInstance($connectionType, $request);
     } else {
         throw new ConnectionException('Connection type not found because of wrong parameters');
     }
     return $result;
 }
コード例 #2
0
 /**
  * @param  ConnectionRequest $request
  * @throws ConnectionException
  */
 public function __construct(ConnectionRequest $request)
 {
     if (null !== $request->getOntimeUrl()) {
         $this->setOntimeUrl($request->getOntimeUrl());
     } else {
         throw new ConnectionException('OnTime URL undefined');
     }
     if (null !== $request->getApiVersion()) {
         $this->setApiVersion($request->getApiVersion());
     } else {
         throw new ConnectionException('API version undefined');
     }
     $this->setOntimeApiUrl($this->getOntimeUrl() . 'api/' . $this->getApiVersion() . '/');
     if (null !== $request->getClientId()) {
         $this->setClientId($request->getClientId());
     } else {
         throw new ConnectionException('Client ID undefined');
     }
     $this->setScope($request->getScope());
     $this->setHttpClient(new Client(['base_url' => $this->getOntimeApiUrl()]));
 }