@flowlab/all
Version:
A cool library focusing on handling various flows
15 lines (13 loc) • 769 B
text/typescript
import { WorkflowDefinitionData } from '../../types/config';
import { IWorkflowContext } from '../../types/runtime';
export interface IPersistence {
// Workflow Definition Persistence (Optional but useful)
saveDefinition(definition: WorkflowDefinitionData): Promise<void>;
loadDefinition(definitionId: string, version?: number): Promise<WorkflowDefinitionData | null>;
listDefinitions?(): Promise<WorkflowDefinitionData[]>; // Optional
// Workflow Instance State Persistence
saveState(context: IWorkflowContext): Promise<void>;
loadState(workflowId: string): Promise<IWorkflowContext | null>;
deleteState?(workflowId: string): Promise<void>; // Optional
// findStatesByStatus?(status: NodeStatus): Promise<IWorkflowContext[]>; // Optional querying
}