gitbeaker/src/services/MergeRequests.js
Justin f7cbe2293e Renamed Namespace to Bundle
Added Todos support
Cleaned up Tags
Moved createTodo to Todos API
2018-03-25 21:02:14 -04:00

174 lines
5.7 KiB
JavaScript

import { BaseService, RequestHelper } from '../infrastructure';
class MergeRequests extends BaseService {
accept(projectId, mergerequestId, options) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}/merge`, options);
}
approve(projectId, mergerequestId, { sha }) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/approve`, { sha });
}
approvals(projectId, { mergerequestId } = {}) {
const pId = encodeURIComponent(projectId);
const mergeRequest = mergerequestId
? `merge_requests/${encodeURIComponent(mergerequestId)}`
: '';
return RequestHelper.get(this, `projects/${pId}/${mergeRequest}/approvals`);
}
all({ projectId, ...options } = {}) {
const url = projectId
? `projects/${encodeURIComponent(projectId)}/merge_requests`
: 'merge_requests';
return RequestHelper.get(this, url, options);
}
cancelOnPipelineSucess(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.put(
this,
`projects/${pId}/merge_requests/${mId}/cancel_merge_when_pipeline_succeeds`,
);
}
changes(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/changes`);
}
closesIssues(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/closes_issues`);
}
commits(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/commits`);
}
create(projectId, sourceBranch, targetBranch, title, options) {
const pId = encodeURIComponent(projectId);
return RequestHelper.post(this, `projects/${pId}/merge_requests`, {
id: pId,
sourceBranch,
targetBranch,
title,
...options,
});
}
edit(projectId, mergerequestId, options) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}`, options);
}
editApprovals(projectId, { mergerequestId, ...options }) {
const pId = encodeURIComponent(projectId);
const mergeRequest = mergerequestId
? `merge_requests/${encodeURIComponent(mergerequestId)}/`
: '';
return RequestHelper.get(this, `projects/${pId}/${mergeRequest}approvals`, options);
}
editApprovers(projectId, { mergerequestId, ...options }) {
const pId = encodeURIComponent(projectId);
const mergeRequest = mergerequestId
? `merge_requests/${encodeURIComponent(mergerequestId)}/`
: '';
return RequestHelper.get(this, `projects/${pId}/${mergeRequest}approvers`, options);
}
remove(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.delete(this, `projects/${pId}/merge_requests/${mId}`);
}
show(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}`);
}
subscribe(projectId, mergerequestId, options) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/subscribe`, options);
}
resetSpentTime(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_spent_time`);
}
resetTimeEstimate(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_time_estimate`);
}
spentTime(projectId, mergerequestId, duration) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/add_spent_time`, {
duration,
});
}
timeEstimate(projectId, mergerequestId, duration) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/time_estimate`, {
duration,
});
}
timeStats(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/time_stats`);
}
version(projectId, mergerequestId, versionId) {
const [pId, mId, vId] = [projectId, mergerequestId, versionId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/versions/${vId}`);
}
versions(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/versions`);
}
unapprove(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/approve`);
}
unsubscribe(projectId, mergerequestId) {
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
return RequestHelper.delete(this, `projects/${pId}/merge_requests/${mId}/unsubscribe`);
}
}
export default MergeRequests;