Commit Graph

3 Commits

Author SHA1 Message Date
ByungCheol 6256d3e63d feat: 멤버십(무료/유료) 게이팅 — 백엔드
CI / build (push) Failing after 13m40s
- member.plan(FREE/PREMIUM) 컬럼 추가 + SessionUser/MemberResponse 노출
- auth_session 백업에 plan 저장(세션 복원 시 유료 상태 유지)
- 관리자 회원 plan 변경 API (PUT /api/admin/members/{id}/plan)
- PremiumInterceptor 로 유료 전용 경로 차단(통계/예산/고정지출/태그/OCR/투자/카드알림/백업)
  · 관리자는 플랜과 무관하게 허용, 무료 회원은 403 PREMIUM_REQUIRED
- WebConfigTest: 유료 경로 등록 회귀 가드 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 11:02:19 +09:00
ByungCheol e592c174bf feat: 가입정보 변경·비밀번호 재인증 API + 백엔드 단위테스트·CI 게이트
CI / build (push) Failing after 14m50s
- POST /auth/verify-password, PUT /auth/profile(세션 표시 이름 동기화)
- MemberMapper.updateProfile, AuthSessionMapper.updateName
- 단위테스트(24): CardNotificationParser(8), AuthService(16, Mockito)
- CI(.gitea): 테스트 리포트 아티팩트 업로드(clean build가 곧 테스트 게이트)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 14:08:01 +09:00
ByungCheol 5e2bdae37d feat: 세션 DB 이중 저장 — Redis 유실/재시작에도 로그인 유지
- auth_session 테이블에 세션 영속 백업(login 시 Redis+DB 동시 저장)
- getSession: Redis 미스/장애 시 DB에서 복원 후 Redis 재수화(슬라이딩)
- logout: Redis+DB 동시 삭제, 만료분 일별 정리(@Scheduled)
- Redis 재시작으로 세션 전멸하던 주기적 로그아웃 해결

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 08:12:57 +09:00