Skip to content

Commit 1f4291e

Browse files
committed
refactor
1 parent e35ecdc commit 1f4291e

File tree

2 files changed

+31
-6
lines changed

2 files changed

+31
-6
lines changed

services/static-webserver/client/source/class/osparc/data/model/Group.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,39 @@ qx.Class.define("osparc.data.model.Group", {
8787
},
8888
},
8989

90+
events: {
91+
"memberAdded": "qx.event.type.Event",
92+
"memberRemoved": "qx.event.type.Event",
93+
},
94+
9095
statics: {
9196
getProperties: function() {
9297
return Object.keys(qx.util.PropertyUtil.getProperties(osparc.data.model.Group));
9398
}
9499
},
95100

96101
members: {
102+
getGroupMemberByUserId: function(userId) {
103+
return Object.values(this.getGroupMembers()).find(user => user.getUserId() === userId);
104+
},
105+
106+
getGroupMemberByLogin: function(userEmail) {
107+
return Object.values(this.getGroupMembers()).find(user => user.getLogin() === userEmail);
108+
},
109+
110+
addGroupMember: function(user) {
111+
this.getGroupMembers()[user.getGroupId()] = user;
112+
this.fireEvent("memberAdded");
113+
},
114+
115+
removeGroupMember: function(userId) {
116+
const groupMember = this.getGroupMemberByUserId(userId);
117+
if (groupMember) {
118+
delete this.getGroupMembers()[groupMember.getGroupId()];
119+
this.fireEvent("memberRemoved");
120+
}
121+
},
122+
97123
serialize: function() {
98124
const jsonObject = {};
99125
const propertyKeys = this.self().getProperties();

services/static-webserver/client/source/class/osparc/store/Groups.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,15 +234,15 @@ qx.Class.define("osparc.store.Groups", {
234234
getGroupMemberByUserId: function(orgId, userId) {
235235
const org = this.getGroup(orgId);
236236
if (org) {
237-
return Object.values(org.getGroupMembers()).find(user => user.getUserId() === userId);
237+
return org.getGroupMemberByUserId(userId);
238238
}
239239
return null;
240240
},
241241

242242
getGroupMemberByLogin: function(orgId, userEmail) {
243243
const org = this.getGroup(orgId);
244244
if (org) {
245-
return Object.values(org.getGroupMembers()).find(user => user.getLogin() === userEmail);
245+
return org.getGroupMemberByLogin(userEmail);
246246
}
247247
return null;
248248
},
@@ -397,7 +397,7 @@ qx.Class.define("osparc.store.Groups", {
397397
if (orgId) {
398398
const organization = this.getOrganization(orgId);
399399
if (organization) {
400-
organization.getGroupMembers()[user.getGroupId()] = user;
400+
organization.addGroupMember(user);
401401
}
402402
}
403403
this.getReachableUsers()[user.getGroupId()] = user;
@@ -406,9 +406,8 @@ qx.Class.define("osparc.store.Groups", {
406406
__removeUserFromCache: function(userId, orgId) {
407407
if (orgId) {
408408
const organization = this.getOrganization(orgId);
409-
const groupMember = this.getGroupMemberByUserId(orgId, userId)
410-
if (organization && groupMember) {
411-
delete organization.getGroupMembers()[groupMember.getGroupId()]
409+
if (organization) {
410+
organization.removeGroupMember(userId)
412411
}
413412
}
414413
},

0 commit comments

Comments
 (0)