mirror of
https://github.com/jdalrymple/gitbeaker.git
synced 2026-01-25 16:04:01 +00:00
fix: Merge Request Approvals API did not match official API
Updated the function headers to match the official API. BREAKING CHANGE: Updated Approvals API support to match https://docs.gitlab.com/ee/api/merge_request_approvals.html
This commit is contained in:
parent
97dd060ae1
commit
e4ba731bea
@ -1,72 +1,134 @@
|
||||
import { BaseService, RequestHelper } from '../infrastructure';
|
||||
import { RequestOptions } from '../infrastructure/RequestHelper';
|
||||
|
||||
export type MergeRequestId = string | number;
|
||||
|
||||
class MergeRequests extends BaseService {
|
||||
accept(projectId: ProjectId, mergerequestId: MergeRequestId, options: RequestOptions) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
accept(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
options?: AcceptMergeRequestOptions & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}/merge`, options);
|
||||
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mIId}/merge`, options);
|
||||
}
|
||||
|
||||
addSpentTime(projectId: ProjectId, mergerequestId: MergeRequestId, duration: Duration) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
addSpentTime(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
duration: string,
|
||||
options?: Sudo,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/issues/${mId}/add_spent_time`, {
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mIId}/add_spent_time`, {
|
||||
duration,
|
||||
...options,
|
||||
});
|
||||
}
|
||||
|
||||
addTimeEstimate(projectId: ProjectId, mergerequestId: MergeRequestId, duration: Duration) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
addTimeEstimate(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
duration: string,
|
||||
options?: Sudo,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/issues/${mId}/time_estimate`, {
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mIId}/time_estimate`, {
|
||||
duration,
|
||||
...options,
|
||||
});
|
||||
}
|
||||
|
||||
approve(projectId: ProjectId, mergerequestId: MergeRequestId, { sha }: { sha: string }) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
all({
|
||||
projectId,
|
||||
groupId,
|
||||
...options
|
||||
}: ({ projectId: ProjectId } | { groupId: GroupId } | {}) & PaginatedRequestOptions) {
|
||||
let url;
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/approve`, { sha });
|
||||
}
|
||||
|
||||
approvals(projectId: ProjectId, { mergerequestId }: { mergerequestId?: MergeRequestId } = {}) {
|
||||
const pId = encodeURIComponent(projectId);
|
||||
const mergeRequest = mergerequestId ? `merge_requests/${encodeURIComponent(mergerequestId)}` : '';
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/${mergeRequest}/approvals`);
|
||||
}
|
||||
|
||||
all({ projectId, ...options }: { projectId?: ProjectId } = {}) {
|
||||
const url = projectId ? `projects/${encodeURIComponent(projectId)}/merge_requests` : 'merge_requests';
|
||||
if (projectId) {
|
||||
url = `projects/${encodeURIComponent(projectId)}/merge_requests`;
|
||||
} else if (groupId) {
|
||||
url = `groups/${encodeURIComponent(groupId)}/merge_requests`;
|
||||
} else {
|
||||
url = 'merge_requests';
|
||||
}
|
||||
|
||||
return RequestHelper.get(this, url, options);
|
||||
}
|
||||
|
||||
cancelOnPipelineSucess(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
approve(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
options: { sha?: string } & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}/cancel_merge_when_pipeline_succeeds`);
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mIId}/approve`, options);
|
||||
}
|
||||
|
||||
changes(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
approvals(
|
||||
projectId: ProjectId,
|
||||
{ mergerequestIId, ...options }: { mergerequestIId?: MergeRequestId } & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/changes`);
|
||||
let url;
|
||||
|
||||
if (mergerequestIId) {
|
||||
url = `projects/${pId}/merge_requests/${mIId}/approvals`;
|
||||
} else {
|
||||
url = `projects/${pId}/approvals`;
|
||||
}
|
||||
|
||||
return RequestHelper.get(this, url, options);
|
||||
}
|
||||
|
||||
closesIssues(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
approvers(
|
||||
projectId: ProjectId,
|
||||
approverIds: UserId[],
|
||||
approverGroupIds: GroupId[],
|
||||
{ mergerequestIId, ...options }: { mergerequestIId?: MergeRequestId } & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/closes_issues`);
|
||||
let url;
|
||||
|
||||
if (mergerequestIId) {
|
||||
url = `projects/${pId}/merge_requests/${mIId}/approvers`;
|
||||
} else {
|
||||
url = `projects/${pId}/approvers`;
|
||||
}
|
||||
|
||||
return RequestHelper.put(this, url, { approverIds, approverGroupIds, ...options });
|
||||
}
|
||||
|
||||
commits(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
cancelOnPipelineSucess(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/commits`);
|
||||
return RequestHelper.put(
|
||||
this,
|
||||
`projects/${pId}/merge_requests/${mIId}/cancel_merge_when_pipeline_succeeds`,
|
||||
options,
|
||||
);
|
||||
}
|
||||
|
||||
changes(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}/changes`, options);
|
||||
}
|
||||
|
||||
closesIssues(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}/closes_issues`, options);
|
||||
}
|
||||
|
||||
commits(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}/commits`, options);
|
||||
}
|
||||
|
||||
create(
|
||||
@ -74,7 +136,7 @@ class MergeRequests extends BaseService {
|
||||
sourceBranch: string,
|
||||
targetBranch: string,
|
||||
title: string,
|
||||
options: RequestOptions,
|
||||
options?: CreateMergeRequestOptions & BaseRequestOptions,
|
||||
) {
|
||||
const pId = encodeURIComponent(projectId);
|
||||
|
||||
@ -87,24 +149,37 @@ class MergeRequests extends BaseService {
|
||||
});
|
||||
}
|
||||
|
||||
edit(projectId: ProjectId, mergerequestId: MergeRequestId, options: RequestOptions) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
edit(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
options?: UpdateMergeRequestOptions & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}`, options);
|
||||
return RequestHelper.put(this, `projects/${pId}/merge_requests/${mIId}`, options);
|
||||
}
|
||||
|
||||
editApprovals(projectId: ProjectId, { mergerequestId, ...options }: temporaryAny) {
|
||||
const pId = encodeURIComponent(projectId);
|
||||
const mergeRequest = mergerequestId ? `merge_requests/${encodeURIComponent(mergerequestId)}/` : '';
|
||||
editApprovals(
|
||||
projectId: ProjectId,
|
||||
{ mergerequestIId, ...options }: { mergerequestIId?: MergeRequestId } & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/${mergeRequest}approvals`, options);
|
||||
let url;
|
||||
|
||||
if (mergerequestIId) {
|
||||
url = `projects/${pId}/merge_requests/${mIId}/approvals`;
|
||||
} else {
|
||||
url = `projects/${pId}/approvals`;
|
||||
}
|
||||
|
||||
return RequestHelper.post(this, url, options);
|
||||
}
|
||||
|
||||
editApprovers(projectId: ProjectId, { mergerequestId, ...options }: temporaryAny) {
|
||||
const pId = encodeURIComponent(projectId);
|
||||
const mergeRequest = mergerequestId ? `merge_requests/${encodeURIComponent(mergerequestId)}/` : '';
|
||||
participants(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.put(this, `projects/${pId}/${mergeRequest}approvers`, options);
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}/participants`, options);
|
||||
}
|
||||
|
||||
pipelines(projectId: ProjectId, { mergerequestId }: { mergerequestId?: string } = {}) {
|
||||
@ -114,58 +189,79 @@ class MergeRequests extends BaseService {
|
||||
return RequestHelper.get(this, `projects/${pId}/${mergeRequest}/pipelines`);
|
||||
}
|
||||
|
||||
remove(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
remove(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.delete(this, `projects/${pId}/merge_requests/${mId}`);
|
||||
return RequestHelper.del(this, `projects/${pId}/merge_requests/${mIId}`, options);
|
||||
}
|
||||
|
||||
resetSpentTime(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
resetSpentTime(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_spent_time`);
|
||||
return RequestHelper.post(
|
||||
this,
|
||||
`projects/${pId}/merge_requests/${mIId}/reset_spent_time`,
|
||||
options,
|
||||
);
|
||||
}
|
||||
|
||||
resetTimeEstimate(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
resetTimeEstimate(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_time_estimate`);
|
||||
return RequestHelper.post(
|
||||
this,
|
||||
`projects/${pId}/merge_requests/${mIId}/reset_time_estimate`,
|
||||
options,
|
||||
);
|
||||
}
|
||||
|
||||
show(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
show(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
options?: ShowMergeRequestOptions & BaseRequestOptions,
|
||||
) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}`);
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}`, options);
|
||||
}
|
||||
|
||||
timeStats(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
timeStats(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/time_stats`);
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}/time_stats`, options);
|
||||
}
|
||||
|
||||
version(projectId: ProjectId, mergerequestId: MergeRequestId, versionId: string | number) {
|
||||
const [pId, mId, vId] = [projectId, mergerequestId, versionId].map(encodeURIComponent);
|
||||
version(
|
||||
projectId: ProjectId,
|
||||
mergerequestIId: MergeRequestId,
|
||||
versionId: number,
|
||||
options?: Sudo,
|
||||
) {
|
||||
const [pId, mIId, vId] = [projectId, mergerequestIId, versionId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/versions/${vId}`);
|
||||
return RequestHelper.get(
|
||||
this,
|
||||
`projects/${pId}/merge_requests/${mIId}/versions/${vId}`,
|
||||
options,
|
||||
);
|
||||
}
|
||||
|
||||
versions(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
versions(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}/versions`);
|
||||
return RequestHelper.get(this, `projects/${pId}/merge_requests/${mIId}/versions`, options);
|
||||
}
|
||||
|
||||
unapprove(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
unapprove(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/approve`);
|
||||
return RequestHelper.post(this, `projects/${pId}/merge_requests/${mIId}/approve`, options);
|
||||
}
|
||||
|
||||
unsubscribe(projectId: ProjectId, mergerequestId: MergeRequestId) {
|
||||
const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent);
|
||||
unsubscribe(projectId: ProjectId, mergerequestIId: MergeRequestId, options?: Sudo) {
|
||||
const [pId, mIId] = [projectId, mergerequestIId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.delete(this, `projects/${pId}/merge_requests/${mId}/unsubscribe`);
|
||||
return RequestHelper.del(this, `projects/${pId}/merge_requests/${mIId}/unsubscribe`, options);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user