From 5fa7563bf95f394ebcacc16879323e7e6ebbeaac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Mon, 26 Sep 2022 17:23:11 +0200 Subject: [PATCH] Add endpoint to fetch a cachable reference data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- core/Controller/ReferenceApiController.php | 10 ++++++++++ core/routes.php | 1 + 2 files changed, 11 insertions(+) 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'],