Skip to content

fix:워크스페이스 목적별 모듈 접근 제한(#77)#78

Merged
seongjinss555 merged 2 commits into
developfrom
fix/#77/workspace-route-access
Jul 21, 2026
Merged

fix:워크스페이스 목적별 모듈 접근 제한(#77)#78
seongjinss555 merged 2 commits into
developfrom
fix/#77/workspace-route-access

Conversation

@seongjinss555

@seongjinss555 seongjinss555 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Pull Request

작업 내용

  • 워크스페이스 목적과 맞지 않는 전용 모듈 URL의 직접 접근을 서버에서 차단했습니다.
  • 목적 불일치 시 접근 불가 안내 화면을 표시하고 대시보드 복귀 경로를 제공합니다.
  • 서버 전용 Supabase 의존성이 클라이언트 번들로 전파되지 않도록 import 경계를 분리했습니다.

작업 결과

  • 사이드 프로젝트에서 /work-schedule을 직접 입력해도 근무표 조회나 초기 스케줄 생성 없이 접근 제한 화면으로 이동합니다.
  • 팀 프로젝트, 사이드 프로젝트, 매장 운영별 전용 모듈이 서버에서 검증됩니다.

변경 사항

Added

  • 목적별 전용 라우트 접근 가드
  • /workspaces/[workspaceId]/unavailable 접근 제한 안내 화면

Changed

  • 전용 모듈 라우트에서 데이터 조회 전에 워크스페이스 목적을 검증

Fixed

  • 메뉴에 없는 전용 모듈을 URL 직접 입력으로 접근할 수 있던 문제
  • 서버 전용 가드를 엔티티 배럴 export하면서 발생한 next/headers 클라이언트 번들 오류

실행화면

  • 사이드 프로젝트 워크스페이스에서 /work-schedule 직접 접근 시 접근 제한 화면 표시
스크린샷 2026-07-20 오후 5 42 53

테스트

  • 로컬 실행 확인
  • 주요 시나리오 확인
  • 영향 범위 확인
  • npm run lint
  • npm run typecheck

리뷰 체크리스트

  • PR base branch가 올바릅니다. (feature/* -> develop, 배포 시 develop 또는 release/* -> main)
  • 브랜치명이 Type/#issue-number/description 형식을 따릅니다.
  • 커밋 메시지가 컨벤션을 따릅니다.
  • 불필요한 console.log, 주석, 임시 코드를 제거했습니다.
  • 타입 에러와 린트 에러를 확인했습니다.
  • CodeRabbit 1차 리뷰를 확인했습니다.
  • CodeRabbit 리뷰 반영 후 Discord에 공유했습니다.
  • 최소 1명 이상의 approve 후 merge합니다.

리뷰 요청사항

  • 전용 모듈 허용 목적 매핑과 접근 제한 화면 전환 방식을 중점 검토 부탁드립니다.

관련 이슈

Closes #77

@vercel

vercel Bot commented Jul 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
syncly Ready Ready Preview, Comment Jul 20, 2026 8:44am

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@seongjinss555, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 5 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e0003d03-6d01-4ed7-a566-a08b4914cf0e

📥 Commits

Reviewing files that changed from the base of the PR and between c7fff64 and 479ae4d.

📒 Files selected for processing (12)
  • src/app/workspaces/[workspaceId]/meeting-notes/new/page.tsx
  • src/app/workspaces/[workspaceId]/meeting-notes/page.tsx
  • src/app/workspaces/[workspaceId]/notices/page.tsx
  • src/app/workspaces/[workspaceId]/progress-chart/page.tsx
  • src/app/workspaces/[workspaceId]/project-management/page.tsx
  • src/app/workspaces/[workspaceId]/sprint-board/page.tsx
  • src/app/workspaces/[workspaceId]/unavailable/page.tsx
  • src/app/workspaces/[workspaceId]/work-schedule/page.tsx
  • src/entities/workspace/lib/assert-workspace-route-access.ts
  • src/views/workspace-unavailable/index.ts
  • src/views/workspace-unavailable/ui/WorkspaceUnavailableView.tsx
  • src/widgets/workspace-shell/ui/WorkspaceHeader.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/#77/workspace-route-access

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Kwon812 Kwon812 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다~

@seongjinss555
seongjinss555 merged commit 9ccc1c8 into develop Jul 21, 2026
3 checks passed
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.

워크스페이스 목적별 전용 모듈 라우트 접근 제한

2 participants