Deploy-gate-7

이지예·2026년 8월 7일

개발

목록 보기
18/58

ApprovalRequest와 승인 상태 관리

오늘은 실제 승인 요청이 어떻게 생성되고 상태가 변경되는지를 분석했다.

ApprovalRequest

승인 요청은 ApprovalRequest Entity로 관리된다.

주요 상태는 다음과 같다.

PENDING
APPROVED
REJECTED

처음 승인 요청을 생성하면 PENDING 상태가 된다.

POST /approval/request
        ↓
ApprovalRequest 생성
        ↓
PENDING

승인자가 필요한 승인 수를 모두 충족하면

PENDING
   ↓
APPROVED

가 된다.

거부하면

PENDING
   ↓
REJECTED

가 된다.

승인 개수

승인 레벨에 따라 필요한 승인 수가 달라진다.

SINGLE_APPROVER → 1명
DUAL_APPROVER   → 2명

이 값은 requiredApprovals로 승인 요청에 저장된다.

왜 상태가 필요한가?

단순히

boolean approved;

만으로 관리하면 현재 요청이

아직 승인되지 않은 것인지
거부된 것인지
승인이 완료된 것인지

구분하기 어렵다.

현재 프로젝트에서는 상태를 명시적으로 관리함으로써 승인 프로세스의 현재 위치를 표현한다.

오늘 배운 점

승인 시스템처럼 여러 단계가 존재하는 기능에서는 상태(State)를 데이터로 명확하게 모델링하는 것이 중요하다는 것을 배웠다.

또한 Entity의 상태 변화 메서드인

approve()
reject()

를 통해 상태 변경을 Entity의 행동으로 표현하고 있다는 점도 확인했다.

profile
github: @dlwldP

0개의 댓글