import { IActivity } from './activities'; import { IChannel } from './channel'; import { IComponent } from './components'; import { ISalesdeskSettings } from './salesdesk'; import { IScope } from './scopes'; import { IGeneralStatus } from './status'; import { ITriggers } from './triggers'; export interface IWorkflow { id: string; name: string; language?: string; partnerId: string; customerId: string; workspaceId?: string; stepSequence: number; status: IGeneralStatus; channels: IChannel[]; config?: unknown; updatedAt: Date; createdAt: Date; publishedAt?: Date; /** * Value of hours that we gonna retain whatsapp session stored. * @minimum 12 * @TJS-type integer */ sessionTimeHrs: number; skipUserResponse?: boolean; AIMedia?: boolean; AIMediaImages?: boolean; salesdesk?: ISalesdeskSettings; draftVersionUid?: string | null; pilotVersionUid?: string | null; releaseVersionUid?: string | null; } export type IWorkflowCreatePayload = IWorkflow; export interface IWorkflowCreateRespose { workflowId: string; activityId?: string; stepId?: number; scopeComponentId?: number; } export interface IWorkflowUpdatePayload { id?: string; name?: string; language?: string; partnerId?: string; customerId?: string; workspaceId?: string; stepSequence?: number; channels?: IChannel[]; config?: unknown; sessionTimeHrs?: number; draftVersionUid?: string | null; pilotVersionUid?: string | null; releaseVersionUid?: string | null; } export type IWorkflowUpdateResponse = IWorkflow; export interface IWorkflowDeletePayload { workflowIds: string[]; } export interface IWorkflowDeleteResponse { workflow: IWorkflow[]; activities: IActivity[]; components: IComponent[]; triggers: ITriggers[]; scopes: IScope[]; }