summaryrefslogtreecommitdiff
path: root/lib/approval/index.ts
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-05 19:56:29 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-05 19:56:29 +0900
commit551129656039aae409b3af51ce4acbb59f60229f (patch)
treee041f542cd46920086e84d0071c9e0a76c4b8699 /lib/approval/index.ts
parente890fbae0c9c273b825ac808aa516de1f87fb218 (diff)
(김준회) approval: Saga Pattern 클래스로 리팩터링, 명시적으로 개선, 기존 사용 함수 리팩터링
Diffstat (limited to 'lib/approval/index.ts')
-rw-r--r--lib/approval/index.ts28
1 files changed, 22 insertions, 6 deletions
diff --git a/lib/approval/index.ts b/lib/approval/index.ts
index 82abac9a..943ada81 100644
--- a/lib/approval/index.ts
+++ b/lib/approval/index.ts
@@ -1,27 +1,41 @@
/**
* 결재 워크플로우 모듈 Export
*
+ * Saga 패턴을 사용한 결재 프로세스 관리
+ *
* 사용 방법:
- * 1. registerActionHandler()로 액션 핸들러 등록
- * 2. withApproval()로 결재가 필요한 액션 래핑
- * 3. 폴링 서비스가 자동으로 상태 확인 및 실행
+ * 1. registerActionHandler()로 액션 핸들러 등록 (instrumentation.ts에서 초기화)
+ * 2. ApprovalSubmissionSaga로 결재 상신
+ * 3. 폴링 서비스가 자동으로 상태 확인 및 ApprovalExecutionSaga 실행
+ *
+ * 주요 Saga 클래스:
+ * - ApprovalSubmissionSaga: 결재 상신 프로세스 (7단계)
+ * - ApprovalExecutionSaga: 결재 승인 후 액션 실행 (7단계)
+ * - ApprovalRejectionSaga: 결재 반려 처리 (4단계)
*/
+// 핸들러 레지스트리
export {
registerActionHandler,
getRegisteredHandlers,
- withApproval,
- executeApprovedAction,
- handleRejectedAction,
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,
@@ -30,8 +44,10 @@ export {
htmlDescriptionList,
} from './template-utils';
+// 타입 정의
export type { TemplateVariables, ApprovalConfig, ApprovalResult } from './types';
+// 캐시 관리
export {
revalidateApprovalCache,
revalidateApprovalLogs,