mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[AAE-4713] Improve Message Events method (#6739)
This commit is contained in:
parent
e52124caa8
commit
cb0e95420e
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user