hgzero/design/backend/sequence/outer/회의록공유.puml
kimjh abb2f8c280 PlantUML 문법 오류 수정 (외부 시퀀스 설계)
- 7개 외부 시퀀스 설계서 PlantUML 문법 오류 수정 완료

**주요 수정 사항**:
1. 비동기 화살표 수정
   - `->>` → `->` (동기 메시지)
   - `-->>` → `-->` (응답 메시지)

2. 캐시 호출 화살표 수정
   - `-.->` → `-->` (응답 화살표)

3. note 블록 수정
   - 단일 라인 `note right:` → 블록 형태로 변경

4. activate/deactivate 최적화
   - 비동기 이벤트 처리에서 불필요한 activate/deactivate 제거

**수정된 파일**:
- Todo완료및회의록반영.puml
- 대시보드조회.puml
- 회의록공유.puml
- 회의록상세조회및수정.puml
- 회의시작및실시간회의록작성.puml
- 회의예약및참석자초대.puml
- 회의종료및최종확정.puml

**검증 결과**:
 모든 화살표가 PlantUML 표준 문법 준수 (`->`, `-->`)
 잘못된 화살표 문법 모두 제거 (`->>`, `-->>`, `-.->`)
 activate/deactivate 쌍 정상 매칭
 PlantUML 렌더링 오류 해결

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 15:09:18 +09:00

64 lines
2.1 KiB
Plaintext

@startuml
!theme mono
title 회의록공유 플로우 (UFR-MEET-060)
actor "회의록 작성자" as User
participant "Web App" as Web
participant "API Gateway" as Gateway
participant "Meeting Service" as Meeting
participant "Redis Cache" as Redis
participant "Azure Event Hubs" as EventHub
participant "Notification Service" as Notification
== 회의록 공유 설정 ==
User -> Web: 공유 버튼 클릭
activate Web
Web -> Web: 공유 대상 및 권한 설정 입력\n(읽기 전용/댓글 가능/편집 가능)
Web -> Gateway: POST /api/meetings/{meetingId}/share\n(공유 설정 정보)
activate Gateway
Gateway -> Gateway: JWT 토큰 검증
Gateway -> Meeting: 회의록 공유 요청
activate Meeting
== 공유 링크 생성 ==
Meeting -> Meeting: 공유 링크 생성\n(고유 URL, 권한, 유효기간)
Meeting -> Meeting: 공유 정보 DB 저장\n(공유 시간, 대상, 권한)
== Redis 캐시 무효화 ==
Meeting -> Redis: 회의 정보 캐시 무효화\n(meeting:info:{meetingId})
activate Redis
Redis --> Meeting: 캐시 삭제 완료
deactivate Redis
== 이벤트 발행 ==
Meeting -> EventHub: TranscriptShared 이벤트 발행\n(meetingId, 참석자 목록, 공유 URL)
activate EventHub
EventHub --> Meeting: 이벤트 발행 성공
deactivate EventHub
Meeting --> Gateway: 공유 링크 생성 성공\n(공유 URL)
deactivate Meeting
Gateway --> Web: 공유 링크 반환
deactivate Gateway
Web --> User: 공유 링크 표시
deactivate Web
== 알림 발송 ==
EventHub -> Notification: TranscriptShared 이벤트 구독
activate Notification
Notification -> Notification: 이메일 템플릿 생성\n(회의 제목, 공유 URL, 권한 정보)
Notification -> Notification: 참석자 전원에게\n이메일 발송
Notification --> EventHub: 알림 발송 완료
deactivate Notification
== 다음 회의 일정 자동 등록 (옵션) ==
note over Meeting
다음 회의 일정이 회의록에
언급된 경우에만 수행
end note
Meeting -> Meeting: 회의록 내용 분석\n(다음 회의 일정 추출)
Meeting -> Meeting: 캘린더 자동 등록\n(회의 제목, 날짜, 참석자)
@enduml