Add getUserProcessByIdNot()

This commit is contained in:
Sosthene 2025-09-07 18:34:25 +02:00
parent f5bddd992a
commit 7d5861b831

View File

@ -250,6 +250,42 @@ export class SDKSignerClient {
return this.sendAndWait(message, MessageType.PROCESS_CREATED);
}
// Are we part of user process as a validator?
// User on first connection do have his idnot
// we must check if there's already a process for this user
// if yes, user can add a new device he made the idnot login on
// if not, we create a new process and add it's pairing id
async getUserProcessByIdnot(idNot: string): Promise<{ processId: string, processData: any } | null> {
console.log('Getting user process by idnot:', idNot);
try {
const signerResponse: ServerResponse = await this.getOwnedProcesses();
// We are interested in the data
const processesData: any = signerResponse.data;
for (const [processId, processData] of Object.entries(processesData)) {
if (processData
&& typeof processData === 'object'
&& 'utype' in processData
&& 'idNot' in processData
&& 'office' in processData
&& 'contact' in processData
&& 'office_role' in processData
&& 'role' in processData
&& (processData as any).utype === 'collaborator'
&& (processData as any).office
&& (processData as any).office.idNot
&& (processData as any).idNot === idNot
) {
console.log('Found matching process:', processId);
return { processId, processData };
}
}
return null;
} catch (error) {
console.error('Error getting user process by idnot:', error);
throw error;
}
}
/**
* Notify an update for a process