public static function resetDeploymentRevision($deployment, $currrev, $torev) { if (self::$init === false) { self::init(); } RevDeploy::deleteDeploymentRev($deployment, $torev); self::copyDeploymentRevision($deployment, $currrev, $torev); }
$protected_revisions = array_values(RevDeploy::getDeploymentRevs($deployment)); // Now lets see if our revision(s) are protected (prev,current,staged) if (is_array($revisions)) { foreach ($revisions as $revision) { if (in_array($revision, $protected_revisions)) { $apiResponse = new APIViewData(1, $deployment, "Unable to delete the following revision as it is protected: [ {$revision} ]"); $app->halt(404, $apiResponse->returnJson()); } } } else { if (in_array($revisions, $protected_revisions)) { $apiResponse = new APIViewData(1, $deployment, "Unable to delete the following revision as it is protected: [ {$revisions} ]"); $app->halt(404, $apiResponse->returnJson()); } } RevDeploy::deleteDeploymentRev($deployment, $revisions); if (is_array($revisions)) { $msg = "Successfully Removed Revisions [ " . implode(",", $revisions) . " ]"; } else { $msg = "Successfully Removed Revision [ {$revisions} ]"; } $apiResponse = new APIViewData(0, $deployment, $msg); $apiResponse->printJson(); })->name('saigon-api-delete-revisions'); $app->map('/sapi/deployment/:deployment/resetstagedrevision', function ($deployment) use($app) { check_deployment_exists($app, $deployment); check_auth($app, $deployment); $currRev = RevDeploy::getDeploymentRev($deployment); $nextRev = RevDeploy::getDeploymentNextRev($deployment); if ($currRev == $nextRev) { $apiResponse = new APIViewData(1, $deployment, "Unable to process request, no staged revision exists to reset");
/** * del_rev_write - delete revision write view / routine * * @access public * @return void */ public function del_rev_write() { $viewData = new ViewData(); $deployment = $this->getDeployment('deployment_error'); if (!RevDeploy::existsDeployment($deployment)) { $viewData->header = $this->getErrorHeader('deployment_error'); $viewData->error = 'Unable to find deployment specified in data store'; $this->sendError('generic_error', $viewData); } $this->checkGroupAuth($deployment); $revision = $this->getParam('revision'); if ($revision === false) { $viewData->header = $this->getErrorHeader('deployment_error'); $viewData->error = 'Unable to detect revision number to delete'; $this->sendError('generic_error', $viewData); } RevDeploy::deleteDeploymentRev($deployment, $revision); $viewData->deployment = $deployment; $viewData->revision = $revision; $this->sendResponse('deployment_del_rev_write', $viewData); }