find_adress_from_process

This commit is contained in:
Pascal 2025-01-22 01:18:43 +01:00
parent 9d1e0e31c6
commit d5669769d3

View File

@ -7,7 +7,7 @@ declare global {
}
import { membersMock } from '../../mocks/mock-signature/membersMocks';
import { ApiReturn, Device, Member, Process } from '../../../pkg/sdk_client';
import { ApiReturn, Device, Member, Process, RoleDefinition } from '../../../pkg/sdk_client';
import { getCorrectDOM } from '../../utils/document.utils';
import chatStyle from '../../../public/style/chat.css?inline';
import { addressToEmoji } from '../../utils/sp-address.utils';
@ -866,6 +866,70 @@ class ChatElement extends HTMLElement {
});
}
//Load tous les processus où le sp_adress est impliqué et renvoie un tableau d'adresses de processus
private async getMyProcessId() {
const service = await Services.getInstance();
const myAddresses = await service.getMemberFromDevice();
if (!myAddresses) {
console.error('No paired member found');
return;
}
this.processId = myAddresses[0];
return this.processId;
}
//fonction qui renvoie les processus où le sp_adress est impliqué
private async getProcessesForMember() {
const processId = await this.getMyProcessId();
if (!processId) return;
this.processId = processId;
console.log("Je suis le processId de la fonction getProcessesForMember:", this.processId);
console.log('🎯 Loading all group list');
const groupList = this.shadowRoot?.querySelector('#group-list');
if (!groupList) {
console.error('❌ Group list element not found');
return;
}
const processes = await this.getProcesses();
console.log("Je suis les processes de la fonction getMyProcessId:", processes);
if (!processes || Object.keys(processes).length === 0) {
console.log('⚠️ No processes found');
return;
}
const processTab = [];
for (const {key, value} of processes) {
const processName = await key;
console.log("Je suis l'id process de la boucle :" ,processName);
const roles = await value.states[0].encrypted_pcd.roles;
//Je récupère les roles de chaque processus
for (const [roleName, roleData] of Object.entries(roles)) {
console.log("Je suis le roleName de la boucle :" ,roleName);
const allMembers = (roleData as { members: { sp_addresses: string[] }[] }).members;
console.log("Je suis les members de la boucle :" ,allMembers);
//Je récupère les adresses des membres
for (const member of allMembers) {
for (const address of member.sp_addresses) {
console.log("Adresse SP trouvée:", address);
if (address === this.processId) {
processTab.push(processName);
}
}
}
}
}
console.log("Je suis le tableau des processus de la boucle :" ,processTab);
return processTab;
}
// Load the group list from all processes
public async loadAllGroupListFromMyProcess(): Promise<void> {
console.log('🎯 Loading all group list');
@ -1200,9 +1264,9 @@ class ChatElement extends HTMLElement {
this.loadGroupListFromAProcess(this.processId);
} else {
console.warn('⚠️ No process ID found. Loading default processes...');
await this.loadAllProcesses();
await this.loadAllMembers();
await this.getProcessesForMember();
}