Skip to content

release: 대상당 활성 공유 링크는 1개 - #170

Merged
redjungi09 merged 4 commits into
mainfrom
develop
Sep 3, 2026
Merged

release: 대상당 활성 공유 링크는 1개#170
redjungi09 merged 4 commits into
mainfrom
develop

Conversation

@redjungi09

Copy link
Copy Markdown
Collaborator

관련 이슈

변경 내용

  • 대상당 활성 공유 링크를 1 개로 제한 (refactor: 대상당 활성 공유 링크는 1개 #169)
  • shares.target_hash 추가 + UNIQUE (user_id, target_hash) WHERE status = 'ACTIVE' (V31)
  • 발급 시 같은 대상의 활성 링크를 먼저 폐기 — 만료된 ACTIVE 행도 포함

작업 목적

공유 버튼을 누를 때마다 새 링크가 생기고 이전 링크가 계속 살아 있어, 살아있는 공개 URL 수에
상한이 없었다. 공유를 다시 만드는 행위를 "이전 링크는 그만 쓰겠다" 로 정의해 링크 수를 대상
가짓수로 유계로 만든다.

테스트 방법

  • 단위 테스트 추가/수정
    • 통합 테스트 완료
    • 수동 테스트 완료

체크리스트

  • 코드가 프로젝트의 코딩 스타일을 따릅니다
    • 자체 코드 리뷰를 완료했습니다
    • 변경 사항에 대한 테스트를 추가했습니다
    • Breaking Changes가 없습니다

기타 사항

  • 배포 시 V31 이 기존 중복 링크를 폐기한다. 활성 링크 27 개 중 13 개가 닫히고 14 개가
    남는다. 폐기 대상은 전부 테스트 계정이 같은 대상으로 중복 생성한 링크이고, 외부 사용자
    계정의 링크는 영향받지 않는 것을 배포 전 확인했다.
  • 유효기간 상한이 없는 문제는 이 PR 의 범위가 아니다. 별도 이슈로 다룬다.

redjungi09 and others added 4 commits September 3, 2026 20:55
대상 구성은 조인 테이블 둘에 흩어져 있어 유니크 제약을 직접 걸 수 없다.
정렬된 식별자 목록의 해시를 비정규화해 shares 한 테이블에서 비교한다.
발급할 때마다 링크가 쌓여 살아있는 공개 URL 수에 상한이 없었다. 토큰 원문을
저장하지 않아 기존 링크의 URL 을 다시 내려줄 수 없으므로 재사용이 아니라 교체다.
…-target/#168

refactor: 대상당 활성 공유 링크는 1개
@redjungi09
redjungi09 merged commit 857139a into main Sep 3, 2026
2 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.

[Refactor] 같은 대상의 활성 공유 링크는 1개만 유지

1 participant