From aeb4cb484aebfa64bd9174cc7d199e734198bca0 Mon Sep 17 00:00:00 2001 From: Justin Date: Mon, 16 Apr 2018 19:06:49 -0400 Subject: [PATCH] - Added addTimeEstimate, addTimeSpent, timeStats, resetTimeSpent and resetTimeEstimate to the Issues API. Requested in PR [#68](https://github.com/jdalrymple/node-gitlab-api/pull/68) **Breaking Change** - Renamed timeEstimate to addTimeEstimate, and timeSpend to addTimeSpent, in the MergeRequests API --- README.md | 8 +++++++ package-lock.json | 2 +- package.json | 2 +- src/services/Issues.js | 34 ++++++++++++++++++++++++++++ src/services/MergeRequests.js | 42 +++++++++++++++-------------------- 5 files changed, 62 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 0a388137..3b1defe1 100644 --- a/README.md +++ b/README.md @@ -366,6 +366,14 @@ This started off as a fork from [node-gitlab](https://github.com/node-gitlab/nod ## Changelog +[3.1.0](https://github.com/jdalrymple/node-gitlab-api/tags/3.1.0) (2018-4-16) +------------------ +- Added addTimeEstimate, addTimeSpent, timeStats, resetTimeSpent and resetTimeEstimate to the Issues API. Requested in PR [#68](https://github.com/jdalrymple/node-gitlab-api/pull/68) + +**Breaking Change** + +- Renamed timeEstimate to addTimeEstimate, and timeSpend to addTimeSpent, in the MergeRequests API + [3.0.4](https://github.com/jdalrymple/node-gitlab-api/tags/3.0.4) (2018-4-13) ------------------ - Fixed endpoint for MergeRequestNotes thanks to [Ev Haus](https://github.com/EvHaus) in PR [#63](https://github.com/jdalrymple/node-gitlab-api/pull/63) diff --git a/package-lock.json b/package-lock.json index a8fe2f0f..30f4d558 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "gitlab", - "version": "3.0.4", + "version": "3.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a6a83d59..4aca7dc7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gitlab", - "version": "3.0.4", + "version": "3.1.0", "description": "Full NodeJS implementation of the GitLab API. Supports Promises, Async/Await.", "main": "dist/latest/index.js", "engines": { diff --git a/src/services/Issues.js b/src/services/Issues.js index 09fe1249..67ae688b 100644 --- a/src/services/Issues.js +++ b/src/services/Issues.js @@ -1,6 +1,22 @@ import { BaseService, RequestHelper } from '../infrastructure'; class Issues extends BaseService { + addSpentTime(projectId, issueId, duration) { + const [pId, iId] = [projectId, issueId].map(encodeURIComponent); + + return RequestHelper.post(this, `projects/${pId}/issues/${iId}/add_spent_time`, { + duration, + }); + } + + addTimeEstimate(projectId, issueId, duration) { + const [pId, iId] = [projectId, issueId].map(encodeURIComponent); + + return RequestHelper.post(this, `projects/${pId}/issues/${iId}/time_estimate`, { + duration, + }); + } + all({ projectId, ...options }) { const url = projectId ? `projects/${encodeURIComponent(projectId)}/issues` : 'issues'; @@ -36,6 +52,18 @@ class Issues extends BaseService { return RequestHelper.delete(this, `projects/${pId}/issues/${iId}`); } + resetSpentTime(projectId, mergerequestId) { + const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); + + return RequestHelper.post(this, `projects/${pId}/issues/${mId}/reset_spent_time`); + } + + resetTimeEstimate(projectId, mergerequestId) { + const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); + + return RequestHelper.post(this, `projects/${pId}/issues/${mId}/reset_time_estimate`); + } + show(projectId, issueId) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); @@ -48,6 +76,12 @@ class Issues extends BaseService { return RequestHelper.post(this, `projects/${pId}/issues/${iId}/subscribe`, options); } + timeStats(projectId, mergerequestId) { + const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); + + return RequestHelper.get(this, `projects/${pId}/issues/${mId}/time_stats`); + } + unsubscribe(projectId, issueId) { const [pId, iId] = [projectId, issueId].map(encodeURIComponent); diff --git a/src/services/MergeRequests.js b/src/services/MergeRequests.js index ed62dd97..f48a8e0c 100644 --- a/src/services/MergeRequests.js +++ b/src/services/MergeRequests.js @@ -7,6 +7,22 @@ class MergeRequests extends BaseService { return RequestHelper.put(this, `projects/${pId}/merge_requests/${mId}/merge`, options); } + addSpentTime(projectId, mergerequestId, duration) { + const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); + + return RequestHelper.post(this, `projects/${pId}/issues/${mId}/add_spent_time`, { + duration, + }); + } + + addTimeEstimate(projectId, mergerequestId, duration) { + const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); + + return RequestHelper.post(this, `projects/${pId}/issues/${mId}/time_estimate`, { + duration, + }); + } + approve(projectId, mergerequestId, { sha }) { const [pId, mId] = [projectId, mergerequestId].map(encodeURIComponent); @@ -88,18 +104,6 @@ class MergeRequests extends BaseService { 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); @@ -112,20 +116,10 @@ class MergeRequests extends BaseService { return RequestHelper.post(this, `projects/${pId}/merge_requests/${mId}/reset_time_estimate`); } - spentTime(projectId, mergerequestId, duration) { + show(projectId, mergerequestId) { 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, - }); + return RequestHelper.get(this, `projects/${pId}/merge_requests/${mId}`); } timeStats(projectId, mergerequestId) {