Files
jongryangje/docs/완료된_개발_내역/관리자단/03-컨트롤러.md
2026-04-08 00:23:55 +09:00

1.9 KiB

관리자단 — 컨트롤러

공통

  • 네임스페이스: 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\RoleslevelNames 목록만 뷰에 전달. (role 테이블 미사용, 추후 확장 가능)

Menu (메뉴)

  • 파일: app/Controllers/Admin/Menu.php
  • 메서드: index() — 메뉴 관리 안내 뷰만 표시. (menu·menu_permission 테이블 연동은 추후)