mirror of
				https://github.com/slawkens/myaac.git
				synced 2025-11-04 01:36:23 +01:00 
			
		
		
		
	Option to clear specified plugin settings by name
This commit is contained in:
		@@ -14,7 +14,11 @@ class SettingsResetCommand extends Command
 | 
			
		||||
	protected function configure(): void
 | 
			
		||||
	{
 | 
			
		||||
		$this->setName('settings:reset')
 | 
			
		||||
			->setDescription('Removes all settings in database');
 | 
			
		||||
			->setDescription('Removes settings in database')
 | 
			
		||||
			->addArgument('name',
 | 
			
		||||
				InputArgument::OPTIONAL,
 | 
			
		||||
				'Name of the plugin'
 | 
			
		||||
			);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	protected function execute(InputInterface $input, OutputInterface $output): int
 | 
			
		||||
@@ -23,16 +27,30 @@ class SettingsResetCommand extends Command
 | 
			
		||||
 | 
			
		||||
		$io = new SymfonyStyle($input, $output);
 | 
			
		||||
 | 
			
		||||
		if (!$io->confirm('Are you sure you want to reset all settings in database?', false)) {
 | 
			
		||||
		$name = $input->getArgument('name');
 | 
			
		||||
 | 
			
		||||
		$all = !$name ? 'all' : $name;
 | 
			
		||||
		if (!$io->confirm("Are you sure you want to reset {$all} settings in database?", false)) {
 | 
			
		||||
			return Command::FAILURE;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		SettingsModel::truncate();
 | 
			
		||||
		if (!$name) {
 | 
			
		||||
			SettingsModel::truncate();
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			$settingsModel = SettingsModel::where('name', $name)->first();
 | 
			
		||||
			if (!$settingsModel) {
 | 
			
		||||
				$io->warning('No settings for this plugin saved in database');
 | 
			
		||||
				return Command::SUCCESS;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			SettingsModel::where('name', $name)->delete();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$settings = Settings::getInstance();
 | 
			
		||||
		$settings->clearCache();
 | 
			
		||||
 | 
			
		||||
		$io->success('Setting cleared successfully');
 | 
			
		||||
		$io->success('Settings cleared successfully');
 | 
			
		||||
		return Command::SUCCESS;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user