removed overuse of cache:clear command
This commit is contained in:
@ -6,7 +6,6 @@ use App\Models\Module\Module;
|
||||
use App\Traits\SiteApi;
|
||||
use App\Utilities\Console;
|
||||
use App\Utilities\Info;
|
||||
use Artisan;
|
||||
use Cache;
|
||||
use Date;
|
||||
use File;
|
||||
@ -35,12 +34,11 @@ trait Modules
|
||||
}
|
||||
|
||||
// Get All Modules
|
||||
public function getModules()
|
||||
public function getModules($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.items.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$items = Cache::get('apps.items.page.' . $page);
|
||||
$items = Cache::get($key);
|
||||
|
||||
if (!empty($items)) {
|
||||
return $items;
|
||||
@ -48,7 +46,7 @@ trait Modules
|
||||
|
||||
$items = static::getResponseData('GET', 'apps/items');
|
||||
|
||||
Cache::put('apps.items.page.' . $page, $items, Date::now()->addHour());
|
||||
Cache::put($key, $items, Date::now()->addHour());
|
||||
|
||||
return $items;
|
||||
}
|
||||
@ -63,8 +61,9 @@ trait Modules
|
||||
|
||||
public function getDocumentation($alias)
|
||||
{
|
||||
// Get data from cache
|
||||
$documentation = Cache::get('apps.docs.' . $alias);
|
||||
$key = 'apps.docs.' . $alias;
|
||||
|
||||
$documentation = Cache::get($key);
|
||||
|
||||
if (!empty($documentation)) {
|
||||
return $documentation;
|
||||
@ -72,17 +71,16 @@ trait Modules
|
||||
|
||||
$documentation = static::getResponseData('GET', 'apps/docs/' . $alias);
|
||||
|
||||
Cache::put('apps.docs.' . $alias, $documentation, Date::now()->addHour());
|
||||
Cache::put($key, $documentation, Date::now()->addHour());
|
||||
|
||||
return $documentation;
|
||||
}
|
||||
|
||||
public function getModuleReviews($alias, $data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.' . $alias . '.reviews.page.'. $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$reviews = Cache::get('apps.' . $alias . '.reviews.page.'. $page);
|
||||
$reviews = Cache::get($key);
|
||||
|
||||
if (!empty($reviews)) {
|
||||
return $reviews;
|
||||
@ -90,17 +88,16 @@ trait Modules
|
||||
|
||||
$reviews = static::getResponseData('GET', 'apps/' . $alias . '/reviews', $data);
|
||||
|
||||
Cache::put('apps.' . $alias . '.reviews.page.' . $page, $reviews, Date::now()->addHour());
|
||||
Cache::put($key, $reviews, Date::now()->addHour());
|
||||
|
||||
return $reviews;
|
||||
}
|
||||
|
||||
public function getCategories()
|
||||
public function getCategories($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.categories.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$categories = Cache::get('apps.categories.page.' . $page);
|
||||
$categories = Cache::get($key);
|
||||
|
||||
if (!empty($categories)) {
|
||||
return $categories;
|
||||
@ -108,17 +105,16 @@ trait Modules
|
||||
|
||||
$categories = static::getResponseData('GET', 'apps/categories');
|
||||
|
||||
Cache::put('apps.categories.page.' . $page, $categories, Date::now()->addHour());
|
||||
Cache::put($key, $categories, Date::now()->addHour());
|
||||
|
||||
return $categories;
|
||||
}
|
||||
|
||||
public function getModulesByCategory($alias, $data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.categories.' . $alias . '.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$category = Cache::get('apps.categories.' . $alias . '.page.' . $page);
|
||||
$category = Cache::get($key);
|
||||
|
||||
if (!empty($category)) {
|
||||
return $category;
|
||||
@ -126,17 +122,16 @@ trait Modules
|
||||
|
||||
$category = static::getResponseData('GET', 'apps/categories/' . $alias, $data);
|
||||
|
||||
Cache::put('apps.categories.' . $alias . '.page.' . $page, $category, Date::now()->addHour());
|
||||
Cache::put($key, $category, Date::now()->addHour());
|
||||
|
||||
return $category;
|
||||
}
|
||||
|
||||
public function getVendors()
|
||||
public function getVendors($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.vendors.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$vendors = Cache::get('apps.vendors.page.' . $page);
|
||||
$vendors = Cache::get($key);
|
||||
|
||||
if (!empty($vendors)) {
|
||||
return $vendors;
|
||||
@ -144,17 +139,16 @@ trait Modules
|
||||
|
||||
$vendors = static::getResponseData('GET', 'apps/vendors');
|
||||
|
||||
Cache::put('apps.vendors.page.' . $page, $vendors, Date::now()->addHour());
|
||||
Cache::put($key, $vendors, Date::now()->addHour());
|
||||
|
||||
return $vendors;
|
||||
}
|
||||
|
||||
public function getModulesByVendor($alias, $data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.vendors.' . $alias . '.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$vendor = Cache::get('apps.vendors.' . $alias . '.page.' . $page);
|
||||
$vendor = Cache::get($key);
|
||||
|
||||
if (!empty($vendor)) {
|
||||
return $vendor;
|
||||
@ -162,7 +156,7 @@ trait Modules
|
||||
|
||||
$vendor = static::getResponseData('GET', 'apps/vendors/' . $alias, $data);
|
||||
|
||||
Cache::put('apps.vendors.' . $alias . '.page.' . $page, $vendor, Date::now()->addHour());
|
||||
Cache::put($key, $vendor, Date::now()->addHour());
|
||||
|
||||
return $vendor;
|
||||
}
|
||||
@ -172,11 +166,9 @@ trait Modules
|
||||
return static::getResponseData('GET', 'apps/my', $data);
|
||||
}
|
||||
|
||||
public function getInstalledModules($data = [])
|
||||
public function getInstalledModules()
|
||||
{
|
||||
$company_id = session('company_id');
|
||||
|
||||
$key = 'apps.installed.' . $company_id . '.app';
|
||||
$key = 'apps.installed.' . session('company_id');
|
||||
|
||||
if ($installed = Cache::get($key)) {
|
||||
return $installed;
|
||||
@ -203,10 +195,9 @@ trait Modules
|
||||
|
||||
public function getPreSaleModules($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.pre_sale.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$pre_sale = Cache::get('apps.pre_sale.page.' . $page);
|
||||
$pre_sale = Cache::get($key);
|
||||
|
||||
if (!empty($pre_sale)) {
|
||||
return $pre_sale;
|
||||
@ -214,17 +205,16 @@ trait Modules
|
||||
|
||||
$pre_sale = static::getResponseData('GET', 'apps/pre_sale', $data);
|
||||
|
||||
Cache::put('apps.pre_sale.page.' . $page, $pre_sale, Date::now()->addHour());
|
||||
Cache::put($key, $pre_sale, Date::now()->addHour());
|
||||
|
||||
return $pre_sale;
|
||||
}
|
||||
|
||||
public function getPaidModules($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.paid.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$paid = Cache::get('apps.paid.page.' . $page);
|
||||
$paid = Cache::get($key);
|
||||
|
||||
if (!empty($paid)) {
|
||||
return $paid;
|
||||
@ -232,17 +222,16 @@ trait Modules
|
||||
|
||||
$paid = static::getResponseData('GET', 'apps/paid', $data);
|
||||
|
||||
Cache::put('apps.paid.page.' . $page, $paid, Date::now()->addHour());
|
||||
Cache::put($key, $paid, Date::now()->addHour());
|
||||
|
||||
return $paid;
|
||||
}
|
||||
|
||||
public function getNewModules($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.new.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$new = Cache::get('apps.new.page.' . $page);
|
||||
$new = Cache::get($key);
|
||||
|
||||
if (!empty($new)) {
|
||||
return $new;
|
||||
@ -250,17 +239,16 @@ trait Modules
|
||||
|
||||
$new = static::getResponseData('GET', 'apps/new', $data);
|
||||
|
||||
Cache::put('apps.new.page.' . $page, $new, Date::now()->addHour());
|
||||
Cache::put($key, $new, Date::now()->addHour());
|
||||
|
||||
return $new;
|
||||
}
|
||||
|
||||
public function getFreeModules($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.free.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$free = Cache::get('apps.free.page.' . $page);
|
||||
$free = Cache::get($key);
|
||||
|
||||
if (!empty($free)) {
|
||||
return $free;
|
||||
@ -268,17 +256,16 @@ trait Modules
|
||||
|
||||
$free = static::getResponseData('GET', 'apps/free', $data);
|
||||
|
||||
Cache::put('apps.free.page.' . $page, $free, Date::now()->addHour());
|
||||
Cache::put($key, $free, Date::now()->addHour());
|
||||
|
||||
return $free;
|
||||
}
|
||||
|
||||
public function getFeaturedModules($data = [])
|
||||
{
|
||||
$page = isset($data['query']['page']) ? $data['query']['page'] : 1;
|
||||
$key = 'apps.featured.page.' . $this->getPageNumber($data);
|
||||
|
||||
// Get data from cache
|
||||
$featured = Cache::get('apps.featured.page.' . $page);
|
||||
$featured = Cache::get($key);
|
||||
|
||||
if (!empty($featured)) {
|
||||
return $featured;
|
||||
@ -286,7 +273,7 @@ trait Modules
|
||||
|
||||
$featured = static::getResponseData('GET', 'apps/featured', $data);
|
||||
|
||||
Cache::put('apps.featured.page.' . $page, $featured, Date::now()->addHour());
|
||||
Cache::put($key, $featured, Date::now()->addHour());
|
||||
|
||||
return $featured;
|
||||
}
|
||||
@ -447,7 +434,7 @@ trait Modules
|
||||
$company_id = session('company_id');
|
||||
$locale = app()->getLocale();
|
||||
|
||||
Cache::forget('installed.' . $company_id . '.module');
|
||||
$this->clearModulesCache();
|
||||
|
||||
$command = "module:install {$module->alias} {$company_id} {$locale}";
|
||||
|
||||
@ -481,12 +468,9 @@ trait Modules
|
||||
'version' => $module->get('version'),
|
||||
];
|
||||
|
||||
Artisan::call('cache:clear');
|
||||
|
||||
$module->delete();
|
||||
|
||||
// Cache Data clear
|
||||
File::deleteDirectory(storage_path('framework/cache/data'));
|
||||
$this->clearModulesCache();
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
@ -508,7 +492,7 @@ trait Modules
|
||||
|
||||
$module->enable();
|
||||
|
||||
Artisan::call('cache:clear');
|
||||
$this->clearModulesCache();
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
@ -530,7 +514,7 @@ trait Modules
|
||||
|
||||
$module->disable();
|
||||
|
||||
Artisan::call('cache:clear');
|
||||
$this->clearModulesCache($alias);
|
||||
|
||||
return [
|
||||
'success' => true,
|
||||
@ -564,8 +548,9 @@ trait Modules
|
||||
|
||||
public function loadSuggestions()
|
||||
{
|
||||
// Get data from cache
|
||||
$data = Cache::get('suggestions');
|
||||
$key = 'apps.suggestions';
|
||||
|
||||
$data = Cache::get($key);
|
||||
|
||||
if (!empty($data)) {
|
||||
return $data;
|
||||
@ -581,15 +566,16 @@ trait Modules
|
||||
$data[$suggestion->path] = $suggestion;
|
||||
}
|
||||
|
||||
Cache::put('suggestions', $data, Date::now()->addHour(6));
|
||||
Cache::put($key, $data, Date::now()->addHour(6));
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function loadNotifications()
|
||||
{
|
||||
// Get data from cache
|
||||
$data = Cache::get('notifications');
|
||||
$key = 'apps.notifications';
|
||||
|
||||
$data = Cache::get($key);
|
||||
|
||||
if (!empty($data)) {
|
||||
return $data;
|
||||
@ -605,15 +591,16 @@ trait Modules
|
||||
$data[$notification->path][] = $notification;
|
||||
}
|
||||
|
||||
Cache::put('notifications', $data, Date::now()->addHour(6));
|
||||
Cache::put($key, $data, Date::now()->addHour(6));
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function getSuggestions($path)
|
||||
{
|
||||
// Get data from cache
|
||||
$data = Cache::get('suggestions');
|
||||
$key = 'apps.suggestions';
|
||||
|
||||
$data = Cache::get($key);
|
||||
|
||||
if (empty($data)) {
|
||||
$data = $this->loadSuggestions();
|
||||
@ -628,8 +615,9 @@ trait Modules
|
||||
|
||||
public function getNotifications($path)
|
||||
{
|
||||
// Get data from cache
|
||||
$data = Cache::get('notifications');
|
||||
$key = 'apps.notifications';
|
||||
|
||||
$data = Cache::get($key);
|
||||
|
||||
if (empty($data)) {
|
||||
$data = $this->loadNotifications();
|
||||
@ -641,4 +629,24 @@ trait Modules
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getPageNumber($data = [])
|
||||
{
|
||||
if (empty($data['query']) || empty($data['query']['page'])) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return $data['query']['page'];
|
||||
}
|
||||
|
||||
public function clearModulesCache()
|
||||
{
|
||||
if (config('module.cache.enabled')) {
|
||||
Cache::forget(config('module.cache.key'));
|
||||
}
|
||||
|
||||
Cache::forget('apps.notifications');
|
||||
Cache::forget('apps.suggestions');
|
||||
Cache::forget('apps.installed.' . session('company_id'));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user