aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/Controller/ReferenceApiController.php10
-rw-r--r--core/routes.php1
2 files changed, 11 insertions, 0 deletions
diff --git a/core/Controller/ReferenceApiController.php b/core/Controller/ReferenceApiController.php
index 3ecd9917b23..b9706796460 100644
--- a/core/Controller/ReferenceApiController.php
+++ b/core/Controller/ReferenceApiController.php
@@ -57,6 +57,16 @@ class ReferenceApiController extends \OCP\AppFramework\OCSController {
]);
}
+ /**
+ * @NoAdminRequired
+ */
+ public function resolveOne(string $reference): DataResponse {
+ $resolvedReference = $this->referenceManager->resolveReference($reference);
+
+ $response = new DataResponse(['references' => [ $reference => $resolvedReference ]]);
+ $response->cacheFor(3600, false, true);
+ return $response;
+ }
/**
* @NoAdminRequired
diff --git a/core/routes.php b/core/routes.php
index 5e08213828d..820db44bf90 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -123,6 +123,7 @@ $application->registerRoutes($this, [
['root' => '/collaboration', 'name' => 'CollaborationResources#getCollectionsByResource', 'url' => '/resources/{resourceType}/{resourceId}', 'verb' => 'GET'],
['root' => '/collaboration', 'name' => 'CollaborationResources#createCollectionOnResource', 'url' => '/resources/{baseResourceType}/{baseResourceId}', 'verb' => 'POST'],
+ ['root' => '/references', 'name' => 'ReferenceApi#resolveOne', 'url' => '/resolve', 'verb' => 'GET'],
['root' => '/references', 'name' => 'ReferenceApi#extract', 'url' => '/extract', 'verb' => 'POST'],
['root' => '/references', 'name' => 'ReferenceApi#resolve', 'url' => '/resolve', 'verb' => 'POST'],