diff --git a/app/Console/Commands/DemoSeederCommand.php b/app/Console/Commands/DemoSeederCommand.php index fd89c5c7..0f20c4dc 100644 --- a/app/Console/Commands/DemoSeederCommand.php +++ b/app/Console/Commands/DemoSeederCommand.php @@ -17,9 +17,9 @@ use CachetHQ\Cachet\Models\Incident; use CachetHQ\Cachet\Models\IncidentTemplate; use CachetHQ\Cachet\Models\Metric; use CachetHQ\Cachet\Models\MetricPoint; -use CachetHQ\Cachet\Models\Setting; use CachetHQ\Cachet\Models\Subscriber; use CachetHQ\Cachet\Models\User; +use CachetHQ\Cachet\Settings\Repository; use DateInterval; use DateTime; use Illuminate\Console\Command; @@ -49,6 +49,27 @@ class DemoSeederCommand extends Command */ protected $description = 'Seeds Cachet with demo data.'; + /** + * The settings repository. + * + * @var \CachetHQ\Cache\Settings\Repository + */ + protected $settings; + + /** + * Create a new demo seeder command instance. + * + * @param \CachetHQ\Cache\Settings\Repository $settings + * + * @return void + */ + public function __construct(Repository $settings) + { + parent::__construct(); + + $this->settings = $settings; + } + /** * Execute the console command. * @@ -325,10 +346,10 @@ EINCIDENT; ], ]; - Setting::truncate(); + $this->settings->clear(); foreach ($defaultSettings as $setting) { - Setting::create($setting); + $this->settings->set($setting['name'], $setting['value']); } } diff --git a/app/Settings/Repository.php b/app/Settings/Repository.php index fb9a9a33..edd5103e 100644 --- a/app/Settings/Repository.php +++ b/app/Settings/Repository.php @@ -90,6 +90,18 @@ class Repository $this->model->where('name', $name)->delete(); } + /** + * Clear all settings. + * + * @return void + */ + public function clear() + { + $this->stale = true; + + $this->model->query()->delete(); + } + /** * Is the config state stale? *