import { BaseResource } from '@gitbeaker/requester-utils'; import { RequestHelper, endpoint } from '../infrastructure'; import type { GitlabAPIResponse, PaginationRequestOptions, PaginationTypes, ShowExpanded, Sudo, } from '../infrastructure'; export interface MergeRequestContextCommitSchema extends Record { id: string; short_id: string; created_at: string; parent_ids?: null; title: string; message: string; author_name: string; author_email: string; authored_date: string; committer_name: string; committer_email: string; committed_date: string; } export class MergeRequestContextCommits extends BaseResource { all( projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded & PaginationRequestOptions

, ): Promise> { return RequestHelper.get()( this, endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/context_commits`, options, ); } create( projectId: string | number, commits: string[], { mergerequestIId, ...options }: { mergerequestIId?: number } & Sudo & ShowExpanded = {}, ): Promise> { const prefix = endpoint`projects/${projectId}/merge_requests`; const url = mergerequestIId ? `${prefix}/${mergerequestIId}/context_commits` : prefix; return RequestHelper.post()(this, url, { commits, ...options, }); } remove( projectId: string | number, mergerequestIId: number, options?: Sudo & ShowExpanded, ): Promise> { return RequestHelper.del()( this, endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/context_commits`, options, ); } }