diff --git a/extend.php b/extend.php index 52966fa..7b1b03a 100644 --- a/extend.php +++ b/extend.php @@ -14,6 +14,7 @@ use ACPL\FlarumCache\Api\Controller\LSCacheCsrfResponseController; use ACPL\FlarumCache\Api\Controller\PurgeLSCacheController; use ACPL\FlarumCache\Command\LSCacheClearCommand; +use ACPL\FlarumCache\Compatibility\FlarumLikes\FlarumLikesPurgeMiddleware; use ACPL\FlarumCache\Compatibility\FlarumTags\FlarumTagsPurgeMiddleware; use ACPL\FlarumCache\Compatibility\FofMasquerade\Middleware as FofMasqueradeMiddleware; use ACPL\FlarumCache\Listener\ClearingCacheListener; @@ -76,6 +77,9 @@ ->whenExtensionEnabled('flarum-tags', [ (new Extend\Middleware('api'))->add(FlarumTagsPurgeMiddleware::class), ]) + ->whenExtensionEnabled('flarum-likes', [ + (new Extend\Middleware('api'))->add(FlarumLikesPurgeMiddleware::class), + ]) ->whenExtensionEnabled('fof-masquerade', [ (new Extend\Middleware('api'))->add(FofMasqueradeMiddleware::class), ]) diff --git a/src/Compatibility/FlarumLikes/FlarumLikesPurgeMiddleware.php b/src/Compatibility/FlarumLikes/FlarumLikesPurgeMiddleware.php new file mode 100644 index 0000000..1d5f78d --- /dev/null +++ b/src/Compatibility/FlarumLikes/FlarumLikesPurgeMiddleware.php @@ -0,0 +1,31 @@ +currentRouteName !== 'posts.update') { + return $response; + } + + $requestBody = $request->getParsedBody(); + + if (! Arr::has($requestBody, 'data.attributes.isLiked')) { + return $response; + } + + return $this->addPurgeParamsToResponse($response, ['users.index']); + } +}