사용자 관리 API를 컨트롤러/라우터 패턴으로 리팩토링하고,
CORS 및 보안 설정을 별도 파일로 분리하여 코드 구조 개선
주요 변경사항:
- userController.js: 새로운 에러 핸들링 및 로깅 시스템 적용
* ValidationError, NotFoundError, ConflictError 등 커스텀 에러 사용
* logger 유틸리티로 구조화된 로깅
* 관리자 권한 검증 헬퍼 함수 추가
- index.js: 인라인 사용자 관리 라우트 제거 (888 → 605 lines)
* 283줄 감소로 코드 가독성 대폭 향상
* userRoutes 모듈 import 및 사용
- userRoutes.js: 문서화 및 로깅 개선
* JSDoc 헤더 추가
* adminOnly 미들웨어에 로깅 추가
신규 파일:
- config/cors.js: CORS 정책 설정 (허용 origin, 메소드, 헤더)
- config/security.js: Helmet 보안 헤더 설정 (CSP, HSTS, XSS 방지)
- middlewares/activityLogger.js: HTTP 요청/응답 활동 로깅
파일 통계:
- 3개 파일 수정, 3개 파일 추가
- +437 -480 (net -43 lines)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Swagger 패키지 설치 및 설정:
* swagger-jsdoc, swagger-ui-express 패키지 추가
* /api-docs 엔드포인트에서 Swagger UI 제공
* /api-docs.json 엔드포인트에서 JSON 스펙 제공
- 포괄적인 Swagger 설정 파일 생성:
* config/swagger.js: OpenAPI 3.0 스펙 정의
* 공통 스키마 정의 (User, Worker, Project, Task, DailyWorkReport)
* 표준 응답 스키마 (SuccessResponse, ErrorResponse, PaginatedResponse)
* JWT Bearer 인증 스키마 설정
- API 문서화 적용:
* Authentication API: 로그인 엔드포인트 문서화
* Workers API: 전체 CRUD 작업 문서화
* 상세한 요청/응답 스키마 및 예시 포함
* 에러 코드별 응답 정의
- Swagger UI 커스터마이징:
* 브랜딩 및 UI 개선
* 인증 토큰 지속성 설정
* 필터링 및 탐색 기능 활성화
- 접근 방법:
* http://localhost:20005/api-docs - Swagger UI
* http://localhost:20005/api-docs.json - JSON 스펙