Fix getAllParent including itself

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2022-03-14 17:31:57 +05:30
parent 5e9b45ad5f
commit fe18611b4b
2 changed files with 7 additions and 8 deletions

View file

@ -91,21 +91,20 @@ class RoomList extends EventEmitter {
if (parents.size === 0) this.roomIdToParents.delete(roomId);
}
getParentSpaces(roomId) {
getAllParentSpaces(roomId) {
const allParents = new Set();
const processed = new Set();
const addAllParentIds = (rId) => {
if (processed.has(rId)) return;
processed.add(rId);
if (allParents.has(rId)) return;
allParents.add(rId);
const parents = this.roomIdToParents.get(rId);
if (parents === undefined) return;
parents.forEach((id) => allParents.add(id));
parents.forEach((id) => addAllParentIds(id));
};
addAllParentIds(roomId);
processed.clear();
allParents.delete(roomId);
return allParents;
}