import { FormTypes } from '@features/configure-forms/form.typing'; import { AutomationAPI } from './automation.typing'; import { WorkflowLevelAutomationAPI } from './workflow-level-automation.typing'; export namespace WorkflowLevelAdvancementAPI { export interface WorkflowSequenceArgument { workflowId: number; formId: number; workflowName: string; formName: string; } export interface WorkflowLevelRoutingAutomationRuleSetModel { workflowLevelRoutingAutomationRuleSetId: number; sequence: number; workflowLevelName: string; workflowName: string; routeToWorkflowLevelName: string; workflowId: number; workflowLevelId: number; routeToWorkflowLevelId: number; formName: string; applyRulesWithOr: boolean; name: string; description: string; formType: FormTypes; formId: number; status: AutomationAPI.AutomationRuleSetStatus; workflowLevelToRouteToDisabled: boolean; isDisabledOrInActive: boolean; } export interface WorkflowLevelRoutingAutomationRuleSetDetailModel extends WorkflowLevelRoutingAutomationRuleSetModel { rules: AutomationAPI.AutomationRuleSetExpressionBaseModel[]; programs: WorkflowLevelAutomationAPI.ProgramDefaultWorkflowLevelModel[]; } export interface SaveWorkflowLevelRoutingAutomationRuleSet { workflowLevelRoutingAutomationRuleSetId: number; description: string; workflowId: number; workflowLevelId: number; routeToWorkflowLevelId: number; name: string; /**If true, the list of rule expressions will be applied with ORs in between each */ applyRulesWithOr: boolean; formId: number; /**The list of rules that make up this set */ rules: AutomationAPI.SaveAutomationRuleSetExpressionModel[]; } export interface WorkflowFormDisplay { id: number; currentRevisionId: number; name: string; description: string; formType: FormTypes; } export interface AddressInfo { address: string; address2: string; city: string; state: string; country: string; postalCode: string; } export interface WorkflowLevelAutomationApplication { isMasked: boolean; canViewMaskedApplicantInfo: boolean; applicationId: number; applicantId: number; applicantFirstName: string; applicantLastName: string; applicantFullName: string; applicantEmail: string; applicantPhoneNumber: string; applicantProfileImageUrl: string; organizationId: number | null; nonprofitGuid: string | null; organizationName: string; organizationIdentification: string; organizationImageUrl: string; organizationAddressInfo: AddressInfo; programId: number; programName: string; submittedDate: Date | string | null; applicationStatus: number | null; isApplicationArchived: boolean; workflowId: number; workflowName: string; currentWorkflowLevelId: number; currentWorkflowLevelName: string; workflowLevelRoutingAutomationRuleSetId: number; workflowLevelRoutingAutomationRuleSetName: string; fromWorkflowLevelId: number; fromWorkflowLevelName: string; routeToWorkflowLevelId: number; routeToWorkflowLevelName: string; dateCreated: Date | string; workflowLevelDate: string; formId: number; } }