Fix incompatibility with ZeroTier 1.12 (#124)

Co-authored-by: Niels Martignène <niels.martignene@protonmail.com>
This commit is contained in:
key-networks 2023-08-28 18:28:45 +08:00 committed by GitHub
parent 8cfb2ca35c
commit 3f041d10b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,15 +17,26 @@ async function get_network_with_members(nwid) {
zt.network_detail(nwid), zt.network_detail(nwid),
zt.peers(), zt.peers(),
zt.members(nwid) zt.members(nwid)
.then(member_ids => .then(member_ids => {
Promise.all( // Fix weird data returned by ZeroTier 1.12
if (Array.isArray(member_ids)) {
let obj = {};
for (let id of member_ids) {
let key = Object.keys(id)[0];
let value = Object.values(id)[0];
obj[key] = value;
}
member_ids = obj;
}
return Promise.all(
Object.keys(member_ids) Object.keys(member_ids)
.map(id => Promise.all([ .map(id => Promise.all([
zt.member_detail(nwid, id), zt.member_detail(nwid, id),
storage.getItem(id) storage.getItem(id)
])) ]))
) );
).then(results => results.map(([member, name]) => { }).then(results => results.map(([member, name]) => {
member.name = name || ''; member.name = name || '';
return member; return member;
})) }))