summaryrefslogtreecommitdiffstats
path: root/lib/public
diff options
context:
space:
mode:
authorJulien Veyssier <julien-nc@posteo.net>2023-01-12 15:47:20 +0100
committerJulius Härtl <jus@bitgrid.net>2023-01-27 11:10:56 +0100
commit946a1af9fd20d12a2ee6240ad2ae24827a22278c (patch)
treed7add9a58d1d7830d3c6948c167b32902a52b5ec /lib/public
parent6431c5a559a1361ae9148adf22b21630b8a37431 (diff)
downloadnextcloud-server-946a1af9fd20d12a2ee6240ad2ae24827a22278c.tar.gz
nextcloud-server-946a1af9fd20d12a2ee6240ad2ae24827a22278c.zip
add 'last used timestamp' management for reference providers
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
Diffstat (limited to 'lib/public')
-rw-r--r--lib/public/Collaboration/Reference/IReferenceManager.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/public/Collaboration/Reference/IReferenceManager.php b/lib/public/Collaboration/Reference/IReferenceManager.php
index 31977be4d74..8e6dee4aa2d 100644
--- a/lib/public/Collaboration/Reference/IReferenceManager.php
+++ b/lib/public/Collaboration/Reference/IReferenceManager.php
@@ -69,10 +69,30 @@ interface IReferenceManager {
public function invalidateCache(string $cachePrefix, ?string $cacheKey = null): void;
/**
- * Get list of providers that implement IDiscoverableReferenceProvider
+ * Get information on discoverable reference providers (id, title, icon and order)
+ * If the provider is searchable, also get the list of supported unified search providers
*
* @return IDiscoverableReferenceProvider[]
* @since 26.0.0
*/
public function getDiscoverableProviders(): array;
+
+ /**
+ * Update or set the last used timestamp for a provider
+ *
+ * @param string $userId
+ * @param string $providerId
+ * @param int|null $timestamp use current timestamp if null
+ * @return void
+ * @since 26.0.0
+ */
+ public function touchProvider(string $userId, string $providerId, ?int $timestamp = null): void;
+
+ /**
+ * Get all known last used timestamps for reference providers
+ *
+ * @return int[]
+ * @since 26.0.0
+ */
+ public function getUserProviderTimestamps(): array;
}