summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/src/Common/Api/Operation.php
diff options
context:
space:
mode:
authorEole <EoleDev@outlook.fr>2016-04-27 16:42:28 +0200
committerEole <EoleDev@outlook.fr>2016-04-27 16:42:28 +0200
commit49f416dc5061032e0514ea0cfeceaca37d13e432 (patch)
tree1202ac2a6fa860b8929afdc886c94fc50bd0a1de /server/vendor/php-opencloud/common/src/Common/Api/Operation.php
parentc7edd70b5e5b0f5159c78ce3d924d4e7f60db816 (diff)
parentc9202d9113210981ae47df40511645da2ee140df (diff)
Merge branch 'develop' into Eole_Graph
Conflicts: client/index.html client/js/controllers/home/home.js client/partials/home/home.html
Diffstat (limited to 'server/vendor/php-opencloud/common/src/Common/Api/Operation.php')
-rw-r--r--server/vendor/php-opencloud/common/src/Common/Api/Operation.php136
1 files changed, 0 insertions, 136 deletions
diff --git a/server/vendor/php-opencloud/common/src/Common/Api/Operation.php b/server/vendor/php-opencloud/common/src/Common/Api/Operation.php
deleted file mode 100644
index 3155ca4..0000000
--- a/server/vendor/php-opencloud/common/src/Common/Api/Operation.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-namespace OpenCloud\Common\Api;
-
-use GuzzleHttp\Utils;
-
-/**
- * This class represents an OpenCloud API operation. It encapsulates most aspects of the REST operation: its HTTP
- * method, the URL path, its top-level JSON key, and all of its {@see Parameter} objects.
- *
- * An operation not only represents a remote operation, but it also provides the mechanism for executing it
- * over HTTP. To do this, it uses a {@see ClientInterface} that allows a {@see GuzzleHttp\Message\Request}
- * to be created from the user values provided. Once this request is assembled, it is then sent to the
- * remote API and the response is returned to whoever first invoked the Operation class.
- *
- * @package OpenCloud\Common\Api
- */
-class Operation
-{
- /** @var string The HTTP method */
- private $method;
-
- /** @var string The URL path */
- private $path;
-
- /** @var string The top-level JSON key */
- private $jsonKey;
-
- /** @var []Parameter The parameters of this operation */
- private $params;
-
- /**
- * @param array $definition The data definition (in array form) that will populate this
- * operation. Usually this is retrieved from an {@see ApiInterface}
- * object method.
- */
- public function __construct(array $definition)
- {
- $this->method = $definition['method'];
- $this->path = $definition['path'];
-
- if (isset($definition['jsonKey'])) {
- $this->jsonKey = $definition['jsonKey'];
- }
-
- $this->params = self::toParamArray($definition['params']);
- }
-
- /**
- * @return string
- */
- public function getPath()
- {
- return $this->path;
- }
-
- /**
- * @return string
- */
- public function getMethod()
- {
- return $this->method;
- }
-
- /**
- * Indicates whether this operation supports a parameter.
- *
- * @param $key The name of a parameter
- *
- * @return bool
- */
- public function hasParam($key)
- {
- return isset($this->params[$key]);
- }
-
- /**
- * @param $name
- *
- * @return Parameter
- */
- public function getParam($name)
- {
- return isset($this->params[$name]) ? $this->params[$name] : null;
- }
-
- /**
- * @return string
- */
- public function getJsonKey()
- {
- return $this->jsonKey;
- }
-
- /**
- * A convenience method that will take a generic array of data and convert it into an array of
- * {@see Parameter} objects.
- *
- * @param array $data A generic data array
- *
- * @return array
- */
- public static function toParamArray(array $data)
- {
- $params = [];
-
- foreach ($data as $name => $param) {
- $params[$name] = new Parameter($param + ['name' => $name]);
- }
-
- return $params;
- }
-
- /**
- * This method will validate all of the user-provided values and throw an exception if any
- * failures are detected. This is useful for basic sanity-checking before a request is
- * serialized and sent to the API.
- *
- * @param array $userValues The user-defined values
- *
- * @return bool TRUE if validation passes
- * @throws \Exception If validate fails
- */
- public function validate(array $userValues)
- {
- foreach ($this->params as $paramName => $param) {
- if (array_key_exists($paramName, $userValues)) {
- $param->validate($userValues[$paramName]);
- } elseif ($param->isRequired()) {
- throw new \Exception(sprintf('"%s" is a required option, but it was not provided', $paramName));
- }
- }
-
- return true;
- }
-}