본문으로 건너뛰기

Share Link 접근 플로우

문서 정보

  • 작성일: 2026-02-23
  • 최종 업데이트: 2026-02-23
  • 버전: v1.0.0

TL;DR

LEVEL_1은 비밀번호만으로 즉시 접근, LEVEL_2는 비밀번호 + 오너 승인이 필요합니다. 거절된 사용자도 재접근 시 현재 보안 레벨에 따라 자동 분기 처리됩니다.


목차

  1. 핵심 개념
  2. 신규 사용자 접근 플로우
  3. 거절된 사용자의 재접근
  4. 보안 레벨 변경 시 영향
  5. 전체 케이스 매트릭스
  6. 상태 전이 다이어그램
  7. 재접근 경로
  8. FAQ

핵심 개념

보안 레벨

레벨인증 방식접근 결과
LEVEL_1비밀번호만즉시 ACCESSIBLE
LEVEL_2비밀번호 + 오너 승인REQUESTED → 오너가 승인/거절

데이터 모델 관계

상태값 정의

UserSchedule.accessStatus

상태의미
ACCESSIBLE접근 가능 (영상 시청, 패스 선택 가능)
REQUESTED승인 대기 중 (LEVEL_2 전용)
REJECTED거절됨 (재접근 가능)

ShareRequest.requestStatus

상태의미
PENDING오너 응답 대기 중
APPROVED승인됨
REJECTED거절됨

신규 사용자 접근 플로우

기존에 UserSchedule이 없는 사용자가 공유 링크에 접근하는 플로우입니다.


거절된 사용자의 재접근

거절된 사용자가 다시 접근하는 경로는 2가지입니다.

accessShareLinkreRequestShareLink
진입공유 링크 URL 직접 접속앱 내 재신청 버튼
비밀번호필수필수
커스텀 메시지불가 (기본 메시지)가능
LEVEL_1 결과ACCESSIBLEACCESSIBLE
LEVEL_2 결과REQUESTEDREQUESTED

상세 플로우:


보안 레벨 변경 시 영향

오너가 보안 레벨을 변경할 때의 영향과 제약을 정리합니다.

LEVEL_2 → LEVEL_1 다운그레이드

제약 조건: PENDING 요청이 있으면 다운그레이드 불가

  • ShareLink의 accessLevel만 변경됩니다
  • 기존 사용자의 UserSchedule/ShareRequest 상태는 변경되지 않습니다
  • 거절된 사용자가 재접근하면 현재 레벨(LEVEL_1)에 따라 즉시 접근 허용됩니다

LEVEL_1 → LEVEL_2 업그레이드

  • 기존 ACCESSIBLE 사용자는 영향 없음 (접근 유지)
  • 이후 신규 접근자만 LEVEL_2 플로우를 거칩니다

전체 케이스 매트릭스

사용자가 accessShareLink를 호출했을 때의 모든 케이스입니다.

케이스 트리

사용자 접근 요청 (accessShareLink)

│ 기존 상태?

├── 신규 (UserSchedule 없음)
│ ├── LEVEL_1 → 즉시 ACCESSIBLE ··················· Case 1
│ └── LEVEL_2 → REQUESTED (승인 대기) ············· Case 2

├── ACCESSIBLE → 기존 UserSchedule 반환 ·············· Case 3

├── REQUESTED → "승인 대기 중" 에러 (차단) ·········· Case 4

└── REJECTED → 비밀번호 재입력

│ 현재 레벨?

├── LEVEL_2 (변경 없음) → 재신청 REQUESTED ······ Case 5
├── LEVEL_1 (2→1 변경) → 자동 승인 ACCESSIBLE ·· Case 6
└── LEVEL_2 (2→1→2) → 재신청 REQUESTED ······ Case 7

케이스 상세

각 케이스의 상세 시퀀스 다이어그램은 링크를 참고하세요.

#기존 상태레벨 변경현재 레벨결과상세
1없음 (신규)-LEVEL_1ACCESSIBLE상세 플로우
2없음 (신규)-LEVEL_2REQUESTED상세 플로우
3ACCESSIBLE무관무관ACCESSIBLE상세 플로우
4REQUESTED무관무관차단상세 플로우
5REJECTED변경 없음LEVEL_2REQUESTED상세 플로우
6REJECTED2→1 다운그레이드LEVEL_1ACCESSIBLE상세 플로우
7REJECTED2→1→2 재변경LEVEL_2REQUESTED상세 플로우
Case 5, 6, 7의 공통점

모두 기존 REJECTED 상태에서의 재접근입니다. 현재 ShareLink의 accessLevel에 따라 자동 분기됩니다.

  • LEVEL_1 → 즉시 ACCESSIBLE (자동 승인)
  • LEVEL_2 → REQUESTED (승인 대기)

발생 불가 케이스

조합불가 이유
REQUESTED + LEVEL_1 (다운그레이드)updateShareLink에서 PENDING 요청이 있으면 다운그레이드를 차단합니다. 오너는 모든 PENDING 요청을 처리한 후에만 레벨을 변경할 수 있습니다.

상태 전이 다이어그램

UserSchedule.accessStatus 전이

ShareRequest.requestStatus 전이


재접근 경로


FAQ

Q: 오너가 보안 레벨을 변경하면 기존 사용자에게 영향이 있나요?

기존 ACCESSIBLE 사용자에게는 영향이 없습니다. 변경된 레벨은 이후 신규 접근자 또는 재접근하는 사용자에게만 적용됩니다.

Q: 거절된 사용자가 재접근할 때 비밀번호가 바뀌었으면 어떻게 되나요?

변경된 비밀번호를 입력해야 합니다. 비밀번호 검증은 재접근 시에도 동일하게 수행됩니다.

Q: LEVEL_2에서 거절 후 LEVEL_1로 변경되면, 거절된 사용자는 어떻게 접근하나요?

공유 링크 URL로 직접 접속하여 비밀번호를 입력하면 즉시 ACCESSIBLE 상태가 됩니다. 앱 내 재신청 버튼을 통해서도 동일하게 즉시 접근됩니다.

Q: 재접근 횟수에 제한이 있나요?

현재 횟수 제한은 없습니다. ShareRequest의 requestCount로 재요청 횟수를 추적하고 있으며, 추후 정책에 따라 제한을 추가할 수 있습니다.


관련 문서


변경 이력

버전날짜변경 내용
v1.0.02026-02-23초기 문서 작성
- Share Link 접근 플로우 정의
- 전체 케이스 매트릭스 정리
- 상태 전이 다이어그램 작성
- 보안 레벨 변경 시나리오 문서화
- 재접근 경로(accessShareLink / reRequestShareLink) 비교