# NaverWorks 일일 브리핑 날짜 필터링 문제 해결

## 날짜: 2025-09-26
## 작성자: happybell80
## 관련 서비스: skill-email, rb8001

---

## 1. 문제
- NaverWorks 일일 브리핑이 매일 같은 메일 반복
- 9/25 요청에 9/23, 9/24 메일도 포함됨

## 2. 원인
- NaverWorks Mail API는 날짜 필터 파라미터 지원 안 함
- 클라이언트 측 필터링 코드 없었음
- timezone-aware와 naive datetime 비교 불가 문제

## 3. 수정 내역

### 3.1. 잘못된 테이블명 수정
**수정 파일들:**
- auth-server/app/api/slack_router.py
- auth-server/app/api/gmail_refresh.py
- auth-server/scripts/run_migration.py
- skill-email/services/db_credentials_provider.py
- DOCS 문서 78개 파일

**변경 내용:**
- `users` → `user`
- `gmail_tokens` → `gmail_token`
- `conversation_logs` → `conversation_log`
- `workspace_members` → `workspace_member`
- `companies` → `company`
- `slack_workspaces` → `slack_workspace`

### 3.2. NaverWorks 토큰 컬럼명 수정
**수정 파일:**
- skill-email/services/naverworks_provider.py
- auth-server/app/providers/naverworks_passport.py

**변경 내용:**
- `expiry` → `expires_at` (naverworks_token 테이블)
- gmail_token은 `expiry` 유지 (다른 테이블)

### 3.3. NaverWorks 날짜 필터링 구현
**파일:** skill-email/services/naverworks_provider.py

**수정 내용 (212-265줄):**
1. 클라이언트 측 날짜 필터링 로직 추가
2. pytz 모듈 추가 (requirements.txt)
3. timezone-aware datetime 비교 구현
4. 두 가지 날짜 형식 지원:
   - ISO datetime 형식 (naverworks_briefing.py: `yesterday.isoformat()`)
   - 날짜만 형식 (email_integration.py: `strftime("%Y-%m-%d")`)
5. 날짜만 받으면 현재 시점 기준 정확한 24시간 전 계산

### 3.4. 로그 추가
- 163줄: 날짜 파라미터 수신 로그
- 215줄: 각 메일 필터링 과정 로그

## 4. 검증 결과
- 정확한 24시간 범위로 12개 메일 정상 필터링 확인

---

**문서 끝**