[AAE-4713] Improve Message Events method (#6739)

This commit is contained in:
swethamani 2021-03-03 12:02:56 +00:00 committed by GitHub
parent e52124caa8
commit cb0e95420e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -168,6 +168,45 @@ export class QueryService {
return ApiUtil.waitForApi(apiCall, predicate);
}
async getTask(taskName: string, processInstanceId: string, appName: string, status: string, retryCount = 15): Promise<any> {
const path = '/' + appName + '/query/v1/process-instances/' + processInstanceId + '/tasks';
const method = 'GET';
const queryParams = {}, postBody = {};
const data = await this.api.performBpmOperation(path, method, queryParams, postBody);
for (let i = 0; i < data.list.entries.length; i++) {
if (data.list.entries[i].entry.name === taskName) {
const task = data.list.entries[i];
if (task.entry.status === status) {
return task;
} else if (retryCount > 0) {
return this.getTask(taskName, processInstanceId, appName, status, retryCount--);
} else {
return task;
}
}
}
}
async getTaskByNameAndStatus(taskName, processInstanceId, appName, status: TaskStatus): Promise<any> {
const predicate = (result: any) => {
return !!result;
};
const apiCall = async () => {
try {
return this.getTask(taskName, processInstanceId, appName, status);
} catch (error) {
Logger.error('Get Task By Name - Service error');
}
};
return ApiUtil.waitForApi(apiCall, predicate);
}
async getProcessInstanceId(processName: string, appName: string): Promise<any> {
const predicate = (result: any) => {
return !!result;