public function DeployHistory($orderBy = '') { $sort = []; if ($orderBy != '') { $sort[$orderBy] = 'DESC'; } // default / fallback sort order $sort['LastEdited'] = 'DESC'; $deployments = $this->Deployments()->where('"SHA" IS NOT NULL')->sort($sort); if (!$this->IsNewDeployEnabled()) { $deployments = $deployments->filter('State', [DNDeployment::STATE_COMPLETED, DNDeployment::STATE_FAILED, DNDeployment::STATE_INVALID]); } return $deployments; }
/** * @param \SS_HTTPRequest $request * @return \SS_HTTPResponse */ public function history(\SS_HTTPRequest $request) { $data = []; $list = $this->environment->DeployHistory('DeployStarted'); $fromTimestamp = $request->requestVar('from'); if ($fromTimestamp) { $from = SS_Datetime::create(); $from->setValue($fromTimestamp); $list = $list->filter('LastEdited:GreaterThan', $from->Format('Y-m-d H:i:s')); } foreach ($list as $deployment) { $data[] = $this->formatter->getDeploymentData($deployment); } return $this->getAPIResponse(['list' => $data], 200); }