$apiResponse = new APIViewData(1, $deployment, "Unable to use command name specified, detected forbidden characters " . implode('', array_unique($forbidden[0]))); $app->halt(404, $apiResponse->returnJson()); } elseif (!isset($commandInfo['command_desc']) || empty($commandInfo['command_desc'])) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect command_desc parameter (command description)"); $app->halt(404, $apiResponse->returnJson()); } elseif (!isset($commandInfo['command_line']) || empty($commandInfo['command_line'])) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect command_line parameter (command line for executing plugin)"); $app->halt(404, $apiResponse->returnJson()); } check_revision_status($deployment); $deployRev = RevDeploy::getDeploymentNextRev($deployment); if (RevDeploy::existsDeploymentCommand($deployment, $commandInfo['command_name'], $deployRev) === true) { RevDeploy::modifyDeploymentCommand($deployment, $commandInfo['command_name'], $commandInfo, $deployRev); $apiResponse = new APIViewData(0, $deployment, "Successfully Modified Command: " . $commandInfo['command_name']); } else { RevDeploy::createDeploymentCommand($deployment, $commandInfo['command_name'], $commandInfo, $deployRev); $apiResponse = new APIViewData(0, $deployment, "Successfully Created Command: " . $commandInfo['command_name']); } $apiResponse->printJson(); })->name('saigon-api-create-command'); $app->get('/sapi/command/:deployment/:command(/:staged)', function ($deployment, $command, $staged = false) use($app) { check_deployment_exists($app, $deployment); $request = $app->request(); $commonMerge = $request->get('common'); // Load up Current Commands or Staged Commands if ($staged == 1) { $deployRev = RevDeploy::getDeploymentNextRev($deployment); if ($deployRev === false) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect staged revision to reference"); $app->halt(404, $apiResponse->returnJson()); }
private static function copyCommands($deployment, $revision, array $cmdInfo) { if (self::$init === false) { self::init(); } foreach ($cmdInfo as $cmd => $cmdArray) { if ($cmdArray['deployment'] == self::$m_commonrepo && $cmdArray['deployment'] == 'common') { continue; } if ($cmdArray['deployment'] == self::$m_commonrepo) { continue; } unset($cmdArray['deployment']); RevDeploy::createDeploymentCommand($deployment, $cmd, $cmdArray, $revision); } }
/** * copyToWrite * * @access public * @return void */ public function copyToWrite() { $viewData = new ViewData(); $deployment = $this->getDeployment('command_error'); $cmdName = $this->getParam('cmdName'); $cmdInfo = $this->_fetchCommandInfo($deployment, 'copyToWrite'); $todeployment = $this->getParam('todeployment'); if ($todeployment === false) { $viewData->error = 'Unable to detect deployment to copy command to'; $viewData->availdeployments = $this->getDeploymentsAvailToUser(); $viewData->deployment = $deployment; $viewData->command = $cmdName; $viewData->commandInfo = $cmdInfo; $viewData->action = 'copyToWrite'; $this->sendResponse('command_action_stage', $viewData); } $this->checkGroupAuth($todeployment); $this->checkDeploymentRevStatus($todeployment); $tdRev = RevDeploy::getDeploymentNextRev($todeployment); if (RevDeploy::existsDeploymentCommand($todeployment, $cmdName, $tdRev) === true) { RevDeploy::modifyDeploymentCommand($todeployment, $cmdName, $cmdInfo, $tdRev); } else { RevDeploy::createDeploymentCommand($todeployment, $cmdName, $cmdInfo, $tdRev); } $viewData->deployment = $deployment; $viewData->todeployment = $todeployment; $viewData->command = $cmdName; $this->sendResponse('command_write', $viewData); }