import { FormTypes } from '@features/configure-forms/form.typing'; import { AutomationAPI } from './automation.typing'; export namespace WorkflowLevelAutomationAPI { export interface ProgramDefaultWorkflowLevelModel { name: string; defaultWorkflowLevelName: string; } export interface WorkflowSequenceArgument { workflowId: number; formId: number; workflowName: string; formName: string; workflowLevelId?: number; workflowLevelName?: string; } export interface WorkflowLevelAutomationRuleSetModel { workflowLevelAutomationRuleSetId: number; sequence: number; name: string; description: string; workflowLevelName: string; workflowName: string; formName: string; formType: FormTypes; formId: number; workflowId: number; workflowLevelId: number; status: AutomationAPI.AutomationRuleSetStatus; applyRulesWithOr: boolean; numberOfActivePrograms: number; workflowLevelDisabled: boolean; isDisabledOrInActive: boolean; } export interface WorkflowLevelAutomationRuleSetDetailModel extends WorkflowLevelAutomationRuleSetModel { rules: AutomationAPI.AutomationRuleSetExpressionBaseModel[]; programs: ProgramDefaultWorkflowLevelModel[]; } export interface SaveWorkflowLevelAutomationRuleSet { description: string; workflowLevelAutomationRuleSetId: number; workflowId: number; workflowLevelId: 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; workflowLevelAutomationRuleSetId: number; workflowLevelAutomationRuleSetName: string; initialWorkflowLevelId: number; initialWorkflowLevelName: string; initialWorkflowLevelDate: Date | string; dateCreated: Date | string; formId: number; } }