Files
sam-manage/app/Http/Controllers/TenantController.php

67 lines
1.5 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers;
use App\Services\TenantService;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\View\View;
class TenantController extends Controller
{
public function __construct(
private readonly TenantService $tenantService
) {}
/**
* 테넌트 목록 (Blade 화면)
*/
public function index(Request $request): View|Response
{
// HTMX 요청 시 전체 페이지 리로드 (스크립트 실행 필요)
if ($request->header('HX-Request')) {
return response('', 200)->header('HX-Redirect', route('tenants.index'));
}
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();
}
}