Skip to content

Commit 5e30e7b

Browse files
committed
Fix error with issue fetching
1 parent 153fb37 commit 5e30e7b

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

gtt-report.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ new Promise(resolve => {
110110
// get project
111111
.then(() => {
112112
Cli.list(`${Cli.look} Resolving project "${config.get('project')}"`);
113-
return report.project();
113+
return report.getProject();
114114
})
115115

116116
// get members
@@ -135,7 +135,7 @@ new Promise(resolve => {
135135
if (!config.get('query').includes('issues')) return resolve();
136136

137137
Cli.list(`${Cli.fetch} Fetching issues`);
138-
report.issues()
138+
report.getIssues()
139139
.then(() => Cli.mark())
140140
.catch(error => Cli.x(`could not fetch issues.`, error))
141141
.then(() => resolve());
@@ -146,7 +146,7 @@ new Promise(resolve => {
146146
if (!config.get('query').includes('merge_requests')) return resolve();
147147

148148
Cli.list(`${Cli.fetch} Fetching merge requests`);
149-
report.mergeRequests()
149+
report.getMergeRequests()
150150
.then(() => Cli.mark())
151151
.catch(error => Cli.x(`could not fetch merge requests.`, error))
152152
.then(() => resolve());
@@ -176,6 +176,8 @@ new Promise(resolve => {
176176

177177
// make report
178178
.then(() => new Promise(resolve => {
179+
if (report.issues.length === 0 && report.mergeRequests.length === 0) Cli.error('No issues or merge requests matched your criteria.');
180+
179181
Cli.list(`${Cli.output} Making report`);
180182

181183
output = new Output[config.get('output')](config, report);

models/report.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,17 @@ const Project = require('./project');
1010
* report model
1111
*/
1212
class report extends Base {
13+
/**
14+
* constructor.
15+
* @param config
16+
*/
17+
constructor(config) {
18+
super(config);
19+
20+
this.issues = [];
21+
this.mergeRequests = [];
22+
}
23+
1324
/**
1425
* get params for querying issues and merge requests
1526
* @returns {string}
@@ -40,7 +51,7 @@ class report extends Base {
4051
* query and set the project
4152
* @returns {Promise}
4253
*/
43-
project() {
54+
getProject() {
4455
let promise = this.get(`projects/${encodeURIComponent(this.config.get('project'))}`);
4556
promise.then(project => this.project = new Project(this.config, project.body));
4657

@@ -51,9 +62,9 @@ class report extends Base {
5162
* query and set merge requests
5263
* @returns {Promise}
5364
*/
54-
mergeRequests() {
65+
getMergeRequests() {
5566
let promise = this.all(`projects/${this.project.id}/merge_requests${this.params()}`);
56-
promise.then(mergeRequests => this.mergeRequests = report.filter(mergeRequests));
67+
promise.then(mergeRequests => this.mergeRequests = mergeRequests);
5768

5869
return promise;
5970
}
@@ -62,9 +73,9 @@ class report extends Base {
6273
* query and set issues
6374
* @returns {Promise}
6475
*/
65-
issues() {
76+
getIssues() {
6677
let promise = this.all(`projects/${this.project.id}/issues${this.params()}`);
67-
promise.then(issues => this.issues = report.filter(issues));
78+
promise.then(issues => this.issues = issues);
6879

6980
return promise;
7081
}
@@ -75,7 +86,7 @@ class report extends Base {
7586
* @returns {Array}
7687
*/
7788
static filter(issues) {
78-
return issues.filter(issue => issue.times.length > 0);
89+
return issues.filter(issue => issue.times && issue.times.length > 0);
7990
}
8091

8192
/**
@@ -108,7 +119,7 @@ class report extends Base {
108119
});
109120
});
110121

111-
promise.then(() => this[input] = collect);
122+
promise.then(() => this[input] = report.filter(collect));
112123
return promise;
113124
}
114125

0 commit comments

Comments
 (0)