Exemplo n.º 1
0
        $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());
        }
Exemplo n.º 2
0
 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);
 }