58 lines
1.7 KiB
PHP
58 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Base\Framework\Command;
|
|
|
|
use Symfony\Component\Console\Attribute\AsCommand;
|
|
use Symfony\Component\Console\Command\Command;
|
|
use Symfony\Component\Console\Input\InputArgument;
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
use Symfony\Component\Console\Output\OutputInterface;
|
|
use Symfony\Component\Console\Style\SymfonyStyle;
|
|
|
|
#[AsCommand(
|
|
name: 'config:set',
|
|
description: '[deprecated] This command currently serves no use. It may be re-purposed or removed in the future.',
|
|
)]
|
|
class ConfigSetCommand extends Command
|
|
{
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
protected function configure(): void
|
|
{
|
|
$this
|
|
->addArgument('key', InputArgument::REQUIRED, 'Config key')
|
|
->addArgument('value', InputArgument::REQUIRED, 'Config value')
|
|
;
|
|
}
|
|
|
|
protected function execute(InputInterface $input, OutputInterface $output): int
|
|
{
|
|
$io = new SymfonyStyle($input, $output);
|
|
$key = $input->getArgument('key');
|
|
$handlers = [
|
|
'auth.method' => 'setAuthMethod',
|
|
];
|
|
|
|
$handler = $handlers[$key];
|
|
$this->$handler($input, $io);
|
|
|
|
$io->success('Success: "' . $input->getArgument('key') . '" set to "' . $input->getArgument('value') . '"');
|
|
|
|
return Command::SUCCESS;
|
|
}
|
|
|
|
private function setAuthMethod(InputInterface $input, SymfonyStyle $io)
|
|
{
|
|
$config = [
|
|
'local' => 'config/dist/local.security.yaml',
|
|
'ldap' => 'config/dist/ldap.security.yaml',
|
|
];
|
|
$authMethod = $input->getArgument('value');
|
|
$io->text('> Setting auth method to: ' . $authMethod);
|
|
copy($config[$authMethod], 'config/packages/security.yaml');
|
|
}
|
|
}
|