From fa2e0e55f4d707317c0ff2d8dd076505a48cbeba Mon Sep 17 00:00:00 2001 From: s-kazuki Date: Tue, 7 Jul 2020 16:54:24 +0900 Subject: [PATCH] Add ability to create todos for issues (#925) --- packages/gitbeaker-core/src/services/Todos.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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, ); }