T-002.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # 서브계정 및 권한 관리 기능 개발
  2. **Task ID:** T-002
  3. **Status:** BACKLOG
  4. **Importance:** MUST
  5. **Complexity:** 6/10
  6. **Urgency:** 7/10
  7. **Dependencies:** T-001
  8. ## Description
  9. # 설명
  10. 벤더사 마스터 계정 아래 팀원용 서브계정을 생성·초대·삭제하고 업무별 읽기/쓰기/관리자 권한을 설정해 UI와 API 접근을 제어합니다.
  11. ## 구현 상세
  12. 1. DB 설계 및 Migration(CI4)
  13. - `sub_accounts`, `sub_account_invites`, `sub_account_roles` 테이블 추가
  14. - 외래키, 인덱스 구성 및 Redis 캐시 전략 설계
  15. 2. Backend API(CI4)
  16. - SubAccountController에 CRUD, 초대 발송, 초대 수락/거절 메서드 구현
  17. - RoleController로 역할 생성/조회/수정/삭제 기능 구현
  18. - 미들웨어에서 권한 체크 로직 추가 (JWT 기반, role_permissions 활용)
  19. 3. BFF (Node.js)
  20. - 프론트엔드 전용 엔드포인트 정의 및 Node-level 권한 유효성 검사 추가
  21. 4. Frontend(Nuxt3 + Vuetify)
  22. - 서브계정 관리 UI 페이지 및 모달 컴포넌트 개발(excelUpload, confirmDialog 활용)
  23. - 초대 이메일 발송 로직, 역할별 UI 컴포넌트 활성화/비활성화 구현
  24. - Pinia store로 서브계정 상태 관리, middleware/auth.global.js에 권한 분기 추가
  25. 5. 알림 연동(WebSocket)
  26. - Socket.IO로 초대·역할 변경 알림 실시간 수신 처리
  27. ## 테스트 전략
  28. - Backend 단위 테스트: API 엔드포인트 입출력, 권한 미들링 성공/실패 케이스 검증
  29. - Frontend 유닛 테스트: 컴포넌트 렌더링, 버튼 활성화/비활성화 로직 커버리지 80% 이상
  30. - E2E(Cypress): 서브계정 초대 이메일 링크 클릭, 계정 생성 후 UI 기능 접근 제어 검증
  31. ---
  32. **Created:** 2025-07-17T02:02:42.157Z
  33. **Updated:** 2025-07-17T02:02:42.157Z