@arcgis/workflow-manager
Version:
ArcGIS Workflow Manager JavaScript API
189 lines (188 loc) • 4.79 kB
TypeScript
import { FeatureServiceProperties } from './extendedPropertyDefinition';
import Geometry from '@arcgis/core/geometry/Geometry';
export declare enum AssignedType {
Unassigned = "Unassigned",
Group = "Group",
User = "User"
}
export interface Job {
jobId: string;
jobName?: string;
ownedBy?: string;
createdBy?: string;
notes?: string;
description?: string;
createdDate?: Date;
startDate?: Date;
startedDate?: Date;
dueDate?: Date;
endDate?: Date;
parentJob?: string;
percentComplete: number;
priority: string;
diagramId?: string;
diagramVersion?: number;
diagramName?: string;
closed: boolean;
currentSteps: CurrentStep[];
jobStatus: string;
jobTemplateId: string;
jobTemplateName: string;
activeVersions: JobVersion[];
holds?: JobHold[];
extendedProperties?: JobExtendedPropertyTable[];
relatedProperties?: JobRelatedPropertyTable[];
archived?: boolean;
}
export interface CurrentStep {
stepId?: string;
assignedTo?: string;
assignedType: AssignedType;
stepName?: string;
canSkip?: boolean;
manualHold?: boolean;
dependencies?: boolean;
holdScheduledRelease?: Date;
}
export interface JobExtendedProperty {
propertyName: string;
value?: any;
}
export interface JobExtendedPropertyTable {
tableName: string;
properties: Array<JobExtendedProperty>;
featureServiceProperties?: FeatureServiceProperties;
}
export interface JobRelatedPropertyEntry {
createdDate: Date;
id: string;
properties: Array<JobExtendedProperty>;
}
export interface JobRelatedPropertyTable {
entries: Array<JobRelatedPropertyEntry>;
featureServiceProperties?: FeatureServiceProperties;
tableName: string;
}
export interface JobRelatedPropertyUpdateEntry {
id?: string;
properties: Array<JobExtendedProperty>;
}
export interface JobRelatedPropertyUpdateTable {
entries: Array<JobRelatedPropertyUpdateEntry>;
featureServiceProperties?: FeatureServiceProperties;
tableName: string;
}
export interface JobRelatedPropertyDeleteFromTable {
tableName: string;
ids: string[];
}
export interface ExtendedProperty {
identifier: string;
value?: string;
}
export interface RelatedProperty {
propertyName: string;
value: string;
}
export interface RelatedPropertyEdits {
adds?: Array<JobRelatedPropertyUpdateTable>;
updates?: Array<JobRelatedPropertyUpdateTable>;
deletes?: Array<JobRelatedPropertyDeleteFromTable>;
}
interface JobOverrides {
jobName?: string;
startDate?: Date;
dueDate?: Date;
priority?: string;
description?: string;
ownedBy?: string;
percentComplete?: number;
notes?: string;
parentJob?: string;
extendedProperties?: Array<ExtendedProperty>;
}
export interface JobRequestOptions {
extProps?: boolean;
holds?: boolean;
}
export interface CreateJobOverrides extends JobOverrides {
numberOfJobs?: number;
assignedType?: AssignedType;
assignedTo?: string;
location?: Geometry;
relatedProperties?: Array<JobRelatedPropertyAdd>;
}
export interface JobRelatedPropertyAdd {
tableName: string;
entries: Array<JobRelatedPropertyAddEntry>;
}
export interface JobRelatedPropertyAddEntry {
properties: Array<RelatedProperty>;
}
export interface CreateJobsResponse {
jobIds: string[];
autoExecuted: boolean;
}
export interface UpdateJobOverrides extends JobOverrides {
jobStatus?: string;
relatedProperties?: RelatedPropertyEdits;
}
export interface JobVersion {
name: string;
url: string;
layerItemId: string;
versionId: string;
}
export interface JobAttachment {
id: string;
lastModifiedBy?: string;
lastModified?: Date;
alias?: string;
folder?: string;
url?: string;
}
export interface JobAttachmentDetails {
jobId: string;
attachmentId?: string;
attachment?: any;
alias?: string;
folder?: string;
url?: string;
stepId?: string;
}
export interface AddJobAttachmentResponse {
attachmentId: string;
alias: string;
url: string;
}
export interface JobComment {
jobId: string;
comment: string;
commentId: string;
lastModifiedBy: string;
lastModified: Date;
}
export interface JobHold {
jobId: string;
stepId: string;
holdId: string;
setBy: string;
setDate: Date;
scheduledRelease?: Date;
releasedBy?: string;
releasedDate?: Date;
dependentJobId?: string;
dependentStepId?: string;
}
export interface JobHoldDetails {
jobId: string;
stepIds: Array<string>;
scheduledRelease?: Date;
}
export interface JobDependencyDetails {
jobId: string;
stepIds: string[];
dependentJobId: string;
dependentStepId?: string;
}
export {};