diff --git a/packages/gitbeaker-core/src/services/Todos.ts b/packages/gitbeaker-core/src/services/Todos.ts index fb8e46f7..fc92a1fa 100644 --- a/packages/gitbeaker-core/src/services/Todos.ts +++ b/packages/gitbeaker-core/src/services/Todos.ts @@ -1,14 +1,25 @@ import { BaseService, RequestHelper, PaginatedRequestOptions, Sudo } from '../infrastructure'; +interface CreateTodoOptions extends Sudo { + resourceName?: 'mergerequest' | 'issue'; +} + export class Todos extends BaseService { all(options?: PaginatedRequestOptions) { return RequestHelper.get(this, 'todos', options); } - create(projectId: string | number, mergerequestId: number, options?: Sudo) { + create( + projectId: string | number, + resourceId: number, + { resourceName, ...options }: CreateTodoOptions = {}, + ) { + if (resourceName === 'issue') { + return RequestHelper.post(this, `projects/${projectId}/issues/${resourceId}/todo`, options); + } return RequestHelper.post( this, - `projects/${projectId}/merge_requests/${mergerequestId}/todo`, + `projects/${projectId}/merge_requests/${resourceId}/todo`, options, ); }