<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; // Query Builder ব্যবহারের জন্য
use Illuminate\Support\Facades\Auth;

class RechargeController extends Controller
{
    // ১. রিচার্জ পেজ এবং আগের রিচার্জের ইতিহাস (History) দেখানোর জন্য
    public function index()
    {
        $userId = Auth::id();

        // Query Builder দিয়ে বর্তমান ইউজারের রিচার্জ হিস্ট্রি তুলে আনা
        $recharges = DB::table('recharges')
            ->where('user_id', $userId)
            ->orderBy('created_at', 'desc')
            ->get();

        return view('user.recharge', compact('recharges'));
    }

    // ২. নতুন রিচার্জ রিকোয়েস্ট জমা নেওয়া
    public function store(Request $request)
    {
        // Validation
        $request->validate([
            'payment_method' => 'required|string',
            'amount'         => 'required|numeric|min:10',
            'sender_number'  => 'required|digits:11',
            'transaction_id' => 'required|string|unique:recharges,transaction_id',
        ], [
            'transaction_id.unique' => 'এই ট্রানজেকশন আইডিটি ইতিমধ্যে ব্যবহৃত হয়েছে!',
        ]);

        // Query Builder দিয়ে ডাটা ইনসার্ট করা
        DB::table('recharges')->insert([
            'user_id'        => Auth::id(),
            'payment_method' => $request->payment_method,
            'amount'         => $request->amount,
            'sender_number'  => $request->sender_number,
            'transaction_id' => $request->transaction_id,
            'status'         => 'pending',
            'created_at'     => now(),
            'updated_at'     => now(),
        ]);

        return redirect()->back()->with('success', 'আপনার রিচার্জ রিকোয়েস্টটি সফলভাবে জমা হয়েছে!');
    }
}