requestDataFromPeers takes roles

This commit is contained in:
NicolasCantu 2025-03-04 14:53:56 +01:00
parent dc231ba982
commit de6213b1b7
2 changed files with 8 additions and 4 deletions

View File

@ -212,6 +212,7 @@ export class Database {
} }
const processId = diff.process_id; const processId = diff.process_id;
const stateId = diff.state_id; const stateId = diff.state_id;
const roles = diff.roles;
try { try {
const valueBytes = await service.fetchValueFromStorage(hash); const valueBytes = await service.fetchValueFromStorage(hash);
if (valueBytes) { if (valueBytes) {
@ -230,7 +231,7 @@ export class Database {
console.log('Request data from managers of the process'); console.log('Request data from managers of the process');
// get the diff from db // get the diff from db
if (!requestedStateId.includes(stateId)) { if (!requestedStateId.includes(stateId)) {
await service.requestDataFromPeers(processId, stateId); await service.requestDataFromPeers(processId, [stateId], [roles]);
requestedStateId.push(stateId); requestedStateId.push(stateId);
} }
} }
@ -264,8 +265,9 @@ export class Database {
const diff = await service.getDiffByValue(hash); const diff = await service.getDiffByValue(hash);
const processId = diff.process_id; const processId = diff.process_id;
const stateId = diff.state_id; const stateId = diff.state_id;
const roles = diff.roles;
if (!requestedStateId.includes(stateId)) { if (!requestedStateId.includes(stateId)) {
await service.requestDataFromPeers(processId, stateId); await service.requestDataFromPeers(processId, [stateId], [roles]);
requestedStateId.push(stateId); requestedStateId.push(stateId);
} }
} }

View File

@ -1195,9 +1195,11 @@ export default class Services {
} }
} }
public async requestDataFromPeers(processId: string, stateId: string) { public async requestDataFromPeers(processId: string, stateIds: string[], roles: Record<string, RoleDefinition>[]) {
console.log('Requesting data from peers');
console.log(roles);
try { try {
const res = this.sdkClient.request_data(processId, [stateId]); const res = this.sdkClient.request_data(processId, stateIds, roles);
await this.handleApiReturn(res); await this.handleApiReturn(res);
} catch (e) { } catch (e) {
console.error(e); console.error(e);