diff --git a/Connection.php b/Connection.php index 8b4fb08..a99708c 100644 --- a/Connection.php +++ b/Connection.php @@ -2,17 +2,20 @@ namespace explosivebit\arangodb; +use ArangoDBClient\EdgeHandler; +use ArangoDBClient\Export; +use ArangoDBClient\GraphHandler; use Yii; -use triagens\ArangoDb\CollectionHandler; -use triagens\ArangoDb\ConnectionOptions; -use triagens\ArangoDb\Document; -use triagens\ArangoDb\DocumentHandler; -use triagens\ArangoDb\Statement; -use triagens\ArangoDb\UpdatePolicy; +use ArangoDBClient\CollectionHandler; +use ArangoDBClient\ConnectionOptions; +use ArangoDBClient\Document; +use ArangoDBClient\DocumentHandler; +use ArangoDBClient\Statement; +use ArangoDBClient\UpdatePolicy; -use yii\base\Object; +use yii\base\BaseObject; -class Connection extends Object +class Connection extends BaseObject { private $connection = null; @@ -42,6 +45,10 @@ class Connection extends Object private $collectionHandler = null; /** @var null|DocumentHandler $documentHandler */ private $documentHandler = null; + /** @var null|EdgeHandler $documentHandler */ + private $edgeHandler = null; + /** @var null|EdgeHandler $graphHandler */ + private $graphHandler = null; public function init() { @@ -51,16 +58,26 @@ public function init() try { Yii::info($token, 'explosivebit\arangodb\Connection::open'); Yii::beginProfile($token, 'explosivebit\arangodb\Connection::open'); - $this->connection = new \triagens\ArangoDb\Connection($this->connectionOptions); + $this->connection = new \ArangoDBClient\Connection($this->connectionOptions); $this->collectionHandler = new CollectionHandler($this->connection); - $this->documentHandler = new DocumentHandler($this->connection); + $this->documentHandler = new DocumentHandler($this->connection); + $this->edgeHandler = new EdgeHandler($this->connection); + $this->graphHandler = new GraphHandler($this->connection); Yii::endProfile($token, 'explosivebit\arangodb\Connection::open'); } catch (\Exception $ex) { Yii::endProfile($token, 'explosivebit\arangodb\Connection::open'); - throw new \Exception($ex->getMessage(), (int) $ex->getCode(), $ex); + throw new \Exception($ex->getMessage(), (int)$ex->getCode(), $ex); } } + /** + * @return EdgeHandler|null + */ + public function getGraphHandler(): EdgeHandler + { + return $this->graphHandler; + } + /** * @return null|CollectionHandler */ @@ -86,6 +103,14 @@ public function getDocumentHandler() return $this->documentHandler; } + /** + * @return null|EdgeHandler + */ + public function getEdgeHandler() + { + return $this->edgeHandler; + } + /** * @param $collectionId * @param $documentId @@ -104,4 +129,12 @@ public function getStatement($options = []) { return new Statement($this->connection, $options); } + + /** + * @param array $options + * @return Export + */ + public function getExport($options = []) { + return new Export($this->connection, $options); + } } diff --git a/Query.php b/Query.php index eb6838e..4d449a4 100644 --- a/Query.php +++ b/Query.php @@ -3,8 +3,8 @@ namespace explosivebit\arangodb; use Yii; -use triagens\ArangoDb\Document; -use triagens\ArangoDb\Statement; +use ArangoDBClient\Document; +use ArangoDBClient\Statement; use yii\base\Component; use yii\base\InvalidParamException; use yii\base\NotSupportedException; diff --git a/README.md b/README.md index 35399b8..f63c98b 100644 --- a/README.md +++ b/README.md @@ -38,11 +38,11 @@ return [ 'arangodb' => [ 'class' => '\explosivebit\arangodb\Connection', 'connectionOptions' => [ - triagens\ArangoDb\ConnectionOptions::OPTION_DATABASE => "mydatabase", - triagens\ArangoDb\ConnectionOptions::OPTION_ENDPOINT => 'tcp://127.0.0.1:8529', - triagens\ArangoDb\ConnectionOptions::OPTION_AUTH_TYPE => 'Basic', - //triagens\ArangoDb\ConnectionOptions::OPTION_AUTH_USER => '', - //triagens\ArangoDb\ConnectionOptions::OPTION_AUTH_PASSWD => '', + ArangoDBClient\ConnectionOptions::OPTION_DATABASE => "mydatabase", + ArangoDBClient\ConnectionOptions::OPTION_ENDPOINT => 'tcp://127.0.0.1:8529', + ArangoDBClient\ConnectionOptions::OPTION_AUTH_TYPE => 'Basic', + //ArangoDBClient\ConnectionOptions::OPTION_AUTH_USER => '', + //ArangoDBClient\ConnectionOptions::OPTION_AUTH_PASSWD => '', ], ], ], diff --git a/composer.json b/composer.json index 0e4c6bd..5a16e14 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "explosivebit/yii2-arangodb", + "name": "elfarqy/yii2-arangodb", "description": "Yii2 arangodb components", "type": "yii2-extension", "keywords": ["yii2","arangodb"], @@ -8,12 +8,16 @@ { "name": "Ilya Rumyantsev", "email": "explosivebit@gmail.com" + }, + { + "name": "Alvian Burhanuddin", + "email": "alvianthelfarqy@gmail.com" } ], "minimum-stability": "dev", "require": { "yiisoft/yii2": "*", - "triagens/arangodb": "*" + "triagens/arangodb": "~3.2" }, "require-dev": { "yiisoft/yii2-debug": "*" @@ -23,4 +27,4 @@ "explosivebit\\arangodb\\": "" } } -} \ No newline at end of file +}