Skip to content

[Networking] 알림 설정 조회 API 연동 #201

@JustDinn

Description

@JustDinn

📋 설명

  • 알림 설정 조회 API 연동

✅ 체크리스트

  • 현재 저장된 알림 설정 get 요청
  • 좋아요 알림 설정 on/off API 연동

구현 계획: 좋아요 알림 스위치 기능 추가 │
│ │
│ UI 업데이트 전략: 낙관적 UI 업데이트 │
│ │
│ - 스위치 토글 시 즉시 UI 업데이트 │
│ - API 실패 시 롤백 + 토스트 메시지 표시 │
│ - 이유: 즉각적인 사용자 경험 제공, 업계 표준 패턴, 설정 변경은 실패율이 낮음 │
│ │
│ 1. LikedMenuViewModel.swift 수정 │
│ │
│ Input 추가: │
│ - toggleNotifySetting: Observable - 스위치 토글 이벤트 │
│ │
│ Output 추가: │
│ - initialNotifyState: Observable - 초기 알림 설정 상태 (스위치 초기화용) │
│ - notifySettingRollback: Observable - 실패 시 롤백할 상태 │
│ │
│ 로직 구현: │
│ - toggleNotifySetting 이벤트 발생 시 SettingAPI.patchNotifySetting 호출 │
│ - 성공: 아무것도 하지 않음 (UI는 이미 업데이트됨) │
│ - 실패: 이전 상태를 notifySettingRollback으로 방출 + 에러 메시지 │
│ │
│ 2. LikedMenuViewController.swift 수정 │
│ │
│ Relay 추가: │
│ - toggleNotifySettingTrigger = PublishRelay() │
│ │
│ 바인딩: │
│ - likeNotifySwitch.rx.isOn 변경 → toggleNotifySettingTrigger로 전달 │
│ - output.initialNotifyState → 스위치 초기 상태 설정 │
│ - output.notifySettingRollback → 스위치 롤백 + 토스트 메시지 표시 │
│ │
│ 3. 초기 상태 처리 │
│ │
│ - 현재 fetch API 없음 → 일단 기본값(false) 사용 │
│ - TODO 주석 추가: "TODO: 알림 설정 조회 API 추가 필요" │
│ │
│ 플로우: │
│ │
│ 1. 사용자가 스위치 토글 │
│ 2. 스위치 UI 즉시 변경 (낙관적 업데이트) │
│ 3. ViewModel에 새 상태 전달 │
│ 4. SettingAPI.patchNotifySetting 호출 │
│ 5. 성공 → 완료 / 실패 → 롤백 + "알림 설정을 변경할 수 없습니다" 토스트

Metadata

Metadata

Assignees

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions