Skip to content

feat: 게스트용 영상 상세 조회 api 구현 - #179

Merged
young0206 merged 1 commit into
mainfrom
feat/178-guest-video-api
Aug 12, 2026
Merged

feat: 게스트용 영상 상세 조회 api 구현#179
young0206 merged 1 commit into
mainfrom
feat/178-guest-video-api

Conversation

@young0206

@young0206 young0206 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

🔗 관련 이슈 (Related Issue)

Closes #178

📝 작업 내용

  • 공유 링크를 통해 등록된 게스트용 영상 상세 조회 API를 추가했습니다.
  • 공유 링크의 존재 여부, 활성 상태 및 만료 여부를 검증했습니다.
  • 게스트 ID와 세션 토큰을 이용한 접근 권한 검증을 추가했습니다.
  • 기존 회원용 영상 상세 조회 로직을 재사용했습니다.
  • 게스트 전용 Response DTO를 통해 회원 전용 정보를 제외했습니다.
  • 게스트 조회 API를 SecurityConfig의 비인증 허용 경로에 등록했습니다.
  • 게스트 접근 성공 및 주요 실패 사례에 대한 테스트를 추가했습니다.
  • 기존 회원용 영상 상세 조회 동작은 유지했습니다.

✅ PR 체크리스트

  • PR 제목은 커밋 컨벤션을 따랐습니다.
  • 관련 이슈를 연결했습니다.
  • 변경 사항에 대한 테스트를 진행했습니다.

Summary by CodeRabbit

  • 새 기능

    • 공유 링크를 통해 게스트가 영상 및 프로젝트 정보를 읽기 전용으로 조회할 수 있습니다.
    • 유효한 게스트 인증 정보와 활성 공유 링크가 확인된 경우 영상 상세 정보가 제공됩니다.
    • 영상 제목, 설명, 썸네일, 재생 정보, 태그 및 생성·수정일을 확인할 수 있습니다.
  • 버그 수정

    • 만료되거나 권한이 없는 공유 링크 및 게스트의 접근을 차단합니다.

@young0206 young0206 self-assigned this Aug 12, 2026
@young0206 young0206 added the feature 새로운 기능 추가 label Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c0e8575d-6eaa-440f-91c7-80bd650d9e60

📥 Commits

Reviewing files that changed from the base of the PR and between 85a8799 and 100264d.

📒 Files selected for processing (6)
  • src/main/java/com/slatto/domain/sharelink/controller/ShareLinkController.java
  • src/main/java/com/slatto/domain/sharelink/service/ShareLinkService.java
  • src/main/java/com/slatto/domain/video/dto/response/VideoResponse.java
  • src/main/java/com/slatto/domain/video/service/VideoService.java
  • src/main/java/com/slatto/global/config/SecurityConfig.java
  • src/test/java/com/slatto/domain/sharelink/service/GuestVideoDetailServiceTest.java

📝 Walkthrough

Walkthrough

공유 링크를 통한 게스트 영상 상세 조회 API를 추가했습니다. 공유 링크 상태와 게스트 인증 정보를 검증합니다. 게스트 전용 DTO를 반환하며, 관련 경로는 인증 없이 접근할 수 있습니다. 서비스 테스트는 성공 및 접근 거부 조건을 검증합니다.

Changes

게스트 영상 상세 조회

Layer / File(s) Summary
게스트 영상 응답 계약
src/main/java/com/slatto/domain/video/dto/response/VideoResponse.java, src/main/java/com/slatto/domain/video/service/VideoService.java
게스트용 영상 상세 응답 DTO를 추가했습니다. 북마크 여부와 프로젝트 ID는 제외합니다. 영상 상세 응답 생성과 태그 조회를 분리했습니다.
공유 링크 및 게스트 접근 검증
src/main/java/com/slatto/domain/sharelink/service/ShareLinkService.java, src/test/java/com/slatto/domain/sharelink/service/GuestVideoDetailServiceTest.java
공유 링크의 존재 여부와 사용 가능 여부를 확인합니다. 게스트, 세션 토큰, 공유 링크 소속을 검증합니다. 성공 및 오류 조건을 테스트합니다.
게스트 영상 조회 API 연결
src/main/java/com/slatto/domain/sharelink/controller/ShareLinkController.java, src/main/java/com/slatto/global/config/SecurityConfig.java
GET /api/v1/share-links/{shareToken}/video 엔드포인트를 추가했습니다. X-Guest-IdX-Guest-Token 헤더를 사용합니다. 해당 경로를 permitAll() 대상으로 설정했습니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: chazy-d, kohseoyoung, sangwon02

Sequence Diagram(s)

sequenceDiagram
  participant GuestClient
  participant ShareLinkController
  participant ShareLinkService
  participant VideoService

  GuestClient->>ShareLinkController: GET /share-links/{shareToken}/video
  GuestClient->>ShareLinkController: X-Guest-Id, X-Guest-Token
  ShareLinkController->>ShareLinkService: 게스트 영상 조회 요청
  ShareLinkService->>ShareLinkService: 공유 링크와 게스트 인증 검증
  ShareLinkService->>VideoService: 게스트 영상 상세 조회
  VideoService-->>ShareLinkService: GuestVideoDetailResDTO
  ShareLinkService-->>ShareLinkController: 응답 반환
  ShareLinkController-->>GuestClient: 영상 및 프로젝트 정보 반환
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목은 게스트용 영상 상세 조회 API 구현이라는 주요 변경 사항을 명확하게 설명합니다.
Description check ✅ Passed 관련 이슈, 작업 내용, 체크리스트를 모두 포함하며 구현 내용과 테스트 범위를 구체적으로 설명합니다.
Linked Issues check ✅ Passed [이슈 #178] 게스트 API, 공유 링크 및 게스트 인증 검증, 게스트 전용 응답 DTO를 구현했습니다.
Out of Scope Changes check ✅ Passed 변경 사항은 게스트용 영상 상세 조회 기능과 관련 테스트 및 보안 설정 범위에 포함됩니다.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch

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.

@young0206
young0206 merged commit 54f7e81 into main Aug 12, 2026
2 checks passed
@young0206
young0206 deleted the feat/178-guest-video-api branch August 12, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FEAT: 게스트용 영상 상세 조회 api 구현

2 participants