Skip to content

[Bug] 활성 공유 목록이 만료된 공유를 포함함 #162

Description

@redjungi09

버그 설명

GET /shares?status=ACTIVEstatus 컬럼만 필터하고 expires_at 을 보지 않는다. 만료된 공유가 "활성" 으로 조회된다.

도메인 모델에는 이미 status == ACTIVE && !isExpired(now) 판정이 있는데(src/main/java/com/heddy/domain/sharing/model/Share.java) 목록 조회 경로가 이를 쓰지 않는다. 공개 조회(GET /public/shares/{shareToken}) 는 만료를 검사하므로, 목록에는 살아있는 것처럼 보이지만 실제로 열면 실패하는 링크가 생긴다.

재현 방법

  1. 공유를 하나 만든다
  2. DB 에서 해당 행의 expires_at 을 과거 시각으로 바꾼다 (statusACTIVE 유지)
  3. GET /shares?status=ACTIVE 를 호출한다

예상 동작

만료된 공유는 status=ACTIVE 필터 결과에서 빠진다.

실제 동작

만료된 공유가 결과에 포함된다.

환경 정보

  • 브랜치: develop

로그 및 에러 메시지

없음

추가 정보

ShareStatusACTIVE / REVOKED 둘뿐이고 만료는 상태가 아니라 expires_at 비교로 판정하는 것이 설계 의도다. 따라서 만료 시 상태를 바꾸는 배치를 두는 대신, 조회 시점에 expires_at > now 조건을 함께 거는 방향으로 고친다.

응답의 status 필드는 저장된 값을 그대로 내려주므로 계약 변경은 없다. 필터 결과 집합만 좁아진다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions