From 25e97032616bffd50f5a6c36fad0c5faf7dc7e53 Mon Sep 17 00:00:00 2001 From: Guy Sartorelli Date: Wed, 28 Aug 2024 14:14:00 +1200 Subject: [PATCH] API Update API to reflect changes to CLI interaction --- .../QueuedJobDescriptorExtension.php | 2 +- src/Tasks/GarbageCollectionTask.php | 25 ++++++------------- src/Tasks/InvalidateAllSessionsTask.php | 24 +++++++----------- 3 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/Extensions/QueuedJobDescriptorExtension.php b/src/Extensions/QueuedJobDescriptorExtension.php index 709a7c6..f2db88a 100644 --- a/src/Extensions/QueuedJobDescriptorExtension.php +++ b/src/Extensions/QueuedJobDescriptorExtension.php @@ -12,7 +12,7 @@ class QueuedJobDescriptorExtension extends Extension { /** - * Called on dev/build by DatabaseAdmin + * Called on dev/build by DevBuild */ protected function onAfterBuild(): void { diff --git a/src/Tasks/GarbageCollectionTask.php b/src/Tasks/GarbageCollectionTask.php index 8ae1248..b55a593 100644 --- a/src/Tasks/GarbageCollectionTask.php +++ b/src/Tasks/GarbageCollectionTask.php @@ -3,31 +3,22 @@ namespace SilverStripe\Tasks; use SilverStripe\Dev\BuildTask; +use SilverStripe\HybridExecution\HybridOutput; use SilverStripe\SessionManager\Services\GarbageCollectionService; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; class GarbageCollectionTask extends BuildTask { - /** - * @var string - */ - private static $segment = 'LoginSessionGarbageCollectionTask'; + protected static string $commandName = 'LoginSessionGarbageCollectionTask'; - /** - * @var string - */ - protected $title = 'Login Session Garbage Collection Task'; + protected string $title = 'Login Session Garbage Collection Task'; - /** - * @var string - */ - protected $description = 'Removes expired login sessions and “remember me” hashes from the database'; + protected static string $description = 'Removes expired login sessions and "remember me" hashes from the database'; - /** - * @param HTTPRequest $request - */ - public function run($request) + protected function execute(InputInterface $input, HybridOutput $output): int { GarbageCollectionService::singleton()->collect(); - echo "Garbage collection completed successfully\n"; + return Command::SUCCESS; } } diff --git a/src/Tasks/InvalidateAllSessionsTask.php b/src/Tasks/InvalidateAllSessionsTask.php index 6687d74..e020674 100644 --- a/src/Tasks/InvalidateAllSessionsTask.php +++ b/src/Tasks/InvalidateAllSessionsTask.php @@ -2,32 +2,26 @@ namespace SilverStripe\SessionManager\Tasks; -use SilverStripe\Control\HTTPRequest; use SilverStripe\Dev\BuildTask; +use SilverStripe\HybridExecution\HybridOutput; use SilverStripe\Security\RememberLoginHash; use SilverStripe\SessionManager\Models\LoginSession; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; class InvalidateAllSessionsTask extends BuildTask { - private static string $segment = 'InvalidateAllSessions'; + protected static string $commandName = 'InvalidateAllSessions'; - /** - * @var string - */ - protected $title = 'Invalidate All Login Sessions Task'; + protected string $title = 'Invalidate All Login Sessions Task'; - /** - * @var string - */ - protected $description = 'Removes all login sessions and "remember me" hashes (including yours) from the database'; + protected static string $description = 'Removes all login sessions and "remember me" hashes' + . ' (including yours) from the database'; - /** - * @param HTTPRequest $request - */ - public function run($request) + protected function execute(InputInterface $input, HybridOutput $output): int { LoginSession::get()->removeAll(); RememberLoginHash::get()->removeAll(); - echo "Session removal completed successfully\n"; + return Command::SUCCESS; } }