feat: 관리자/활동/이슈 API 전체 구현 #4

병합
htlee feature/admin-and-api 에서 develop 로 1 commits 를 머지했습니다 2026-02-14 21:14:24 +09:00
소유자

Summary

  • Admin User API: 사용자 목록/승인/거절/비활성화/롤변경/관리자토글 (7개)
  • Admin Role API: 롤 CRUD + URL 패턴 관리 (7개)
  • Admin Stats API: 전체 통계 조회
  • Activity API: 페이지뷰 기록, 로그인 이력 조회
  • Issue API: CRUD + 코멘트 (프로젝트/위치/Gitea 링크 지원)
  • Service 계층 분리 (UserService, RoleService, ActivityService, IssueService)
  • GlobalExceptionHandler + 커스텀 예외 클래스
  • AuthController에 로그인 이력 기록 추가

New Endpoints (26개)

Admin (/api/admin/**)

Method Path 설명
GET /api/admin/users 사용자 목록 (status 필터)
PUT /api/admin/users/{id}/approve 승인
PUT /api/admin/users/{id}/reject 거절
PUT /api/admin/users/{id}/disable 비활성화
PUT /api/admin/users/{id}/roles 롤 변경
POST /api/admin/users/{id}/admin 관리자 부여
DELETE /api/admin/users/{id}/admin 관리자 해제
GET /api/admin/roles 롤 목록
POST /api/admin/roles 롤 생성
PUT /api/admin/roles/{id} 롤 수정
DELETE /api/admin/roles/{id} 롤 삭제
GET /api/admin/roles/{id}/permissions 권한 목록
POST /api/admin/roles/{id}/permissions 권한 추가
DELETE /api/admin/roles/permissions/{id} 권한 삭제
GET /api/admin/stats 통계

Activity (/api/activity/**)

| POST | /api/activity/track | 페이지뷰 기록 |
| GET | /api/activity/login-history | 로그인 이력 |

Issue (/api/issues/**)

| GET | /api/issues | 이슈 목록 (페이징) |
| POST | /api/issues | 이슈 생성 |
| GET | /api/issues/{id} | 이슈 상세 |
| PUT | /api/issues/{id} | 이슈 수정 |
| POST | /api/issues/{id}/comments | 코멘트 추가 |

Test Plan

  • ./mvnw clean compile 빌드 성공
  • develop 머지 후 CI/CD 빌드 검증
  • 배포 후 DB 스키마 validate 정상 확인
  • 각 API 엔드포인트 응답 확인

🤖 Generated with Claude Code

## Summary - Admin User API: 사용자 목록/승인/거절/비활성화/롤변경/관리자토글 (7개) - Admin Role API: 롤 CRUD + URL 패턴 관리 (7개) - Admin Stats API: 전체 통계 조회 - Activity API: 페이지뷰 기록, 로그인 이력 조회 - Issue API: CRUD + 코멘트 (프로젝트/위치/Gitea 링크 지원) - Service 계층 분리 (UserService, RoleService, ActivityService, IssueService) - GlobalExceptionHandler + 커스텀 예외 클래스 - AuthController에 로그인 이력 기록 추가 ## New Endpoints (26개) ### Admin (`/api/admin/**`) | Method | Path | 설명 | |--------|------|------| | GET | /api/admin/users | 사용자 목록 (status 필터) | | PUT | /api/admin/users/{id}/approve | 승인 | | PUT | /api/admin/users/{id}/reject | 거절 | | PUT | /api/admin/users/{id}/disable | 비활성화 | | PUT | /api/admin/users/{id}/roles | 롤 변경 | | POST | /api/admin/users/{id}/admin | 관리자 부여 | | DELETE | /api/admin/users/{id}/admin | 관리자 해제 | | GET | /api/admin/roles | 롤 목록 | | POST | /api/admin/roles | 롤 생성 | | PUT | /api/admin/roles/{id} | 롤 수정 | | DELETE | /api/admin/roles/{id} | 롤 삭제 | | GET | /api/admin/roles/{id}/permissions | 권한 목록 | | POST | /api/admin/roles/{id}/permissions | 권한 추가 | | DELETE | /api/admin/roles/permissions/{id} | 권한 삭제 | | GET | /api/admin/stats | 통계 | ### Activity (`/api/activity/**`) | POST | /api/activity/track | 페이지뷰 기록 | | GET | /api/activity/login-history | 로그인 이력 | ### Issue (`/api/issues/**`) | GET | /api/issues | 이슈 목록 (페이징) | | POST | /api/issues | 이슈 생성 | | GET | /api/issues/{id} | 이슈 상세 | | PUT | /api/issues/{id} | 이슈 수정 | | POST | /api/issues/{id}/comments | 코멘트 추가 | ## Test Plan - [x] `./mvnw clean compile` 빌드 성공 - [ ] develop 머지 후 CI/CD 빌드 검증 - [ ] 배포 후 DB 스키마 validate 정상 확인 - [ ] 각 API 엔드포인트 응답 확인 🤖 Generated with Claude Code
htlee added 1 commit 2026-02-14 21:13:39 +09:00
- 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>
htlee merged commit 487832675c into develop 2026-02-14 21:14:24 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 1명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/gc-guide-api#4
No description provided.