Skip to content

Commit 67f044b

Browse files
committed
Add inherited members from group to project kriskbx#25
1 parent 2e1002a commit 67f044b

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/models/project.js

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class project extends Base {
1212
constructor(config, data) {
1313
super(config);
1414
this.data = data;
15+
this.projectMembers = data.members ? data.members : [];
1516
}
1617

1718
/**
@@ -30,10 +31,24 @@ class project extends Base {
3031
* @returns {Promise}
3132
*/
3233
members() {
33-
let promise = this.get(`projects/${this.id}/members`);
34-
promise.then(response => this.members = response.body);
34+
return new Promise((resolve, reject) => {
35+
this.get(`projects/${this.id}/members`)
36+
.then(response => {
37+
this.projectMembers = this.projectMembers.concat(response.body);
38+
return new Promise(r => r());
39+
})
40+
.then(() => {
41+
if (!this.data.namespace || !this.data.namespace.kind || this.data.namespace.kind !== "group") return resolve();
3542

36-
return promise;
43+
this.get(`groups/${this.data.namespace.id}/members`)
44+
.then(response => {
45+
this.projectMembers = this.projectMembers.concat(response.body);
46+
resolve();
47+
})
48+
.catch(e => reject(e));
49+
})
50+
.catch(e => reject(e));
51+
});
3752
}
3853

3954
/*
@@ -48,7 +63,7 @@ class project extends Base {
4863
}
4964

5065
get users() {
51-
return this.members.map(member => member.username);
66+
return this.projectMembers.map(member => member.username);
5267
}
5368
}
5469

0 commit comments

Comments
 (0)