diff --git a/src/Extensions/QueuedJobDescriptorExtension.php b/src/Extensions/QueuedJobDescriptorExtension.php index 5bbb82d..ae5b119 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 */ public function onAfterBuild(): void { diff --git a/src/Tasks/GarbageCollectionTask.php b/src/Tasks/GarbageCollectionTask.php index 8ae1248..1472578 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 doRun(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..c289caa 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 doRun(InputInterface $input, HybridOutput $output): int { LoginSession::get()->removeAll(); RememberLoginHash::get()->removeAll(); - echo "Session removal completed successfully\n"; + return Command::SUCCESS; } }