PR: [OFFNAL-83]: 공휴일 Open API 엔드포인트 추가 및 공휴일 데이터 캐싱 로직 추가 #128
PR: [OFFNAL-83]: 공휴일 Open API 엔드포인트 추가 및 공휴일 데이터 캐싱 로직 추가 #128
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 PR은 공공 데이터 포털에서 공휴일 정보를 가져와 로컬에 캐싱하는 기능을 도입합니다. 이를 위해 새로운 API 서비스, 데이터 접근 객체, 리포지토리 및 유스케이스가 추가되었으며, 애플리케이션의 의존성 주입 컨테이너와 데이터베이스 스키마가 업데이트되었습니다. 또한, 기존 Axios 클라이언트 설정이 리팩토링되어 API 통신의 일관성과 유지보수성이 향상되었습니다. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new holiday management feature, including local caching of holiday data from an external API. It involves adding new data access objects (DAO), repositories, and use cases for holidays, along with new database tables and schema. Additionally, the PR refactors the Axios client setup across various API services for better organization and introduces request logging and token handling interceptors. The review comments highlight a critical issue with the replaceHolidayItems method in HolidayDao lacking atomicity, which should be addressed using database transactions. There are also suggestions to improve readability in HolidayRepositoryImpl by using dedicated DTOs for API response mapping and to address a potential data inconsistency in OpenApiService where hardcoded numOfRows without pagination could lead to incomplete holiday data caching and repeated API calls.
Description
이번 변경에서는 공휴일 데이터를 앱 실행 시 SQLite에 캐싱하고, 이후에는 로컬 캐시를 우선 사용하는 흐름을 추가했습니다. 동시에 Axios 인스턴스 구조를 정리해서 인증 요청과 비인증 요청을 분리했고, 환경 변수 로딩 방식도 현재 프로젝트 구조에 맞게 정리했습니다.
Changes
Verification