<select />
</component>
<component name="ChangeListManager">
- <list default="true" id="5d2ecd5e-a05a-4f96-a195-fa6372618165" name="Default Changelist" comment="wip #5127">
+ <list default="true" id="5d2ecd5e-a05a-4f96-a195-fa6372618165" name="Default Changelist" comment="wait #5127 @1.5">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/Models/ELearningPackage.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/ELearningPackage.php" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/app/Providers/AuthServiceProvider.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Providers/AuthServiceProvider.php" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/resources/views/vendor/backpack/crud/buttons/fluidbook_quote/assign.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/vendor/backpack/crud/buttons/fluidbook_quote/assign.blade.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/Console/Commands/Precache.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Console/Commands/Precache.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/Models/User.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/User.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<workItem from="1645197416166" duration="5769000" />
<workItem from="1645785620458" duration="1425000" />
<workItem from="1645813363450" duration="1335000" />
- <workItem from="1646037639313" duration="10493000" />
- </task>
- <task id="LOCAL-00206" summary="wip #4895 @1">
- <created>1637575906035</created>
- <option name="number" value="00206" />
- <option name="presentableId" value="LOCAL-00206" />
- <option name="project" value="LOCAL" />
- <updated>1637575906035</updated>
+ <workItem from="1646037639313" duration="11147000" />
+ <workItem from="1646075990525" duration="933000" />
+ <workItem from="1646214502173" duration="1114000" />
</task>
<task id="LOCAL-00207" summary="wait #4891 @2">
<created>1638868198502</created>
<option name="project" value="LOCAL" />
<updated>1646052965428</updated>
</task>
- <option name="localTasksCounter" value="255" />
+ <task id="LOCAL-00255" summary="wait #5127 @1.5">
+ <created>1646071514744</created>
+ <option name="number" value="00255" />
+ <option name="presentableId" value="LOCAL-00255" />
+ <option name="project" value="LOCAL" />
+ <updated>1646071514744</updated>
+ </task>
+ <option name="localTasksCounter" value="256" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" />
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
- <MESSAGE value="wait #4962 @0.25" />
<MESSAGE value="wait #4977 @0.25" />
<MESSAGE value="wip #5041 @0.75" />
<MESSAGE value="wait #5049 @0.25" />
<MESSAGE value="wait #5109 @2.5" />
<MESSAGE value="wip #5127 @1" />
<MESSAGE value="wip #5127" />
- <option name="LAST_COMMIT_MESSAGE" value="wip #5127" />
+ <MESSAGE value="wait #5127 @1.5" />
+ <option name="LAST_COMMIT_MESSAGE" value="wait #5127 @1.5" />
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
namespace App\Console\Commands;
use App\Models\Company;
+use App\Models\ELearningMedia;
+use App\Models\ELearningPackage;
use App\Models\FluidbookQuote;
+use App\Models\FluidbookTheme;
use App\Models\Quiz;
use App\Models\AuthUser;
use App\Models\User;
public function handle()
{
$actions = [
- 'Cache user data' => 'user',
- 'Cache company data' => 'company',
+ 'Cache user data' => 'class:' . User::class,
+ 'Cache company data' => 'class:' . Company::class,
'Cache permissions data' => 'permissions',
- 'Cache fluidbook quote data' => 'fluidbookquote',
- 'Cache quiz data' => 'quiz',
+ 'Cache fluidbook quote data' => 'class:' . FluidbookQuote::class,
+ 'Cache fluidbook theme data' => 'class:' . FluidbookTheme::class,
+ 'Cache quiz data' => 'class:' . Quiz::class,
+ 'Cache elearning media data' => 'class:' . ELearningMedia::class,
+ 'Cache elearning package data' => 'class:' . ELearningPackage::class,
];
$user = AuthUser::where('id', self::$_admin)->first();
foreach ($actions as $comment => $action) {
$this->line($comment);
- $this->$action();
+ $this->action($action);
$this->progressBar->advance();
}
$this->line('End of caching data');
}
- protected function permissions()
- {
- Permissions::getManagedUsers(self::$_admin);
- }
-
- protected function company()
+ protected function action($actionName)
{
- $companies = Company::withoutGlobalScopes()->get();
- foreach ($companies as $company) {
- $company->preCache();
- break;
+ sleep(1);
+ if (method_exists($this, $actionName)) {
+ return $this->$actionName();
}
- }
-
- protected function user()
- {
- $users = User::withoutGlobalScopes()->get();
- foreach ($users as $user) {
- $user->preCache();
- break;
+ if (strpos($actionName, 'class:')) {
+ return $this->preCacheClass(substr($actionName, 6));
}
+
}
- protected function fluidbookquote()
+ protected function preCacheClass($className)
{
- $quotes = FluidbookQuote::withoutGlobalScopes()->get();
- foreach ($quotes as $quote) {
- $quote->preCache();
+ $instances = $className::withoutGlobalScopes()->get();
+ foreach ($instances as $instance) {
+ $instance->preCache();
break;
}
}
- protected function quiz()
+ protected function permissions()
{
- $quizzes = Quiz::withoutGlobalScopes()->get();
- foreach ($quizzes as $quiz) {
- $quiz->preCache();
- break;
- }
+ Permissions::getManagedUsers(self::$_admin);
}
-
}