diff options
-rw-r--r-- | composer.lock | 8 | ||||
-rw-r--r-- | lib/Db/CoreRequestBuilder.php | 1 | ||||
-rw-r--r-- | lib/Db/StreamRequest.php | 2 | ||||
-rw-r--r-- | lib/Db/StreamRequestBuilder.php | 12 | ||||
-rw-r--r-- | lib/Model/ActivityPub/Stream.php | 6 | ||||
-rw-r--r-- | lib/Service/StreamQueueService.php | 2 |
6 files changed, 21 insertions, 10 deletions
diff --git a/composer.lock b/composer.lock index 3d0a238f..94cfaf21 100644 --- a/composer.lock +++ b/composer.lock @@ -12,12 +12,12 @@ "source": { "type": "git", "url": "https://github.com/daita/my-small-php-tools.git", - "reference": "732d54bca742e3ecdb2b544589550a37172c1258" + "reference": "6e8f346a2ee488655316d1e4139c27417d6b7e4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/daita/my-small-php-tools/zipball/732d54bca742e3ecdb2b544589550a37172c1258", - "reference": "732d54bca742e3ecdb2b544589550a37172c1258", + "url": "https://api.github.com/repos/daita/my-small-php-tools/zipball/6e8f346a2ee488655316d1e4139c27417d6b7e4d", + "reference": "6e8f346a2ee488655316d1e4139c27417d6b7e4d", "shasum": "" }, "require": { @@ -40,7 +40,7 @@ } ], "description": "My small PHP Tools", - "time": "2019-05-27T17:53:41+00:00" + "time": "2019-05-29T20:52:05+00:00" }, { "name": "friendica/json-ld", diff --git a/lib/Db/CoreRequestBuilder.php b/lib/Db/CoreRequestBuilder.php index 640e6316..a8cb3009 100644 --- a/lib/Db/CoreRequestBuilder.php +++ b/lib/Db/CoreRequestBuilder.php @@ -755,7 +755,6 @@ class CoreRequestBuilder { * @param array $data * * @return StreamAction - * @throws InvalidResourceException */ protected function parseStreamActionsLeftJoin(array $data): StreamAction { $new = []; diff --git a/lib/Db/StreamRequest.php b/lib/Db/StreamRequest.php index 1555c19a..2fd8cb21 100644 --- a/lib/Db/StreamRequest.php +++ b/lib/Db/StreamRequest.php @@ -524,7 +524,7 @@ class StreamRequest extends StreamRequestBuilder { } $cache = '[]'; - if ($stream->gotCache()) { + if ($stream->hasCache()) { $cache = json_encode($stream->getCache(), JSON_UNESCAPED_SLASHES); } diff --git a/lib/Db/StreamRequestBuilder.php b/lib/Db/StreamRequestBuilder.php index f4cbbe61..f5358bcc 100644 --- a/lib/Db/StreamRequestBuilder.php +++ b/lib/Db/StreamRequestBuilder.php @@ -410,6 +410,18 @@ class StreamRequestBuilder extends CoreRequestBuilder { try { $action = $this->parseStreamActionsLeftJoin($data); + if ($item->hasCache()) { + $cache = $item->getCache(); + if ($cache->hasItem($action->getStreamId())) { + $cachedItem = $item->getCache() + ->getItem($action->getStreamId()); + $cachedObject = $cachedItem->getObject(); + $cachedObject['action'] = $action; + $cachedItem->setContent(json_encode($cachedObject)); + $cache->updateItem($cachedItem, false); + } + } + $item->setAction($action); } catch (InvalidResourceException $e) { } diff --git a/lib/Model/ActivityPub/Stream.php b/lib/Model/ActivityPub/Stream.php index 8c40d0bf..3cf7a5cc 100644 --- a/lib/Model/ActivityPub/Stream.php +++ b/lib/Model/ActivityPub/Stream.php @@ -228,7 +228,7 @@ class Stream extends ACore implements JsonSerializable { /** * @return bool */ - public function gotCache(): bool { + public function hasCache(): bool { return ($this->cache !== null); } @@ -254,7 +254,7 @@ class Stream extends ACore implements JsonSerializable { public function addCacheItem(string $url): Stream { $cacheItem = new CacheItem($url); - if (!$this->gotCache()) { + if (!$this->hasCache()) { $this->setCache(new Cache()); } @@ -373,7 +373,7 @@ class Stream extends ACore implements JsonSerializable { $result, [ 'action' => ($this->hasAction()) ? $this->getAction() : [], - 'cache' => ($this->gotCache()) ? $this->getCache() : '', + 'cache' => ($this->hasCache()) ? $this->getCache() : '', 'publishedTime' => $this->getPublishedTime() ] ); diff --git a/lib/Service/StreamQueueService.php b/lib/Service/StreamQueueService.php index a3308eca..ab14666b 100644 --- a/lib/Service/StreamQueueService.php +++ b/lib/Service/StreamQueueService.php @@ -177,7 +177,7 @@ class StreamQueueService { return; } - if (!$stream->gotCache()) { + if (!$stream->hasCache()) { $this->deleteCache($queue); return; |