Files
sam-manage/app/Http/Controllers/TenantController.php
hskwon 575e9df431 feat: Phase 4-1 테넌트 관리 백엔드 구현
- TenantService 생성 (CRUD, 통계, 복원/영구삭제)
- API Controller 구현 (HTMX 요청 감지, HTML/JSON 이중 응답)
- FormRequest 검증 (StoreTenantRequest, UpdateTenantRequest)
- Tenant 모델 확장 (17개 필드, 관계 설정, accessor)
- Department, Menu, Role 모델 복사 (admin → mng)
- Web Controller 수정 (index/create/edit 화면)
- MIGRATION_PLAN.md 작성 (HTMX + API 아키텍처)
2025-11-21 14:46:13 +09:00

61 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Services\TenantService;
use Illuminate\Http\Request;
use Illuminate\View\View;
class TenantController extends Controller
{
public function __construct(
private readonly TenantService $tenantService
) {}
/**
* 테넌트 목록 (Blade 화면)
*/
public function index(Request $request): View
{
return view('tenants.index');
}
/**
* 테넌트 생성 화면
*/
public function create(): View
{
return view('tenants.create');
}
/**
* 테넌트 수정 화면
*/
public function edit(int $id): View
{
$tenant = $this->tenantService->getTenantById($id);
if (!$tenant) {
abort(404, '테넌트를 찾을 수 없습니다.');
}
return view('tenants.edit', compact('tenant'));
}
/**
* 테넌트 전환 (기존 기능 유지)
*/
public function switch(Request $request)
{
$tenantId = $request->input('tenant_id');
if ($tenantId === 'all') {
$request->session()->forget('selected_tenant_id');
} else {
$request->session()->put('selected_tenant_id', $tenantId);
}
return redirect()->back();
}
}