@arcgis/workflow-manager
Version:
ArcGIS Workflow Manager JavaScript API
292 lines (291 loc) • 8.45 kB
TypeScript
import { AssignedType, CurrentStep, JobAttachment } from '../job';
import { ExtendedPropertyDomainType, ExtendedPropertyTableRelationshipType, PortalType } from '../extendedPropertyDefinition';
import { AssignmentMethod, CommentEnabledStep, GeometryType, MethodType, StepMode, SurveyMode, SurveyRecordType } from '../shared';
import { SpatialAssignmentOptions, UserDefinedAssignmentOptions } from '../steps/advancedAssignment';
export type AbstractNotificationMessage = NotificationMessage | ItemNotificationMessage;
export interface NotificationMessage {
msgType: string;
message: MessageDetails;
timestamp?: number;
token?: string;
}
export interface ItemNotificationMessage {
msgType: string;
message: MessageDetailsWithItemId;
timestamp?: number;
token?: string;
}
export interface MessageDetails {
jobId: string;
}
export interface HeldStepMessageDetails extends MessageDetails {
scheduledRelease?: Date;
dependency?: boolean;
setBy?: string;
}
export interface JobUpdatedMessageDetails extends MessageDetails {
properties: JobUpdatedPropertyDetails;
}
export interface JobUpdatedPropertyDetails {
jobProperties?: UpdatedPropertyDetails[];
extendedProperties?: UpdatedExtendedPropertyDetails[];
relatedProperties?: any[];
}
export interface UpdatedPropertyDetails {
propertyName: string;
value: string;
}
export interface UpdatedExtendedPropertyDetails {
tableName: string;
properties: UpdatedPropertyDetails[];
}
export interface JobAttachmentUpdatedMessageDetails extends MessageDetails {
adds?: JobAttachment[];
updates?: JobAttachment[];
deletes?: string[];
}
export interface JobCommentMessage {
jobId: string;
comment: string;
commentId: string;
lastModifiedBy: string;
lastModified: Date;
}
export interface JobCommentUpdatedMessageDetails extends MessageDetails {
adds?: JobCommentMessage[];
updates?: JobCommentMessage[];
deletes?: string[];
}
export interface MultiStepId extends MessageDetails {
stepIds: string[];
}
export interface StepInfo extends MultiStepId {
jobStatus?: string;
currentSteps?: CurrentStep[];
}
export interface StepStartedInfo extends StepInfo {
autoRun?: boolean;
}
export declare enum AllowedActions {
None = 0,
Cancel = 1,
Pause = 2,
Finish = 4,
Refresh = 8
}
export interface ProgressInfo extends MultiStepId {
msgCode: string;
msg: string;
allowedActions: AllowedActions;
}
export interface StepMessageInfo extends MessageDetails {
stepId: string;
msgCode: string;
msg: string;
proceed: boolean;
}
export interface MessageInfo extends MultiStepId {
msgCode: string;
msg: string;
}
export interface JobStateStep {
stepId: string;
assignedTo: string;
assignedType: AssignedType;
stepName: string;
canSkip: boolean;
message?: NotificationMessage;
}
export interface StepReassignedMessage extends MessageDetails {
stepId: string;
assignedType: AssignedType;
assignedTo?: string;
}
export interface JobStateMessage extends MessageDetails {
jobStatus: string;
percentComplete: number;
jobTemplateName: string;
diagramId: string;
diagramVersion: number;
stepStates: JobStateStep[];
closed: boolean;
}
export interface StepInfoRequiredMessage extends MessageDetails {
stepId: string;
msgCode: string;
msg: string;
allowedActions: AllowedActions;
helpText?: string;
helpLink?: string;
}
export interface OpenAppStepInfoRequiredMessage extends StepInfoRequiredMessage {
appUrl: string;
openInNewBrowser: boolean;
}
export interface DefineLocationStepInfoRequiredMessage extends StepInfoRequiredMessage {
geometryType: GeometryType;
prompt: string;
webMapUrl: string;
methodType: MethodType;
zoomToSearchText?: string;
}
export interface QuestionStepInfoRequiredMessage extends StepInfoRequiredMessage, CommentEnabledStep {
question: string;
questionResponses: QuestionMessageResponse[];
}
export interface JobPropertiesStepInfoRequiredMessage extends StepInfoRequiredMessage, CommentEnabledStep {
jobTemplateId: string;
prompt: string;
properties: JobPropertyDetails[];
stepMode?: StepMode;
}
export interface ExecuteGPStepInfoRequiredMessage extends StepInfoRequiredMessage {
jobTemplateId: string;
prompt: string;
visibleParameters: JobPropertyDetails[];
properties: JobPropertyDetails[];
}
export interface ManualStepInfoRequiredMessage extends StepInfoRequiredMessage, CommentEnabledStep {
userPrompt?: string;
}
export interface Survey123StepInfoRequiredMessage extends StepInfoRequiredMessage {
surveyId: string;
name: string;
portalType: PortalType;
portalUrl?: string;
surveyMode: SurveyMode;
surveyRecordType: SurveyRecordType;
relationshipType: ExtendedPropertyTableRelationshipType;
isExpandedView: boolean;
globalId: string;
}
export declare enum AttachmentLinkType {
FILE = "File",
TEXT = "Text",
URL = "Url"
}
export interface AttachmentDetails {
alias?: string;
attachmentId: string;
lastModified?: Date;
uri?: string;
}
export interface AttachmentStepInfoRequiredMessage extends StepInfoRequiredMessage {
userPrompt: string;
folder: string;
acceptEmbedded: boolean;
acceptLinked: boolean;
acceptedFileTypes?: string;
acceptedLinkType?: AttachmentLinkType;
viewExisting: boolean;
editExisting: boolean;
attachments: AttachmentDetails[];
}
export interface AdvancedAssignmentResponse {
username: string;
comment?: string;
}
export interface AdvancedAssignmentStepInfo extends BaseStepInfo {
assignmentResponse: string;
comment?: string;
}
export interface AdvancedAssignmentStepInfoRequiredMessage extends StepInfoRequiredMessage, CommentEnabledStep {
userPrompt: string;
assignmentMethod: AssignmentMethod;
userDefinedAssignmentOptions?: UserDefinedAssignmentOptions;
spatialData?: SpatialAssignmentOptions;
}
export declare enum DataType {
String = "String",
Integer = "Integer",
Double = "Double",
Boolean = "Boolean",
DateTime = "DateTime",
Unknown = "Unknown"
}
export interface PropertyDetails {
identifier: string;
alias: string;
required: boolean;
value: string;
dataType: DataType;
order: number;
fieldLength?: number;
editable: boolean;
}
export interface JobPropertyDetails extends PropertyDetails {
domainType?: ExtendedPropertyDomainType;
uniqueId?: string;
}
export interface PropertyResponse {
identifier: string;
value: string;
uniqueId?: string;
}
export interface QuestionMessageResponse {
name: string;
value: number;
}
export interface QuestionResponse {
value: number;
comment?: string;
}
export interface BaseStepInfo {
jobId: string;
stepId: string;
}
export interface SurveyResponse {
surveyId: string;
portalUrl?: string;
portalType: PortalType;
surveyMode: SurveyMode;
surveyRecordType: SurveyRecordType;
globalId: string;
success: boolean;
}
export interface SurveyStepInfo extends BaseStepInfo {
surveyResponse: SurveyResponse;
}
export interface QuestionStepInfo extends BaseStepInfo {
questionResponse: number;
}
export interface OpenAppStepInfo extends BaseStepInfo {
openAppResponse: boolean;
url: string;
}
export interface PropertyStepResponse {
propertyResponses: PropertyResponse[];
comment?: string;
}
export interface PropertyStepInfo extends BaseStepInfo {
propertyResponses: PropertyResponse[];
comment?: string;
}
export declare enum SubscriptionType {
Subscribe = "subscribe",
Unsubscribe = "unsubscribe"
}
export declare enum MessageType {
StepInfoRequiredError = "StepInfoRequiredError"
}
export interface SubscribeMessage {
msgType: SubscriptionType;
jobIds: string[];
}
export interface MessageDetailsWithItemId {
itemId: string;
}
export interface ExportCompletedMessageDetails extends MessageDetailsWithItemId {
exportId: string;
}
export interface ExportFailedMessageDetails extends MessageDetailsWithItemId {
exportId: string;
msg: string;
msgCode: string;
}
export interface ImportCompletedMessageDetails extends MessageDetailsWithItemId {
}
export interface ImportFailedMessageDetails extends MessageDetailsWithItemId {
msg: string;
msgCode: string;
}