From df502c114da97a6a9cfbb61c55212ab342875189 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Wed, 13 Mar 2024 00:37:39 +0100 Subject: feat(settings): Cache app discover images to ensure privacy of users Co-authored-by: Benjamin Gaussorgues Co-authored-by: Ferdinand Thiessen Signed-off-by: Ferdinand Thiessen --- lib/private/App/AppStore/Fetcher/AppDiscoverFetcher.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/private/App') diff --git a/lib/private/App/AppStore/Fetcher/AppDiscoverFetcher.php b/lib/private/App/AppStore/Fetcher/AppDiscoverFetcher.php index 17ee446aaa1..48dba6d48dc 100644 --- a/lib/private/App/AppStore/Fetcher/AppDiscoverFetcher.php +++ b/lib/private/App/AppStore/Fetcher/AppDiscoverFetcher.php @@ -97,4 +97,20 @@ class AppDiscoverFetcher extends Fetcher { return $entries; } + + public function getETag(): string|null { + $rootFolder = $this->appData->getFolder('/'); + + try { + $file = $rootFolder->getFile($this->fileName); + $jsonBlob = json_decode($file->getContent(), true); + + if (is_array($jsonBlob) && isset($jsonBlob['ETag'])) { + return (string)$jsonBlob['ETag']; + } + } catch (\Throwable $e) { + // ignore + } + return null; + } } -- cgit v1.2.3