- ApiAccessLog 엔티티: 사용자/도메인/URI/파라미터/응답코드/처리시간 기록
- HandlerInterceptor로 /api/** 전체 요청 자동 기록 (health 제외)
- Origin 헤더로 guide/wing 도메인 구분
- @Async 비동기 저장으로 응답 지연 방지
- GET /api/admin/audit-logs 관리자 조회 API (필터: origin, userId, uri, 기간)
- ClientIpUtils 유틸 분리 (AuthController에서 공용화)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AppSetting 엔티티 + Repository (key-value 설정 저장소)
- SettingsService (자동승인 조회/수정)
- AdminSettingsController (GET/PUT /api/admin/settings/registration)
- Role.defaultGrant 컬럼 + AdminRoleController default-grant 토글
- AuthController: 신규 사용자 생성 시 자동승인 + 기본롤 부여 로직
- data.sql: WING_PERMIT 롤 시드 + auto-approve 설정 시드
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Entity: LoginHistory, PageView, Issue, IssueComment 추가
- Repository: 각 엔티티별 JpaRepository 추가
- Service: UserService, RoleService, ActivityService, IssueService
- Admin API: 사용자 관리 7개, 롤/권한 관리 7개, 통계 1개 엔드포인트
- Activity API: 페이지뷰 기록, 로그인 이력 조회
- Issue API: CRUD + 코멘트, 프로젝트/위치/Gitea 링크 지원
- Exception: GlobalExceptionHandler, ResourceNotFoundException, BusinessException
- AuthController: 로그인 시 LoginHistory 기록 추가
- Dockerfile 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>