<?php

namespace App\Http\Controllers;

use App\Services\UserPermissionService;
use Illuminate\Http\Request;

class UserPermissionController extends Controller
{
    protected UserPermissionService $userPermissionService;

    public function __construct(UserPermissionService $userPermissionService)
    {
        $this->userPermissionService = $userPermissionService;
    }

    /**
     * 사용자 권한 관리 메인 페이지
     */
    public function index(Request $request)
    {
        $tenantId = session('selected_tenant_id');
        $selectedUserId = $request->query('user_id');

        // 테넌트 미선택 또는 전체 선택 시
        if (! $tenantId || $tenantId === 'all') {
            return view('user-permissions.index', [
                'users' => collect(),
                'requireTenant' => true,
                'selectedTenantId' => $tenantId,
                'selectedUserId' => $selectedUserId,
            ]);
        }

        // 특정 테넌트 선택 시: 해당 테넌트의 사용자 목록 조회
        $users = $this->userPermissionService->getUsersByTenant($tenantId);

        return view('user-permissions.index', [
            'users' => $users,
            'requireTenant' => false,
            'selectedTenantId' => $tenantId,
            'selectedUserId' => $selectedUserId,
        ]);
    }
}
