diff --git a/module/mr/control.php b/module/mr/control.php index b4a9fcbb3b..94bec9ea71 100644 --- a/module/mr/control.php +++ b/module/mr/control.php @@ -140,4 +140,10 @@ class mr extends control $this->send($options); } + + public function diff($MRID) + { + $MR = $this->mr->getByID($MRID); + $versions = $this->mr->apiGetDiffVersions($MR); + } } diff --git a/module/mr/model.php b/module/mr/model.php index d7b1c3ba73..cffb6f28ce 100644 --- a/module/mr/model.php +++ b/module/mr/model.php @@ -32,8 +32,7 @@ class mrModel extends model */ public function getByID($id) { - $MR = $this->dao->select('*')->from(TABLE_MR)->where('id')->eq($id)->fetch(); - return $MR; + return $this->dao->select('*')->from(TABLE_MR)->where('id')->eq($id)->fetch(); } /** @@ -81,22 +80,6 @@ class mrModel extends model return $MR; } - /** - * Delete one MR. - * - * condition: when user deleting a repo. - * - * @param int $id - * @access public - * @return void - */ - public function deleteMR($id) - { - $this->dao->delete()->from(TABLE_MR) - ->andWhere('id')->eq($id) - ->exec(); - } - /** * Get gitlab pairs. * @@ -179,7 +162,7 @@ class mrModel extends model * @access public * @return void */ - public function edit($MRID) + public function update($MRID) { $MR = fixer::input('post') ->setDefault('editedBy', $this->app->user->account) @@ -236,14 +219,14 @@ class mrModel extends model * @docs https://docs.gitlab.com/ee/api/merge_requests.html#create-mr * @param int $gitlabID * @param int $projectID - * @param object $params + * @param object $MR * @access public * @return object */ - public function apiCreateMR($gitlabID, $projectID, $params) + public function apiCreateMR($gitlabID, $projectID, $MR) { $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests"); - return json_decode(commonModel::http($url, $data=$params, $options = array())); + return json_decode(commonModel::http($url, $MR)); } /** @@ -330,15 +313,13 @@ class mrModel extends model * Get MR diff versions by API. * * @docs https://docs.gitlab.com/ee/api/merge_requests.html#get-mr-diff-versions - * @param int $gitlabID - * @param int $projectID - * @param int $MRID + * @param object $MR * @access public * @return object */ - public function apiGetDiffVersions($gitlabID, $projectID, $MRID) + public function apiGetDiffVersions($MR) { - $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests/$MRID"); + $url = sprintf($this->gitlab->getApiRoot($MR->gitlabID), "/projects/{$MR->sourceProject}/merge_requests/$MR->mriid/versions"); return json_decode(commonModel::http($url)); } @@ -346,17 +327,14 @@ class mrModel extends model * Get single diff version by API. * * @docs https://docs.gitlab.com/ee/api/merge_requests.html#get-a-single-mr-diff-version - * @param int $gitlabID - * @param int $projectID - * @param int $MRID - * @param int $versionID + * @param object $MR + * @param int $versionID * @access public * @return object */ - public function apiGetSingleDiffVersion($gitlabID, $projectID, $MRID, $versionID) + public function apiGetSingleDiffVersion($MR, $versionID) { - $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests/$MRID/versions/$versionID"); + $url = sprintf($this->gitlab->getApiRoot($MR->gitlabID), "/projects/{$MR->sourceProject}/merge_requests/{$MR->mriid}/versions/$versionID"); return json_decode(commonModel::http($url)); } } -