|
|
|
|
@ -42,36 +42,6 @@ class OC_API { |
|
|
|
|
*/ |
|
|
|
|
protected static $actions = array(); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* registers an api call |
|
|
|
|
* @param string $method the http method |
|
|
|
|
* @param string $url the url to match |
|
|
|
|
* @param callable $action the function to run |
|
|
|
|
* @param string $app the id of the app registering the call |
|
|
|
|
* @param int $authLevel the level of authentication required for the call |
|
|
|
|
* @param array $defaults |
|
|
|
|
* @param array $requirements |
|
|
|
|
*/ |
|
|
|
|
public static function register($method, $url, $action, $app, |
|
|
|
|
$authLevel = API::USER_AUTH, |
|
|
|
|
$defaults = array(), |
|
|
|
|
$requirements = array()) { |
|
|
|
|
$name = strtolower($method).$url; |
|
|
|
|
$name = str_replace(array('/', '{', '}'), '_', $name); |
|
|
|
|
if(!isset(self::$actions[$name])) { |
|
|
|
|
$oldCollection = OC::$server->getRouter()->getCurrentCollection(); |
|
|
|
|
OC::$server->getRouter()->useCollection('ocs'); |
|
|
|
|
OC::$server->getRouter()->create($name, $url) |
|
|
|
|
->method($method) |
|
|
|
|
->defaults($defaults) |
|
|
|
|
->requirements($requirements) |
|
|
|
|
->action('OC_API', 'call'); |
|
|
|
|
self::$actions[$name] = array(); |
|
|
|
|
OC::$server->getRouter()->useCollection($oldCollection); |
|
|
|
|
} |
|
|
|
|
self::$actions[$name][] = array('app' => $app, 'action' => $action, 'authlevel' => $authLevel); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* respond to a call |
|
|
|
|
* @param \OC\OCS\Result $result |
|
|
|
|
|