123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\Services;
- use App\Models\AdminShadowFilter;
- use Cache;
- class AdminShadowFilterService
- {
- const CACHE_KEY = 'pf:services:asfs:';
- public static function queryFilter($name = 'hide_from_public_feeds')
- {
- return AdminShadowFilter::whereItemType('App\Profile')
- ->whereActive(1)
- ->where('hide_from_public_feeds', true)
- ->pluck('item_id')
- ->toArray();
- }
- public static function getHideFromPublicFeedsList($refresh = false)
- {
- $key = self::CACHE_KEY . 'list:hide_from_public_feeds';
- if($refresh) {
- Cache::forget($key);
- }
- return Cache::remember($key, 86400, function() {
- return AdminShadowFilter::whereItemType('App\Profile')
- ->whereActive(1)
- ->where('hide_from_public_feeds', true)
- ->pluck('item_id')
- ->toArray();
- });
- }
- public static function canAddToPublicFeedByProfileId($profileId)
- {
- return !in_array($profileId, self::getHideFromPublicFeedsList());
- }
- public static function refresh()
- {
- $keys = [
- self::CACHE_KEY . 'list:hide_from_public_feeds'
- ];
- foreach($keys as $key) {
- Cache::forget($key);
- }
- }
- }
|