From 94945cb2cfacbbfc3dcaf2eb6e47aacde280fd12 Mon Sep 17 00:00:00 2001 From: Dylan DesRosier Date: Thu, 20 Jul 2017 13:11:26 -0400 Subject: [PATCH 1/3] ProjectIssueNotes tweaks --- src/BaseModel.js | 3 +++ src/Models/ProjectIssueNotes.js | 6 ++++-- src/Models/ProjectIssues.js | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/BaseModel.js b/src/BaseModel.js index dfd59627..9a46bd51 100644 --- a/src/BaseModel.js +++ b/src/BaseModel.js @@ -8,6 +8,9 @@ class BaseModel { } post(endpoint, options){ + console.log(endpoint) + console.log(options) + return this.client.post(endpoint, options); } diff --git a/src/Models/ProjectIssueNotes.js b/src/Models/ProjectIssueNotes.js index b497701d..e77d0842 100644 --- a/src/Models/ProjectIssueNotes.js +++ b/src/Models/ProjectIssueNotes.js @@ -1,7 +1,7 @@ const BaseModel = require('../BaseModel'); const Utils = require('../Utils'); -class ProjectNotes extends BaseModel { +class ProjectIssueNotes extends BaseModel { constructor(...args) { super(...args); } @@ -16,6 +16,8 @@ class ProjectNotes extends BaseModel { create(projectId, issueId, options = {}) { if(!options.body) throw new Error('Missing required property: body'); + console.log(this.post) + return this.post(`projects/${Utils.parse(projectId)}/issues/${parseInt(issueId)}/notes`, options); } @@ -46,4 +48,4 @@ class ProjectNotes extends BaseModel { } } -module.exports = ProjectNotes; +module.exports = ProjectIssueNotes; diff --git a/src/Models/ProjectIssues.js b/src/Models/ProjectIssues.js index 825dc0a3..06ff5702 100644 --- a/src/Models/ProjectIssues.js +++ b/src/Models/ProjectIssues.js @@ -5,7 +5,8 @@ const ProjectIssueNotes = require('./ProjectIssueNotes'); class ProjectIssues extends BaseModel { constructor(...args) { super(...args); - this.notes = ProjectIssueNotes; + + this.notes = new ProjectIssueNotes(...args); } all(projectId, options = {}) { From 7e41a91a223d5ab806f38a6ec6be8dcee45a6baa Mon Sep 17 00:00:00 2001 From: Dylan DesRosier Date: Thu, 20 Jul 2017 16:00:53 -0400 Subject: [PATCH 2/3] Notes are working --- src/BaseModel.js | 3 --- src/Models/ProjectIssueNotes.js | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/BaseModel.js b/src/BaseModel.js index 9a46bd51..dfd59627 100644 --- a/src/BaseModel.js +++ b/src/BaseModel.js @@ -8,9 +8,6 @@ class BaseModel { } post(endpoint, options){ - console.log(endpoint) - console.log(options) - return this.client.post(endpoint, options); } diff --git a/src/Models/ProjectIssueNotes.js b/src/Models/ProjectIssueNotes.js index e77d0842..46be3d34 100644 --- a/src/Models/ProjectIssueNotes.js +++ b/src/Models/ProjectIssueNotes.js @@ -15,10 +15,7 @@ class ProjectIssueNotes extends BaseModel { create(projectId, issueId, options = {}) { if(!options.body) throw new Error('Missing required property: body'); - - console.log(this.post) - - return this.post(`projects/${Utils.parse(projectId)}/issues/${parseInt(issueId)}/notes`, options); + return this.post(`projects/${Utils.parse(projectId)}/issues/${Utils.parse(issueId)}/notes`, options); } edit(projectId, issueId, noteId, options = {}) { From fd091440689d346afa8b3e83b3d335ae093908e4 Mon Sep 17 00:00:00 2001 From: Dylan DesRosier Date: Thu, 27 Jul 2017 10:57:46 -0400 Subject: [PATCH 3/3] Added Create an Issue Link --- src/Models/ProjectHooks.js | 1 + src/Models/ProjectIssues.js | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/Models/ProjectHooks.js b/src/Models/ProjectHooks.js index 6c775543..54c4827b 100644 --- a/src/Models/ProjectHooks.js +++ b/src/Models/ProjectHooks.js @@ -22,6 +22,7 @@ class ProjectHooks extends BaseModel { } edit(projectId, hookId, url, options) { + options.url = url; const [pId, hId] = [projectId, hookId].map(Utils.parse); return this.put(`projects/${pId}/hooks/${hId}`, options); diff --git a/src/Models/ProjectIssues.js b/src/Models/ProjectIssues.js index 2a69847e..043ca486 100644 --- a/src/Models/ProjectIssues.js +++ b/src/Models/ProjectIssues.js @@ -52,6 +52,15 @@ class ProjectIssues extends BaseModel { return this.delete(`projects/${pId}/issues/${iId}/unsubscribe`); } + + link(projectId, issueIId, targetProjectId, targetIssueId, options = {}) { + const [pId, iId] = [projectId, issueIId].map(Utils.parse); + const [targetpId, targetIId] = [targetProjectId, targetIssueId].map(Utils.parse); + options.target_project_id = targetpId; + options.target_issue_id = targetIId; + + return this.post(`projects/${pId}/issues/${iId}/links`, options); + } } module.exports = ProjectIssues;