[일괄다운로드 PR4] Controller + Routes 비동기 전환
ID: 479ab05f-ec18-41f7-a8d6-9af6789b005a
## 설명
handle_bulk_download를 비동기로 전환하고 상태 조회/파일 다운로드 엔드포인트 추가.
### Controller 변경 (workspaces/members_controller.rb)
- `handle_bulk_download`: BulkReportDownload.create! + Job enqueue + redirect with notice
- 중복 방지: 같은 workspace에 pending/processing 있으면 거부
- 새 액션 `bulk_download_status`: JSON (status, processed_count, member_count, download_url)
- 새 액션 `bulk_download_file`: Active Storage redirect (workspace 소속 + 요청자 확인)
### Routes 추가
```ruby
collection do
get :bulk_download_status
get :bulk_download_file
end
```
### TDD
- handle_bulk_download: 레코드 생성 + Job enqueue + redirect
- bulk_download_status: 각 status별 JSON 응답
- bulk_download_file: completed면 redirect, 아니면 404
- 인가: admin/leader만
### 참고 패턴
- `diagnoses#ai_analysis_status`: JSON 폴링 엔드포인트
## 의존성
PR1, PR2 완료 후
## 완료 기준
- [ ] 비동기 요청 → 폴링 → 다운로드 플로우 테스트 통과
- [ ] 중복 요청 거부 테스트 통과
- [ ] 인가 테스트 통과
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 진행 중 → 리뷰
2026년 03월 30일 01:39:52
-
팀팀리드 티켓 클레임 완료
2026년 03월 30일 01:34:45
-
팀팀리드 상태 변경: 할 일 → 백로그
2026년 03월 30일 00:48:06