From 1de78bdce3eb446df2dbcb75c3b22e2535418a47 Mon Sep 17 00:00:00 2001 From: myrmidex Date: Thu, 8 Jan 2026 02:09:52 +0100 Subject: [PATCH] feature - 23 - purge old demo accounts --- .../Commands/PurgeDemoAccountsCommand.php | 28 +++++++++++++++++++ routes/console.php | 5 ++++ 2 files changed, 33 insertions(+) create mode 100644 app/Console/Commands/PurgeDemoAccountsCommand.php diff --git a/app/Console/Commands/PurgeDemoAccountsCommand.php b/app/Console/Commands/PurgeDemoAccountsCommand.php new file mode 100644 index 0000000..f131076 --- /dev/null +++ b/app/Console/Commands/PurgeDemoAccountsCommand.php @@ -0,0 +1,28 @@ +error('This command can only run in demo mode.'); + + return self::FAILURE; + } + + $count = Planner::where('created_at', '<', now()->subHours(24))->delete(); + + $this->info("Purged {$count} demo accounts."); + + return self::SUCCESS; + } +} diff --git a/routes/console.php b/routes/console.php index eff2ed2..afc6101 100644 --- a/routes/console.php +++ b/routes/console.php @@ -2,7 +2,12 @@ use Illuminate\Foundation\Inspiring; use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\Schedule; Artisan::command('inspire', function () { $this->comment(Inspiring::quote()); })->purpose('Display an inspiring quote')->hourly(); + +Schedule::command('demo:purge') + ->dailyAt('03:00') + ->when(fn () => is_mode_demo());