외부/내부 시퀀스 설계 일관성 개선 및 표준화

주요 변경사항:

[Critical]
- API 엔드포인트 통일: POST /api/minutes/{minutesId}/finalize
- 이벤트 이름 표준화: MinutesFinalized

[Warning]
- API Gateway 라우팅 규칙 문서화 (외부 시퀀스 7개 파일)
- 대시보드 API 경로 통일: GET /api/dashboard
- AI 제안 병합 프로세스 상세 문서화
- 회의록 확정 검증 로직 5단계 상세화

[Minor]
- Redis 캐시 TTL 명시 (7개 파일, TTL 정책 표준화)
- 대시보드 페이지네이션 파라미터 추가
- 에러 응답 포맷 표준화 (14개 에러 응답)

총 31개 파일 수정, 34건의 개선 사항 적용

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ondal
2025-10-23 09:48:06 +09:00
parent f86973c93b
commit 715add4dbc
43 changed files with 505 additions and 156 deletions
@@ -49,12 +49,12 @@ alt 인증 성공
Service -> Repository: findByUsername(username)
activate Repository
Repository -> DB: SELECT * FROM users\nWHERE username = ?
Repository -> DB: 사용자 정보 조회\n(사용자명 기준)
alt 사용자 존재
DB --> Repository: user data
else 신규 사용자
Repository -> DB: INSERT INTO users\n(username, email, department)
Repository -> DB: 신규 사용자 등록\n(사용자명, 이메일, 부서)
DB --> Repository: user created
note right
LDAP 정보 동기화:
@@ -107,7 +107,7 @@ alt 인증 성공
Service -> Repository: updateLastLogin(userId)
activate Repository
Repository -> DB: UPDATE users\nSET last_login_at = NOW()
Repository -> DB: 최종 로그인 일시 업데이트\n(현재시각)
DB --> Repository: updated
Repository --> Service: updated
deactivate Repository
@@ -125,10 +125,10 @@ else 인증 실패
Service -> Repository: incrementFailedAttempts(username)
activate Repository
Repository -> DB: UPDATE users\nSET failed_attempts = failed_attempts + 1
Repository -> DB: 실패 횟수 증가\n(failed_attempts + 1)
alt 실패 횟수 초과 (5회)
Repository -> DB: UPDATE users\nSET locked_until = NOW() + INTERVAL '30 minutes'
Repository -> DB: 계정 잠금 설정\n(잠금시간=현재+30분)
note right
계정 잠금:
- 5회 실패 시
@@ -143,7 +143,19 @@ else 인증 실패
Service --> Controller: AuthenticationException
deactivate Service
Controller --> Gateway: 401 Unauthorized\n{error: "Invalid credentials"}
Controller --> Gateway: 401 Unauthorized
note right
에러 응답 형식:
{
"error": {
"code": "AUTHENTICATION_FAILED",
"message": "인증에 실패했습니다",
"details": "사용자명 또는 비밀번호가 올바르지 않습니다",
"timestamp": "2025-10-23T12:00:00Z",
"path": "/api/v1/auth/login"
}
}
end note
deactivate Controller
end