[DW-1486] form versioning and cloud service enhancements (#5248)

* support form versions retrieval

* rework cloud services, reduce code duplication

* revert app config changes

* fix api spelling error

* support task form versioning

* turn TaskDetailsCloudModel into interface

* remove commented code

* fix test

* update tests

* remove useless provider declarations
This commit is contained in:
Denys Vuika
2019-11-14 14:04:21 +00:00
committed by Eugenio Romano
parent 1f768eb22f
commit 3644ba8b7c
40 changed files with 502 additions and 824 deletions

View File

@@ -15,98 +15,45 @@
* limitations under the License.
*/
export class TaskDetailsCloudModel {
id: string;
name: string;
appName: string;
assignee: string;
appVersion: string;
createdDate: Date;
claimedDate: Date;
completedDate: Date;
formKey: any;
category: any;
description: string;
dueDate: Date;
lastModified: Date;
lastModifiedTo: Date;
lastModifiedFrom: Date;
owner: any;
parentTaskId: number;
priority: number;
processDefinitionId: string;
processInstanceId: string;
status: TaskStatusEnum;
standalone: boolean;
candidateUsers: string[];
candidateGroups: string[];
managerOfCandidateGroup: boolean;
memberOfCandidateGroup: boolean;
memberOfCandidateUsers: boolean;
export interface TaskDetailsCloudModel {
id?: string;
name?: string;
appName?: string;
assignee?: string;
appVersion?: number;
createdDate?: Date;
claimedDate?: Date;
completedDate?: Date;
formKey?: any;
category?: any;
description?: string;
dueDate?: Date;
lastModified?: Date;
lastModifiedTo?: Date;
lastModifiedFrom?: Date;
owner?: any;
parentTaskId?: number;
priority?: number;
processDefinitionId?: string;
processInstanceId?: string;
status?: TaskStatus;
standalone?: boolean;
candidateUsers?: string[];
candidateGroups?: string[];
managerOfCandidateGroup?: boolean;
memberOfCandidateGroup?: boolean;
memberOfCandidateUsers?: boolean;
processDefinitionDeploymentId?: string;
constructor(obj?: any) {
if (obj) {
this.id = obj.id || null;
this.name = obj.name || null;
this.appName = obj.appName || null;
this.assignee = obj.assignee || null;
this.appVersion = obj.appVersion || null;
this.createdDate = obj.createdDate || null;
this.claimedDate = obj.claimedDate || null;
this.completedDate = obj.completedDate || null;
this.formKey = obj.formKey || null;
this.description = obj.description || null;
this.dueDate = obj.dueDate || null;
this.lastModified = obj.lastModified || null;
this.lastModifiedTo = obj.lastModifiedTo || null;
this.lastModifiedFrom = obj.lastModifiedFrom || null;
this.owner = obj.owner || null;
this.parentTaskId = obj.parentTaskId || null;
this.priority = obj.priority || null;
this.processDefinitionId = obj.processDefinitionId || null;
this.processInstanceId = obj.processInstanceId || null;
this.status = obj.status || null;
this.standalone = obj.standalone || null;
this.candidateUsers = obj.candidateUsers || null;
this.candidateGroups = obj.candidateGroups || null;
this.managerOfCandidateGroup = obj.managerOfCandidateGroup || null;
this.memberOfCandidateGroup = obj.memberOfCandidateGroup || null;
this.memberOfCandidateUsers = obj.memberOfCandidateUsers || null;
}
}
isCompleted(): boolean {
return this.status === TaskStatusEnum.COMPLETED;
}
isCancelled(): boolean {
return this.status === TaskStatusEnum.CANCELLED;
}
isAssigned(): boolean {
return this.status === TaskStatusEnum.ASSIGNED;
}
canClaimTask(): boolean {
return this.status === TaskStatusEnum.CREATED;
}
canUnclaimTask(user: string): boolean {
return this.isAssigned() && this.assignee === user;
}
}
export interface StartTaskCloudResponseModel {
entry: TaskDetailsCloudModel;
}
export enum TaskStatusEnum {
COMPLETED= 'COMPLETED',
DELETED = 'DELETED',
CREATED = 'CREATED',
ASSIGNED = 'ASSIGNED',
SUSPENDED = 'SUSPENDED',
CANCELLED = 'CANCELLED'
}
export type TaskStatus = |
'COMPLETED' |
'DELETED' |
'CREATED' |
'ASSIGNED' |
'SUSPENDED' |
'CANCELLED';