/** * 결재 워크플로우 모듈 Export * * Saga 패턴을 사용한 결재 프로세스 관리 * * 사용 방법: * 1. registerActionHandler()로 액션 핸들러 등록 (instrumentation.ts에서 초기화) * 2. ApprovalSubmissionSaga로 결재 상신 * 3. 폴링 서비스가 자동으로 상태 확인 및 ApprovalExecutionSaga 실행 * * 주요 Saga 클래스: * - ApprovalSubmissionSaga: 결재 상신 프로세스 (7단계) * - ApprovalExecutionSaga: 결재 승인 후 액션 실행 (7단계) * - ApprovalRejectionSaga: 결재 반려 처리 (4단계) */ // 핸들러 레지스트리 export { registerActionHandler, getRegisteredHandlers, type ActionHandler, } from './approval-workflow'; // Saga 클래스들 (주요 API) export { ApprovalSubmissionSaga, ApprovalExecutionSaga, ApprovalRejectionSaga, } from './approval-saga'; // 폴링 서비스 export { startApprovalPollingScheduler, checkPendingApprovals, checkSingleApprovalStatus, } from './approval-polling-service'; // 템플릿 유틸리티 export { getApprovalTemplateByName, replaceTemplateVariables, htmlTableConverter, htmlListConverter, htmlDescriptionList, } from './template-utils'; // 타입 정의 export type { TemplateVariables, ApprovalConfig, ApprovalResult } from './types'; // 캐시 관리 export { revalidateApprovalCache, revalidateApprovalLogs, revalidatePendingActions, revalidateAllApprovalCaches, revalidateApprovalDetail, } from './cache-utils'; // ⚠️ 주의: 클라이언트 컴포넌트는 '@/lib/approval/client'에서 import 하세요 // export { ApprovalPreviewDialog } from './approval-preview-dialog'; // 제거됨