docs: add project docs and test updates
This commit is contained in:
59
docs/완료된_개발_내역/관리자단/03-컨트롤러.md
Normal file
59
docs/완료된_개발_내역/관리자단/03-컨트롤러.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 관리자단 — 컨트롤러
|
||||
|
||||
## 공통
|
||||
|
||||
- 네임스페이스: `App\Controllers\Admin`
|
||||
- 모든 응답은 `admin/layout`으로 감싸서 `title`, `content` 전달. 본문은 하위 뷰에서 렌더.
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
- **파일**: `app/Controllers/Admin/Dashboard.php`
|
||||
- **메서드**: `index()` — 대시보드 뷰만 표시.
|
||||
|
||||
---
|
||||
|
||||
## User (회원 관리)
|
||||
|
||||
- **파일**: `app/Controllers/Admin/User.php`
|
||||
- **의존**: `MemberModel`, `Config\Roles`
|
||||
|
||||
| 메서드 | 역할 |
|
||||
|--------|------|
|
||||
| `index()` | 회원 목록 (목록 뷰 + roles) |
|
||||
| `create()` | 회원 등록 폼 |
|
||||
| `store()` | 등록 처리: 유효성 검사 → 비밀번호 해시 → insert, redirect `admin/users` |
|
||||
| `edit($id)` | 수정 폼 (회원 없으면 redirect) |
|
||||
| `update($id)` | 수정 처리: 유효성(비밀번호 선택), mb_state 포함, redirect `admin/users` |
|
||||
| `delete($id)` | 탈퇴 처리: `mb_state=0`, `mb_leavedate` 설정 후 redirect (물리 삭제 없음) |
|
||||
|
||||
- 삭제는 **탈퇴 처리**만 수행. 5년 유지 정책은 별도 스케줄/정책으로 구현 예정.
|
||||
|
||||
---
|
||||
|
||||
## Access (접근 관리)
|
||||
|
||||
- **파일**: `app/Controllers/Admin/Access.php`
|
||||
- **의존**: `MemberLogModel`
|
||||
|
||||
| 메서드 | 역할 |
|
||||
|--------|------|
|
||||
| `loginHistory()` | GET `start`/`end` 기간으로 로그 이력 조회, 뷰에 list/start/end 전달 |
|
||||
| `approvals()` | 권한 승인 대기 목록 (현재 빈 목록, 추후 테이블 연동) |
|
||||
| `approve($id)` | 승인 처리 플레이스홀더 (redirect + success) |
|
||||
| `reject($id)` | 반려 처리 플레이스홀더 (redirect + success) |
|
||||
|
||||
---
|
||||
|
||||
## Role (역할)
|
||||
|
||||
- **파일**: `app/Controllers/Admin/Role.php`
|
||||
- **메서드**: `index()` — `Config\Roles`의 `levelNames` 목록만 뷰에 전달. (role 테이블 미사용, 추후 확장 가능)
|
||||
|
||||
---
|
||||
|
||||
## Menu (메뉴)
|
||||
|
||||
- **파일**: `app/Controllers/Admin/Menu.php`
|
||||
- **메서드**: `index()` — 메뉴 관리 안내 뷰만 표시. (menu·menu_permission 테이블 연동은 추후)
|
||||
Reference in New Issue
Block a user