Add checkConnection

This commit is contained in:
NicolasCantu 2025-01-06 12:16:36 +01:00
parent 76baca6e30
commit 9a1232306d
2 changed files with 17 additions and 0 deletions

View File

@ -447,6 +447,7 @@ async function createMessagingProcess(): Promise<void> {
] ]
} }
]; ];
await service.checkConnections(otherMembers);
const relayAddress = service.getAllRelays().pop(); const relayAddress = service.getAllRelays().pop();
if (!relayAddress) { if (!relayAddress) {
throw new Error('Empty relay address list'); throw new Error('Empty relay address list');

View File

@ -160,6 +160,22 @@ export default class Services {
return secretsStore; return secretsStore;
} }
public async checkConnections(members: Member[]): Promise<void> {
const memberPromises = members.map(async (member) => {
const addressPromises = member.sp_addresses.map(async (address) => {
const sharedSecret = await this.getSecretForAddress(address);
if (!sharedSecret) {
const connectMemberResult = await this.connectMember([{ sp_addresses: [address] }]);
await this.handleApiReturn(connectMemberResult);
}
});
await Promise.all(addressPromises);
});
await Promise.all(memberPromises);
}
public async connectMember(members: Member[]): Promise<ApiReturn> { public async connectMember(members: Member[]): Promise<ApiReturn> {
if (members.length === 0) { if (members.length === 0) {
throw new Error('Trying to connect to empty members list'); throw new Error('Trying to connect to empty members list');