260707_1_대시보드정리 1차

This commit is contained in:
2026-07-08 19:04:20 +09:00
parent 3485eeb096
commit 9c40dec070
26 changed files with 1264 additions and 305 deletions
+7 -1
View File
@@ -56,13 +56,14 @@ join_requests
├── status (ENUM) — 상태: PENDING, APPROVED, REJECTED (기본값: PENDING)
├── reviewed_by (INT, FK → users.id, NULL) — 검토한 관리자
├── reviewed_at (TIMESTAMP, NULL) — 검토 시간
├── review_comment (TEXT, NULL) — 검토 의견/거부 사유 (신규)
└── UNIQUE KEY (user_id, company_id) — 중복 신청 방지
```
**동작:**
- 사용자 가입 신청 → status = PENDING 생성
- 관리자 승인 → status = APPROVED, users.status = ACTIVE, users.company_id 세팅
- 관리자 거부 → status = REJECTED, 이메일 발송
- 관리자 거부 → status = REJECTED, review_comment에 거부 사유 기록, 이메일 발송
### 1-4. system_audit_logs 테이블 (신규)
```
@@ -93,6 +94,11 @@ system_resources
└── INDEX (timestamp) — 시계열 조회 최적화
```
**리소스 측정 방식 (B01_Dashboard):**
- **현재값 실측:** `psutil.cpu_percent()`, `psutil.virtual_memory().percent`, `shutil.disk_usage()`로 요청 시점 실시간 측정 (DB 저장 없이 응답에 포함)
- **이력 조회:** `system_resources` 테이블에서 기본 30일치 시계열 조회 (`GET /api/dashboard/admin/resources?days=30`, 범위 1~90일)
- **활성 지표:** active_user_count는 유효 세션 수, active_project_count는 미삭제 프로젝트 수 실시간 집계
---
## 테이블 관계도 (조직 & 인증 그룹)