1.2 KiB
1.2 KiB
adapters
목적 / 책임
Plane, Mattermost 등 외부 서비스와의 통합 경계를 담당한다. 현재는 stub 단계다.
포함 경로
internal/adapters/— 외부 시스템별 client/stub
제외 경로
internal/workflow/— task 업무 흐름internal/notification/— 내부 알림 서비스internal/http/— 외부 API가 아닌 서버 API
주요 구성 요소
plane.Client— Plane issue/comment/status 연동 stubmattermost.Client— Mattermost message/task notification 연동 stub
유지할 패턴
- 외부 서비스별 config와 client를 하위 패키지에 격리한다.
- 실제 API 호출을 추가할 때 context, timeout, 인증 실패, 재시도 정책을 명시적으로 다룬다.
다른 도메인과의 경계
- workflow: 외부 시스템 세부사항을 workflow 모델에 직접 섞지 않는다.
- scheduler/notification: 알림 발생 시점은 scheduler/notification에서 결정하고, 전송 구현은 adapters가 맡는다.
금지 사항
- token, URL 같은 민감 설정을 코드에 하드코딩하지 않는다.
- stub에서 실제 API 호출로 전환할 때 조용히 에러를 무시하지 않는다.