/**
  * Runs the initial set up of the processing system
  */
 public function runAction()
 {
     try {
         $this->commandBus->dispatch(CreateDefaultProcessingConfigFile::in(ConfigLocation::fromPath(Definition::getSystemConfigDir())));
         $sqliteDbFile = SqliteDbFile::initializeFromDist(Definition::getEventStoreSqliteDbFile());
         $esConfigLocation = ConfigLocation::fromPath(Definition::getSystemConfigDir());
         $this->commandBus->dispatch(InitializeEventStore::setUpWithSqliteDbAdapter($sqliteDbFile, $esConfigLocation));
     } catch (\Exception $ex) {
         $this->commandBus->dispatch(UndoSystemSetUp::removeConfigs(Definition::getSystemConfigDir(), Definition::getSystemConfigDir(), Definition::getEventStoreSqliteDbFile()));
         throw $ex;
     }
     return $this->redirect()->toRoute('prooph.link/system_config');
 }
 /**
  * Handles a POST request to enable or disable the workflow processor message queue
  */
 public function configureWorkflowProcessorMessageQueueAction()
 {
     $queueEnabled = $this->bodyParam('enabled');
     if (!is_bool($queueEnabled)) {
         return new ApiProblemResponse(new ApiProblem(422, $this->translator->translate('The enabled flag should be a boolean value')));
     }
     if ($queueEnabled) {
         $this->commandBus->dispatch(EnableWorkflowProcessorMessageQueue::in(ConfigLocation::fromPath(Definition::getSystemConfigDir())));
     } else {
         $this->commandBus->dispatch(DisableWorkflowProcessorMessageQueue::in(ConfigLocation::fromPath(Definition::getSystemConfigDir())));
     }
     return ['success' => true];
 }