- createAlbum, updateAlbum, deleteAlbum 서비스 함수 추가
- insertTracks 배치 삽입 헬퍼 함수
- albums/index.js POST/PUT/DELETE → 서비스 호출로 변경
- routes 파일 80줄 감소
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- utils/logger.js 생성 (createLogger)
- 서비스 레이어: logger 유틸리티 사용
- 라우트 레이어: fastify.log 사용
- console.error/log → 구조화된 로깅으로 변경
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- getAlbumDetails: tracks/teasers/photos 쿼리 Promise.all로 병렬 실행
- photos.js: 멤버 INSERT for loop → VALUES 배치 처리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 이미지 크기/품질 설정 (800x85, 400x80) → config.image
- X 기본 사용자명 'realfromis_9' → config.x.defaultUsername
- Meilisearch 최소 점수 0.5 → config.meilisearch.minScore
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- scheduler.js: handleSyncResult 함수 추출로 동기화 결과 처리 로직 통합
- youtube/index.js: 하드코딩된 카테고리 ID를 CATEGORY_IDS 상수로 변경
- 리팩토링 문서 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 카테고리 ID 상수를 config/index.js에 CATEGORY_IDS로 통합
- youtube.js, x.js, schedules/index.js에서 하드코딩된 ID를 상수로 교체
- 앨범 목록 조회 시 N+1 쿼리 문제 해결 (트랙 한 번에 조회)
- 리팩토링 작업 문서 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>