// app/Http/Controllers/FileManagerController.php
<?php
namespace App\Http\Controllers;

use App\Models\Company;
use App\Models\Folder;
use App\Models\Document;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class FileManagerController extends Controller
{
    // ফোল্ডার বা কোম্পানি লিস্ট দেখানো
    public function index($folderId = null)
    {
        if (!$folderId) {
            $companies = Company::all();
            return view('filemanager.index', compact('companies'));
        }

        $currentFolder = Folder::with(['children', 'documents'])->findOrFail($folderId);
        return view('filemanager.show', compact('currentFolder'));
    }

    // ডকুমেন্ট আপলোড (স্ক্যান কপি)
    public function upload(Request $request)
    {
        $request->validate([
            'file' => 'required|mimes:pdf,jpg,png,jpeg|max:10240',
            'folder_id' => 'required',
            'expiry_date' => 'required|date'
        ]);

        $path = $request->file('file')->store('all_documents', 'public');

        Document::create([
            'folder_id' => $request->folder_id,
            'title' => $request->title ?? $request->file('file')->getClientOriginalName(),
            'file_path' => $path,
            'issue_date' => $request->issue_date,
            'expiry_date' => $request->expiry_date,
        ]);

        return back()->with('success', 'ডকুমেন্ট সফলভাবে আপলোড হয়েছে।');
    }

    // ডিলিট অপারেশন
    public function deleteDocument($id)
    {
        $doc = Document::findOrFail($id);
        Storage::disk('public')->delete($doc->file_path);
        $doc->delete();
        return back()->with('success', 'ডিলিট সম্পন্ন হয়েছে।');
    }
    
    public function show($id)
{
    // ফোল্ডার এবং তার চাইল্ড ফোল্ডার ও ডকুমেন্টগুলো নিয়ে আসা
    $currentFolder = Folder::with(['children', 'documents'])->findOrFail($id);

    // ভিউ ফাইলটি রিটার্ন করা
    return view('filemanager.show', compact('currentFolder'));
}
}