Add function to get an address-pairingProcess map

This commit is contained in:
NicolasCantu 2025-01-23 19:49:49 +01:00
parent 4596dfbeb3
commit 5c05f2119d

View File

@ -49,6 +49,7 @@ class ChatElement extends HTMLElement {
private messageState: number = 0;
private selectedRole: string | null = null;
private userProcessSet: Set<string> = new Set();
private addressMap: Record<string, string> = {}; // map each address to its pairing process id
constructor() {
super();
@ -636,6 +637,29 @@ class ChatElement extends HTMLElement {
return new Blob(byteArrays, { type: type });
}
//To get a map with key: sp address, value: pairing process
async getAddressMap() {
const service = await Services.getInstance();
const allMembers = await service.getAllMembers();
const addressMap: Record<string, string> = {};
for (const [key, values] of Object.entries(allMembers)) {
if (values.sp_addresses) {
for (let value of values.sp_addresses) {
this.addressMap[value] = key;
}
} else {
console.log(`No sp_addresses array found for key "${key}"`);
}
}
console.log("ADDRESS MAP: ", this.addressMap);
this.addressMap = addressMap;
return this.addressMap;
}
private async toggleMembers(roleData: any, roleElement: HTMLElement) {
let memberList = roleElement.querySelector('.member-list');
const roleName = roleElement.querySelector('.role-name')?.textContent || '';