Skip to content

feat: 프로젝트 권한 시스템 (멤버만 접근, 권한 모듈 분리)#95

Open
kangsiwoo wants to merge 1 commit intomainfrom
feature/project-permissions
Open

feat: 프로젝트 권한 시스템 (멤버만 접근, 권한 모듈 분리)#95
kangsiwoo wants to merge 1 commit intomainfrom
feature/project-permissions

Conversation

@kangsiwoo
Copy link
Copy Markdown
Owner

Summary

  • 프로젝트 권한 모듈 분리 (app/auth/permissions.py) — check_project_access, check_project_owner, add_member, remove_member
  • 모든 프로젝트 관련 엔드포인트(REST + WebSocket)에 멤버십 검증 적용 — 비멤버는 READ 포함 접근 불가 (403)
  • GET /api/projects — 전체 목록이 아닌 내가 멤버인 프로젝트만 반환
  • DELETE /api/projects/{id} — owner만 삭제 가능
  • 멤버 관리 API 추가: POST/GET/DELETE /api/projects/{id}/members (owner만 초대/제거, 멤버 전원 목록 조회)
  • 기존 테스트 수정 + 권한 관련 테스트 추가 (102 passed)

Test plan

  • pytest tests/ -v 전체 통과 (102 passed)
  • 비멤버 유저가 프로젝트 GET/DELETE 시 403 반환 확인
  • owner가 아닌 멤버가 DELETE 시 403 반환 확인
  • list_projects가 내 프로젝트만 반환하는지 확인
  • WebSocket 연결 시 비멤버 차단 확인
  • 멤버 초대/제거/목록 API 동작 확인

🤖 Generated with Claude Code

- app/auth/permissions.py: check_project_access, check_project_owner, add_member, remove_member
- 모든 프로젝트 관련 엔드포인트에 멤버십 검증 적용 (REST + WebSocket)
- GET /api/projects: 내가 멤버인 프로젝트만 반환
- DELETE /api/projects/{id}: owner만 가능
- 멤버 관리 API 추가 (POST/GET/DELETE /api/projects/{id}/members)
- 기존 테스트 수정 + 권한 테스트 추가 (102 passed)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant