test if we can remove compatibility (#7064)

remove compatibility
This commit is contained in:
Eugenio Romano
2021-06-10 14:38:12 +02:00
committed by GitHub
parent 4dc98eb288
commit 558056b05c
125 changed files with 1025 additions and 1017 deletions

View File

@@ -15,14 +15,16 @@
* limitations under the License.
*/
import { NodeEntry, NodeBodyUpdate } from '@alfresco/js-api';
import { NodeEntry, NodeBodyUpdate, NodesApi } from '@alfresco/js-api';
import { ApiService } from '../../core/actions/api.service';
export class PermissionActions {
api: ApiService;
nodesApi: NodesApi;
constructor(apiService: ApiService) {
this.api = apiService;
this.nodesApi = new NodesApi(apiService.getInstance());
}
addRoleForUser(userName: string, role: string, nodeToUpdate: NodeEntry): Promise<NodeEntry> {
@@ -37,17 +39,17 @@ export class PermissionActions {
]
}
};
return this.api.apiService.nodes.updateNode(nodeToUpdate.entry.id, payload);
return this.nodesApi.updateNode(nodeToUpdate.entry.id, payload);
}
disableInheritedPermissionsForNode(nodeId: string): Promise<NodeEntry> {
const nodeBody = { permissions: { isInheritanceEnabled: false } };
return this.api.apiService.nodes.updateNode(nodeId, nodeBody, { include: ['permissions'] });
return this.nodesApi.updateNode(nodeId, nodeBody, { include: ['permissions'] });
}
enableInheritedPermissionsForNode(nodeId: string): Promise<NodeEntry> {
const nodeBody = { permissions: { isInheritanceEnabled: true } };
return this.api.apiService.nodes.updateNode(nodeId, nodeBody, { include: ['permissions'] });
return this.nodesApi.updateNode(nodeId, nodeBody, { include: ['permissions'] });
}
}

View File

@@ -17,7 +17,7 @@
import * as path from 'path';
import * as fs from 'fs';
import { NodeEntry } from '@alfresco/js-api';
import { NodeEntry, UploadApi, NodesApi } from '@alfresco/js-api';
import { ApiUtil } from '../../core/actions/api.util';
import { Logger } from '../../core/utils/logger';
import { ApiService } from '../../core/actions/api.service';
@@ -25,15 +25,19 @@ import { ApiService } from '../../core/actions/api.service';
export class UploadActions {
api: ApiService;
uploadApi: UploadApi;
nodesApi: NodesApi;
constructor(alfrescoJsApi: ApiService) {
this.api = alfrescoJsApi;
constructor(apiService: ApiService) {
this.api = apiService;
this.uploadApi = new UploadApi(apiService.getInstance());
this.nodesApi = new NodesApi(apiService.getInstance());
}
async uploadFile(fileLocation, fileName, parentFolderId): Promise<any> {
const file = fs.createReadStream(fileLocation);
return this.api.apiService.upload.uploadFile(
return this.uploadApi.uploadFile(
file,
'',
parentFolderId,
@@ -56,11 +60,11 @@ export class UploadActions {
filesRequest.push(jsonItem);
}
return this.api.apiService.nodes.addNode(parentFolderId, <any> filesRequest, {});
return this.nodesApi.createNode(parentFolderId, <any> filesRequest, {});
}
async createFolder(folderName, parentFolderId): Promise<NodeEntry> {
return this.api.apiService.node.addNode(parentFolderId, {
return this.nodesApi.createNode(parentFolderId, {
name: folderName,
nodeType: 'cm:folder'
}, {});
@@ -69,7 +73,7 @@ export class UploadActions {
async deleteFileOrFolder(nodeId) {
const apiCall = async () => {
try {
return this.api.apiService.node.deleteNode(nodeId, { permanent: true });
return this.nodesApi.deleteNode(nodeId, { permanent: true });
} catch (error) {
Logger.error('Error delete file or folder');
}

View File

@@ -181,7 +181,7 @@ export class ContentNodeSelectorDialogPage {
try {
await this.contentListPage().dataTablePage().checkRowContentIsDisplayed(name);
} catch (e) {
console.error(`failed to get search result :: ${name}`);
Logger.error(`failed to get search result :: ${name}`);
}
await this.clickContentNodeSelectorResult(name);
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { AlfrescoApiCompatibility as AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
import { AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
import { browser } from 'protractor';
import { Logger } from '../utils/logger';

View File

@@ -117,5 +117,6 @@ export class E2eRequestApiHelper {
contextRoot,
responseType
);
}
}

View File

@@ -69,7 +69,7 @@ export class IdentityService {
return this.api.performIdentityOperation(path, method, queryParams, postBody);
} catch (error) {
Logger.error('Create User - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Create User - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
}
}

View File

@@ -220,7 +220,7 @@ export class QueryService {
const data = await this.api.performBpmOperation(path, method, queryParams, postBody);
return data.list.entries && data.list.entries.length > 0 ? data.list.entries[0].entry.id : null;
} catch (error) {
Logger.error('Get Process Instance Id - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Get Process Instance Id - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
}
};
@@ -246,7 +246,7 @@ export class QueryService {
const data = await this.api.performBpmOperation(path, method, queryParams, postBody);
return data.list.entries ?? null;
} catch (error) {
Logger.error('Get Process Instances - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Get Process Instances - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
}
};

View File

@@ -19,7 +19,14 @@ import * as path from 'path';
import * as fs from 'fs';
import { browser } from 'protractor';
import { ImageUploadRepresentation, UserRepresentation } from '@alfresco/js-api';
import {
UserProfileApi,
AdminUsersApi,
AdminTenantsApi,
PeopleApi,
ImageUploadRepresentation,
UserRepresentation
} from '@alfresco/js-api';
import { IdentityService } from './identity/identity.service';
import { UserModel } from '../models/user.model';
import { ApiService } from './api.service';
@@ -30,9 +37,17 @@ export class UsersActions {
api: ApiService;
identityService: IdentityService;
peopleApi: PeopleApi;
adminTenantsApi: AdminTenantsApi;
adminUsersApi: AdminUsersApi;
userProfileApi: UserProfileApi;
constructor(alfrescoApi: ApiService) {
this.api = alfrescoApi;
constructor(apiService: ApiService) {
this.api = apiService;
this.peopleApi = new PeopleApi(apiService.getInstance());
this.adminTenantsApi = new AdminTenantsApi(apiService.getInstance());
this.adminUsersApi = new AdminUsersApi(apiService.getInstance());
this.userProfileApi = new UserProfileApi(apiService.getInstance());
if (this.api.apiService.isOauthConfiguration()) {
this.identityService = new IdentityService(this.api);
}
@@ -48,7 +63,7 @@ export class UsersActions {
try {
if (this.api.apiService.isEcmConfiguration() || (this.api.apiService.isEcmBpmConfiguration())) {
Logger.log(`Create user ECM ${user.email}`);
await this.api.apiService.core.peopleApi.addPerson({
await this.peopleApi.createPerson({
id: user.username,
email: user.email,
firstName: user.firstName,
@@ -108,7 +123,7 @@ export class UsersActions {
}
async createTenantAndUser(email?: string, firstName?: string, lastName?: string, password?: string): Promise<UserRepresentation> {
const newTenant = await this.api.apiService.activiti.adminTenantsApi.createTenant(new Tenant());
const newTenant = await this.adminTenantsApi.createTenant(new Tenant());
const user = new UserModel({
tenantId: newTenant.id,
@@ -118,7 +133,7 @@ export class UsersActions {
password
});
return this.api.apiService.activiti.adminUsersApi.createNewUser(user.getAPSModel());
return this.adminUsersApi.createNewUser(user.getAPSModel());
}
async createApsUser(tenantId?: number, email?: string, firstName?: string, lastName?: string, password?: string): Promise<UserRepresentation> {
@@ -131,13 +146,17 @@ export class UsersActions {
password
});
return this.api.apiService.activiti.adminUsersApi.createNewUser(user.getAPSModel());
return this.adminUsersApi.createNewUser(user.getAPSModel());
}
async changeProfilePictureAps(fileLocation: string): Promise<ImageUploadRepresentation> {
const pathFile = path.join(browser.params.testConfig.main.rootPath + fileLocation);
const file = fs.createReadStream(pathFile);
return this.api.apiService.activiti.profileApi.uploadProfilePicture(file);
return this.userProfileApi.uploadProfilePicture(file);
}
async deleteTenant(tenantId: number) {
await this.adminTenantsApi.deleteTenant(tenantId);
}
}

View File

@@ -16,9 +16,21 @@
*/
import { browser } from 'protractor';
import { ApiService } from '../actions/api.service';
import { FormModelsApi, FormRepresentation } from '@alfresco/js-api';
export class FormUtil {
api: ApiService;
editorApi: FormModelsApi;
constructor(apiService?: ApiService) {
if (apiService) {
this.api = apiService;
this.editorApi = new FormModelsApi(apiService.getInstance());
}
}
static async setForm(value: string): Promise<void> {
await browser.executeScript(
'window.adf.setFormInEditor(`' + value + '`);'
@@ -30,4 +42,13 @@ export class FormUtil {
'window.adf.setCloudFormInEditor(`' + value + '`);'
);
}
async getFormByName(name: string): Promise<FormRepresentation> {
// @ts-ignore
const forms: any = await this.editorApi.getForms();
return forms.data.find((currentForm) => {
return currentForm.name === name;
});
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { NodeEntry } from '@alfresco/js-api';
import { NodeEntry, NodesApi } from '@alfresco/js-api';
import { ApiService } from '../actions/api.service';
import { ApiUtil } from '../actions/api.util';
import { Logger } from './logger';
@@ -24,8 +24,10 @@ export class WaitActions {
DELAY_API_CALL = 5000;
apiService: ApiService;
nodesApi: NodesApi;
constructor(apiService: ApiService) {
this.nodesApi = new NodesApi(apiService.getInstance());
this.apiService = apiService;
}
@@ -38,7 +40,7 @@ export class WaitActions {
const apiCall = async () => {
try {
return this.apiService.getInstance().core.nodesApi.getNode(nodeId);
return this.nodesApi.getNode(nodeId);
} catch (error) {
Logger.error('Node not present');
return null;
@@ -57,7 +59,7 @@ export class WaitActions {
const apiCall = async () => {
try {
return this.apiService.getInstance().core.nodesApi.getNode(nodeId);
return this.nodesApi.getNode(nodeId);
} catch (error) {
Logger.error('Node not present');
return null;

View File

@@ -38,7 +38,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('Create Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('Create Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}
@@ -56,7 +56,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('Create standalone Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('Create standalone Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}
@@ -68,7 +68,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('Complete Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('Complete Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}
@@ -81,7 +81,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('claim Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('claim Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}
@@ -94,7 +94,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('delete Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('delete Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}
@@ -114,7 +114,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('Get Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('Get Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}
@@ -126,7 +126,7 @@ export class TasksService {
const data = await this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('Get Task Id Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('Get Task Id Service error, Response: ', JSON.stringify(error?.response?.text));
});
return data.list.entries && data.list.entries.length > 0 ? data.list.entries[0].entry.id : null;
}
@@ -140,7 +140,7 @@ export class TasksService {
return this.api.performBpmOperation(path, method, queryParams, postBody)
.catch((error) => {
Logger.error('Create sub Task - Service error, Response: ', JSON.stringify(error.response.text));
Logger.error('Create sub Task - Service error, Response: ', JSON.stringify(error?.response?.text));
});
}

View File

@@ -18,7 +18,12 @@
import { Logger } from '../../core/utils/logger';
import { browser } from 'protractor';
import { ApiService } from '../../core/actions/api.service';
import { AppDefinitionUpdateResultRepresentation } from '@alfresco/js-api';
import {
AppDefinitionRepresentation,
AppDefinitionsApi,
RuntimeAppDefinitionsApi,
AppDefinitionUpdateResultRepresentation
} from '@alfresco/js-api';
import * as path from 'path';
import * as fs from 'fs';
@@ -30,13 +35,17 @@ export class AppPublish {
export class ApplicationsUtil {
api: ApiService;
appsApi: RuntimeAppDefinitionsApi;
appDefinitionsApi: AppDefinitionsApi;
constructor(api: ApiService) {
this.api = api;
constructor(apiService: ApiService) {
this.api = apiService;
this.appsApi = new RuntimeAppDefinitionsApi(apiService.getInstance());
this.appDefinitionsApi = new AppDefinitionsApi(apiService.getInstance());
}
async getAppDefinitionId(appModelId: number): Promise<number> {
const appDefinitions = await this.api.getInstance().activiti.appsApi.getAppDefinitions();
const appDefinitions = await this.appsApi.getAppDefinitions();
let appDefinitionId = -1;
appDefinitions.data.forEach((appDefinition) => {
@@ -49,55 +58,58 @@ export class ApplicationsUtil {
}
async publishDeployApp(appId: number): Promise<AppDefinitionUpdateResultRepresentation> {
const publishApp = await this.api.getInstance().activiti.appsApi.publishAppDefinition(appId, new AppPublish());
const publishApp = await this.appDefinitionsApi.publishAppDefinition(appId, new AppPublish());
await this.api.getInstance().activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
await this.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
return publishApp;
}
async importPublishDeployApp(appFileLocation: string, option = {}) {
async importPublishDeployApp(appFileLocation: string, option = {}): Promise<any> {
try {
const appCreated = await this.importApplication(appFileLocation, option);
const publishApp = await this.publishDeployApp(appCreated.id);
await this.api.getInstance().activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
await this.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
return appCreated;
} catch (error) {
Logger.error('Import Publish Deploy Application - Service error, Response: ', JSON.stringify(error));
return {};
}
}
async importNewVersionAppDefinitionPublishDeployApp(appFileLocation: string, modelId: number) {
async importNewVersionAppDefinitionPublishDeployApp(appFileLocation: string, modelId: number): Promise<any> {
const pathFile = path.join(browser.params.testConfig.main.rootPath + appFileLocation);
const file = fs.createReadStream(pathFile);
const appCreated = await this.api.getInstance().activiti.appsApi.importNewAppDefinition(modelId, file);
const appCreated = await this.appDefinitionsApi.updateAppDefinition(modelId, file);
const publishApp = await this.api.getInstance().activiti.appsApi.publishAppDefinition(appCreated.id, new AppPublish());
const publishApp = await this.appDefinitionsApi.publishAppDefinition(appCreated.id, new AppPublish());
await this.api.getInstance().activiti.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
await this.appsApi.deployAppDefinitions({ appDefinitions: [{ id: publishApp.appDefinition.id }] });
return appCreated;
}
async importApplication(appFileLocation: string, options = {}): Promise<any> {
async importApplication(appFileLocation: string, options = {}): Promise<AppDefinitionRepresentation> {
try {
const file = fs.createReadStream(appFileLocation);
return await this.api.getInstance().activiti.appsDefinitionApi.importAppDefinition(file, options);
return await this.appDefinitionsApi.importAppDefinition(file, options);
} catch (error) {
Logger.error('Import Application - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Import Application - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
return {};
}
}
async getAppDefinitionByName(appName: string): Promise<any> {
async getAppDefinitionByName(appName: string): Promise<AppDefinitionRepresentation> {
try {
const appDefinitionsList = await this.api.getInstance().activiti.appsApi.getAppDefinitions();
const appDefinition = appDefinitionsList.data.filter((currentApp) => {
const appDefinitionsList = await this.appsApi.getAppDefinitions();
return appDefinitionsList.data.find((currentApp) => {
return currentApp.name === appName;
});
return appDefinition;
} catch (error) {
Logger.error('Get AppDefinitions - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Get AppDefinitions - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
return {};
}
}

View File

@@ -16,15 +16,19 @@
*/
import { ApiService } from '../../core/actions/api.service';
import { E2eRequestApiHelper } from '../../core/actions/e2e-request-api.helper';
import { Logger } from '../../core/utils/logger';
export class IntegrationService {
api: ApiService;
requestApiHelper: E2eRequestApiHelper;
constructor(api: ApiService) {
this.api = api;
constructor(apiService: ApiService) {
this.api = apiService;
this.requestApiHelper = new E2eRequestApiHelper(apiService);
}
addCSIntegration({ name, tenantId, host }): Promise<any> {
async addCSIntegration({ name, tenantId, host }): Promise<void> {
const repository = {
name,
tenantId,
@@ -34,12 +38,15 @@ export class IntegrationService {
version: '6.1.1',
authenticationType: 'basic'
};
return this.api.apiService.activiti.integrationAccountApi.apiClient.callApi('app/rest/integration/alfresco', 'POST',
{}, {}, {}, {}, repository, [], [], Object);
try {
await this.requestApiHelper.post('activiti-app/app/rest/integration/alfresco', { bodyParam: repository });
} catch (e) {
Logger.error(e);
}
}
authenticateRepository(id: number, body: { username: string, password: string }): Promise<any> {
return this.api.apiService.activiti.integrationAccountApi.apiClient.callApi(`app/rest/integration/alfresco/${id}/account`, 'POST',
{}, {}, {}, body, {}, [], []);
async authenticateRepository(id: number, body: { username: string, password: string }): Promise<any> {
await this.requestApiHelper.post(`activiti-app/app/rest/integration/alfresco/${id}/account`, { bodyParam: body });
}
}

View File

@@ -16,38 +16,42 @@
*/
import { Logger } from '../../core/utils/logger';
import { ApiService } from '../../core/actions/api.service';
import { ModelsApi } from '@alfresco/js-api';
import { ResultListDataRepresentationModelRepresentation } from '@alfresco/js-api/typings/src/api/activiti-rest-api/model/resultListDataRepresentationModelRepresentation';
export class ModelsActions {
api: ApiService;
modelsApi: ModelsApi;
constructor(api: ApiService) {
this.api = api;
this.modelsApi = new ModelsApi(api.getInstance());
}
async deleteVersionModel(modelId) {
async deleteModel(modelId): Promise<any> {
try {
return await this.api.apiService.activiti.modelsApi.deleteModel(modelId, { cascade: false, deleteRuntimeApp : true });
return await this.modelsApi.deleteModel(modelId, { cascade: false, deleteRuntimeApp: true });
} catch (error) {
Logger.error('Delete Model Version - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Delete Model Version - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
}
}
async deleteEntireModel(modelId) {
async deleteEntireModel(modelId): Promise<any> {
try {
return await this.api.apiService.activiti.modelsApi.deleteModel(modelId, { cascade: true, deleteRuntimeApp : true });
return await this.modelsApi.deleteModel(modelId, { cascade: true, deleteRuntimeApp: true });
} catch (error) {
Logger.error('Delete Model - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Delete Model - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
}
}
async getModels(opts: any) {
async getModels(opts: any): Promise<ResultListDataRepresentationModelRepresentation> {
const options = opts || {};
let models;
try {
models = await this.api.apiService.activiti.modelsApi.getModels(options);
models = await this.modelsApi.getModels(options);
} catch (error) {
Logger.error('Get Models - Service error, Response: ', JSON.parse(JSON.stringify(error)).response.text);
Logger.error('Get Models - Service error, Response: ', JSON.parse(JSON.stringify(error))?.response?.text);
}
return models;
}

View File

@@ -19,25 +19,33 @@ import { ApplicationsUtil } from './applications.util';
import { Logger } from '../../core/utils/logger';
import { StringUtil } from '../../core/utils/string.util';
import { ApiService } from '../../core/actions/api.service';
import { TaskRepresentation } from '@alfresco/js-api';
import { TasksApi, ProcessInstancesApi, TaskRepresentation, ProcessDefinitionsApi } from '@alfresco/js-api';
export class ProcessUtil {
api: ApiService;
processInstancesApi: ProcessInstancesApi;
processDefinitionsApi: ProcessDefinitionsApi;
applicationsUtil: ApplicationsUtil;
tasksApi: TasksApi;
constructor(api: ApiService) {
this.api = api;
constructor(apiService: ApiService) {
this.api = apiService;
this.processInstancesApi = new ProcessInstancesApi(apiService.getInstance());
this.processDefinitionsApi = new ProcessDefinitionsApi(apiService.getInstance());
this.applicationsUtil = new ApplicationsUtil(apiService);
this.tasksApi = new TasksApi(apiService.getInstance());
}
async startProcessByDefinitionName(appName: string, processDefinitionName: string, processName?: string): Promise<any> {
try {
const appDefinition = await new ApplicationsUtil(this.api).getAppDefinitionByName(appName);
const appDefinition = await this.applicationsUtil.getAppDefinitionByName(appName);
const processDefinition = await this.getProcessDefinitionByName(appDefinition.deploymentId, processDefinitionName);
const startProcessOptions: any = { processDefinitionId: processDefinition.id, name: processName ? processName : processDefinitionName + StringUtil.generateRandomString(5).toLowerCase() };
return this.api.apiService.activiti.processApi.startNewProcessInstance(startProcessOptions);
return this.processInstancesApi.startNewProcessInstance(startProcessOptions);
} catch (error) {
Logger.error('Start Process - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -45,7 +53,7 @@ export class ProcessUtil {
async startProcessByDefinitionNameWithFormValues(appName: string, processDefinitionName: string, values: any, processName?: string): Promise<any> {
try {
const appDefinition = await new ApplicationsUtil(this.api).getAppDefinitionByName(appName);
const appDefinition = await this.applicationsUtil.getAppDefinitionByName(appName);
const processDefinition = await this.getProcessDefinitionByName(appDefinition.deploymentId, processDefinitionName);
@@ -55,7 +63,7 @@ export class ProcessUtil {
values
};
return this.api.apiService.activiti.processApi.startNewProcessInstance(startProcessOptions);
return this.processInstancesApi.startNewProcessInstance(startProcessOptions);
} catch (error) {
Logger.error('Start Process - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -63,10 +71,10 @@ export class ProcessUtil {
async startProcessOfApp(appName: string, processName?: string): Promise<any> {
try {
const appDefinition = await new ApplicationsUtil(this.api).getAppDefinitionByName(appName);
const processDefinitionList = await this.api.apiService.activiti.processApi.getProcessDefinitions({ deploymentId: appDefinition[0].deploymentId });
const appDefinition = await this.applicationsUtil.getAppDefinitionByName(appName);
const processDefinitionList = await this.processDefinitionsApi.getProcessDefinitions({ deploymentId: appDefinition.deploymentId });
const startProcessOptions: any = { processDefinitionId: processDefinitionList.data[0].id, name: processName ? processName : StringUtil.generateRandomString(5).toLowerCase() };
return this.api.apiService.activiti.processApi.startNewProcessInstance(startProcessOptions);
return this.processInstancesApi.startNewProcessInstance(startProcessOptions);
} catch (error) {
Logger.error('Start Process - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -74,7 +82,7 @@ export class ProcessUtil {
async cancelProcessInstance(processInstance: string): Promise<any> {
try {
return this.api.apiService.activiti.processApi.deleteProcessInstance(processInstance);
return this.processInstancesApi.deleteProcessInstance(processInstance);
} catch (error) {
Logger.error('Cancel Process - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -82,7 +90,7 @@ export class ProcessUtil {
async getProcessDefinitionByName(deploymentId: string, processName: string): Promise<any> {
try {
const processDefinitionList = await this.api.apiService.activiti.processApi.getProcessDefinitions({ deploymentId: deploymentId });
const processDefinitionList = await this.processDefinitionsApi.getProcessDefinitions({ deploymentId: deploymentId });
const chosenProcess = processDefinitionList.data.find( (processDefinition) => {
return processDefinition.name === processName;
});
@@ -94,14 +102,14 @@ export class ProcessUtil {
async getProcessInstanceByName(processInstanceName: string, processInstanceStatus?: string, maxNumberOfResults?: number): Promise<any> {
try {
return await this.api.apiService.activiti.processApi.filterProcessInstances({filter: {name: processInstanceName, state: processInstanceStatus}, size: maxNumberOfResults});
return await this.processInstancesApi.filterProcessInstances({filter: {name: processInstanceName, state: processInstanceStatus}, size: maxNumberOfResults});
} catch (error) {
Logger.error('List process instances using a filter - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
}
async getProcessTaskId(processId: string): Promise<TaskRepresentation> {
const taskList = await this.api.apiService.activiti.taskApi.listTasks({});
const taskList = await this.tasksApi.listTasks({});
let wantedtask;
taskList.data.forEach((task) => {

View File

@@ -17,18 +17,21 @@
import { Logger } from '../../core/utils/logger';
import { ApiService } from '../../core/actions/api.service';
import { TaskActionsApi } from '@alfresco/js-api';
export class TaskActionsUtil {
api: ApiService;
taskActionsApi: TaskActionsApi;
constructor(api: ApiService) {
this.api = api;
constructor(apiService: ApiService) {
this.api = apiService;
this.taskActionsApi = new TaskActionsApi(apiService.getInstance());
}
async claimTask(taskInstance: string): Promise<any> {
try {
return this.api.apiService.activiti.taskActionsApi.claimTask(taskInstance);
return this.taskActionsApi.claimTask(taskInstance);
} catch (error) {
Logger.error('Claim a Task - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -36,7 +39,7 @@ export class TaskActionsUtil {
async unclaimTask(taskInstance: string): Promise<any> {
try {
return this.api.apiService.activiti.taskActionsApi.unclaimTask(taskInstance);
return this.taskActionsApi.unclaimTask(taskInstance);
} catch (error) {
Logger.error('Unclaim a Task - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -44,7 +47,7 @@ export class TaskActionsUtil {
async completeTask(taskInstance: string): Promise<any> {
try {
return this.api.apiService.activiti.taskActionsApi.completeTask(taskInstance);
return this.taskActionsApi.completeTask(taskInstance);
} catch (error) {
Logger.error('Complete Task - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}

View File

@@ -17,19 +17,24 @@
import { Logger } from '../../core/utils/logger';
import { ApiService } from '../../core/actions/api.service';
import { TaskRepresentation } from '@alfresco/js-api';
import { TaskFormsApi, TaskRepresentation, TasksApi } from '@alfresco/js-api';
import { StringUtil } from '../../core/utils/string.util';
export class TaskUtil {
api: ApiService;
tasksApi: TasksApi;
taskFormsApi: TaskFormsApi;
constructor(api: ApiService) {
this.api = api;
constructor(apiService: ApiService) {
this.api = apiService;
this.tasksApi = new TasksApi(apiService.getInstance());
this.taskFormsApi = new TaskFormsApi(apiService.getInstance());
}
async createStandaloneTask(taskName: string): Promise<any> {
async createStandaloneTask(taskName: string = StringUtil.generateRandomString()): Promise<any> {
try {
return this.api.getInstance().activiti.taskApi.createNewTask(new TaskRepresentation({ name: taskName }));
return this.tasksApi.createNewTask(new TaskRepresentation({ name: taskName }));
} catch (error) {
Logger.error('Create Standalone Task - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -37,7 +42,7 @@ export class TaskUtil {
async completeTaskForm(taskInstance: string): Promise<any> {
try {
return this.api.getInstance().activiti.taskApi.completeTaskForm(taskInstance, { values: { label: null } });
return this.taskFormsApi.completeTaskForm(taskInstance, { values: { label: null } });
} catch (error) {
Logger.error('Complete Task Form - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}
@@ -45,7 +50,7 @@ export class TaskUtil {
async deleteTask(taskInstance: string): Promise<any> {
try {
return this.api.apiService.activiti.taskApi.deleteTask(taskInstance);
return this.tasksApi.deleteTask(taskInstance);
} catch (error) {
Logger.error('Delete Task - Service error, Response: ', JSON.parse(JSON.stringify(error)));
}

View File

@@ -17,28 +17,38 @@
import { Logger } from '../../core/utils/logger';
import { ApiService } from '../../core/actions/api.service';
import { UserFilterOrderRepresentation, UserTaskFilterRepresentation, ResultListDataRepresentationUserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
import { UserFiltersApi, UserFilterOrderRepresentation, UserTaskFilterRepresentation, ResultListDataRepresentationUserProcessInstanceFilterRepresentation } from '@alfresco/js-api';
export class UserFiltersUtil {
apiService: ApiService;
userFiltersApi: UserFiltersApi;
constructor(apiService: ApiService) {
this.apiService = apiService;
this.userFiltersApi = new UserFiltersApi(apiService.getInstance());
}
async createATaskFilter(newTaskFilterName: string, sortType?: string, stateType?: string, assignmentType?: string, iconName?: string, appId?: number): Promise<any> {
try {
return this.apiService.getInstance().activiti.userFiltersApi.createUserTaskFilter(new UserTaskFilterRepresentation(
return this.userFiltersApi.createUserTaskFilter(new UserTaskFilterRepresentation(
{appId: appId, name: newTaskFilterName, icon: iconName, filter: {sort: sortType, state: stateType, assignment: assignmentType}}));
} catch (error) {
Logger.error('Create Task Filter - Service error, Response: ', error);
}
}
async createUserTaskFilter(userTaskFilterRepresentation: UserTaskFilterRepresentation): Promise<any> {
try {
return this.userFiltersApi.createUserTaskFilter(userTaskFilterRepresentation);
} catch (error) {
Logger.error('Create Task Filter - Service error, Response: ', error);
}
}
async orderUserTaskFilters(filtersIdOrder: number[], appId?: number): Promise<any> {
try {
return this.apiService.getInstance().activiti.userFiltersApi.orderUserTaskFilters(new UserFilterOrderRepresentation({appId: appId, order: filtersIdOrder}));
return this.userFiltersApi.orderUserTaskFilters(new UserFilterOrderRepresentation({appId: appId, order: filtersIdOrder}));
} catch (error) {
Logger.error('Re-order the list of user task filters - Service error, Response: ', error);
}
@@ -46,7 +56,7 @@ export class UserFiltersUtil {
async getUserTaskFilters(appId?: number): Promise<any> {
try {
return this.apiService.getInstance().activiti.userFiltersApi.getUserTaskFilters({appId: appId});
return this.userFiltersApi.getUserTaskFilters({appId: appId});
} catch (error) {
Logger.error('List task filters - Service error, Response: ', error);
}
@@ -54,7 +64,7 @@ export class UserFiltersUtil {
async getUserProcessFilters(appId?: number): Promise<ResultListDataRepresentationUserProcessInstanceFilterRepresentation> {
try {
return this.apiService.getInstance().activiti.userFiltersApi.getUserProcessInstanceFilters({ appId: appId });
return this.userFiltersApi.getUserProcessInstanceFilters({ appId: appId });
} catch (error) {
Logger.error('List process filters - Service error, Response: ', error);
return new ResultListDataRepresentationUserProcessInstanceFilterRepresentation();
@@ -63,7 +73,7 @@ export class UserFiltersUtil {
async getUserTaskFilterByName(taskFilterName: string, appId?: number): Promise<any> {
try {
const taskFiltersList = this.apiService.getInstance().activiti.userFiltersApi.getUserTaskFilters({appId: appId});
const taskFiltersList = this.userFiltersApi.getUserTaskFilters({appId: appId});
const chosenTaskFilter = (await taskFiltersList).data.find( (taskFilter) => {
return taskFilter.name === taskFilterName;
});
@@ -75,7 +85,7 @@ export class UserFiltersUtil {
async deleteUserTaskFilter(filterId: number): Promise<any> {
try {
return this.apiService.getInstance().activiti.userFiltersApi.deleteUserTaskFilter(filterId);
return this.userFiltersApi.deleteUserTaskFilter(filterId);
} catch (error) {
Logger.error('Delete a task filter - Service error, Response: ', error);
}
@@ -83,7 +93,7 @@ export class UserFiltersUtil {
async updateUserTaskFilter(filterId: number, updatedTaskFilterName?: string, updatedSortType?: string, updatedStateType?: string, updatedAssignmentType?: string, updatedIconName?: string, appId?: number): Promise<any> {
try {
return this.apiService.getInstance().activiti.userFiltersApi.updateUserTaskFilter(filterId, new UserTaskFilterRepresentation(
return this.userFiltersApi.updateUserTaskFilter(filterId, new UserTaskFilterRepresentation(
{appId: appId, name: updatedTaskFilterName, icon: updatedIconName, filter: {sort: updatedSortType, state: updatedStateType, assignment: updatedAssignmentType}}));
} catch (error) {
Logger.error('Update a task filter - Service error, Response: ', error);