Skip to content

Feature/policy api#51

Merged
haeni82 merged 3 commits into
developfrom
feature/policy-api
Mar 16, 2026
Merged

Feature/policy api#51
haeni82 merged 3 commits into
developfrom
feature/policy-api

Conversation

@haeni82
Copy link
Copy Markdown
Contributor

@haeni82 haeni82 commented Mar 16, 2026

이슈

  • closed #이슈번호

✔️ 체크리스트

  • : Merge할 브랜치를 확인해 주세요.

🔍 작업 내용

  • 반복 차단 요일, 시간 선택 없음 시 에러 처리
  • 헤더 안읽음 30초 단위 + 페이지 진입시 호출로 수정
    -사용 로그 페이지 api 연동

⚠️ 주의 사항 / 기타

Summary by CodeRabbit

릴리스 노트

  • 새로운 기능

    • 로그 페이지에 무한 스크롤을 통한 이용 내역 조회 기능 추가
    • 공유 풀 이용 내역 조회 API 추가
  • 버그 수정

    • 블록 종료 시간 초기화 기능 개선
    • 정책 추가 버튼 검증 로직 강화 (요일 미선택 시 비활성화)
    • 데이터 누락 시 안정성 개선
  • 개선 사항

    • 정책 변경 후 캐시 자동 갱신으로 데이터 동기화 개선
    • 가족 구성원 선택 및 관련 정책 관리 개선

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 16, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a98c914f-cc72-43f3-9f2d-8dcf640ea10d

📥 Commits

Reviewing files that changed from the base of the PR and between cab8fee and dbb2288.

📒 Files selected for processing (16)
  • src/api/services/blockService.ts
  • src/api/services/limitService.ts
  • src/api/services/notificationService.ts
  • src/api/services/sharedPoolService.ts
  • src/components/Header.tsx
  • src/page/Alarm.tsx
  • src/page/Log/LogPage.tsx
  • src/page/PolicyDetail/PolicyDetail.tsx
  • src/page/PolicyDetail/components/Block/EditPanel.tsx
  • src/page/PolicyDetail/components/BlockTab.tsx
  • src/page/PolicyDetail/components/Blockpolicymanager.tsx
  • src/page/PolicyDetail/components/Immediateblockpolicy.tsx
  • src/page/PolicyDetail/components/LimitTab.tsx
  • src/page/PolicyDetail/components/SliderCard.tsx
  • src/types/SharedData.ts
  • src/utils/dataFormat.ts

📝 Walkthrough

Walkthrough

API 서비스 계층의 매개변수 타입을 조정하고, LogPage에 무한 스크롤 기반 히스토리 조회 기능을 추가했으며, PolicyDetail과 하위 컴포넌트들에 정책 변경 콜백 체계를 도입했습니다. 또한 새로운 HistoryEntry 타입을 정의하고 관련 유틸리티 함수들을 업데이트했습니다.

Changes

Cohort / File(s) Summary
API 서비스 계층 - 매개변수 타입 조정
src/api/services/blockService.ts, src/api/services/notificationService.ts
blockService의 patchImmediateBlock이 blockEndAt 매개변수를 string | null로 변경하여 값 제거/초기화를 지원합니다. notificationService.send의 반환 타입을 Promise<void>로 명시하고 응답 데이터 반환을 제거했습니다.
API 서비스 계층 - 임포트 및 기능 추가
src/api/services/limitService.ts, src/api/services/sharedPoolService.ts
limitService에서 apiClient를 명시적 임포트로 변경했습니다. sharedPoolService에 HistoryEntry 타입을 임포트하고 getHistory(yearMonth) 메서드를 추가하여 히스토리 데이터 조회 기능을 제공합니다.
타입 정의
src/types/SharedData.ts
eventType, title, userName, occurredAt, amount, precision 필드를 포함하는 새로운 HistoryEntry 타입을 추가합니다.
Header 컴포넌트
src/components/Header.tsx
unread 쿼리에 명시적 제네릭 타입을 추가하고 refetchOnWindowFocus: true 설정을 추가했습니다.
알림 페이지
src/page/Alarm.tsx
markAllAsRead 뮤테이션 성공 시 "unreadCount" 쿼리 무효화를 추가합니다.
로그 페이지 - 무한 스크롤 및 히스토리 조회
src/page/Log/LogPage.tsx
더미 데이터를 제거하고 React Query의 무한 쿼리를 통해 HistoryEntry 기반 히스토리 데이터를 페칭합니다. IntersectionObserver로 무한 스크롤을 구현하고, 월별 그룹화 및 동적 렌더링을 수행합니다. 유틸리티 함수(getCurrentYearMonth, getPrevYearMonth, formatAmount)를 업데이트합니다.
PolicyDetail 메인 컴포넌트
src/page/PolicyDetail/PolicyDetail.tsx
lineId 기반 선택으로 변경하고, handleBlockApply와 handleBlockRelease 핸들러를 추가합니다. 정책 변경 시 onPolicyChange 콜백을 BlockTab, LimitTab에 전파합니다.
PolicyDetail 블록 관련 컴포넌트
src/page/PolicyDetail/components/Block/EditPanel.tsx, src/page/PolicyDetail/components/BlockTab.tsx, src/page/PolicyDetail/components/Blockpolicymanager.tsx, src/page/PolicyDetail/components/Immediateblockpolicy.tsx
EditPanel에 버튼 비활성 상태를 추가합니다. BlockTab과 BlockPolicyManager에 onPolicyChange 콜백 prop을 추가합니다. ImmediateBlockPolicy의 patchImmediateBlock 호출을 null 값 처리가 가능하도록 수정합니다.
PolicyDetail 제한 관련 컴포넌트
src/page/PolicyDetail/components/LimitTab.tsx, src/page/PolicyDetail/components/SliderCard.tsx
LimitTab과 SliderCard에 onPolicyChange 콜백 prop을 추가하고, 뮤테이션 성공 시 호출합니다.
유틸리티 함수
src/utils/dataFormat.ts
formatDays가 빈 배열 시 "요일 미설정" 플레이스홀더를 반환합니다. toBlockPolicy에서 firstDay 부재 시 기본값 처리를 추가하고 repeatBlockId를 안전하게 처리합니다.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/policy-api
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

@haeni82 haeni82 merged commit 9da3d18 into develop Mar 16, 2026
1 of 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.

1 participant