<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\User;

class AuthController extends Controller
{
    public function showLogin()
    {
        return view('auth.login');
    }

    public function login(Request $request)
	{
		try
		{
			// ১. ইনপুট চেক
			$identity = trim($request->login_identity); // স্পেস রিমুভ করবে
			$password = $request->password;

			// ২. ইউজারকে ডাটাবেসে খোঁজা
			$user = \App\Models\User::where('username', $identity)
					->orWhere('mobile', $identity)
					->first();

			if (!$user) {
				return response()->json(['status' => 'error', 'message' => 'এই নামে কোনো ইউজার পাওয়া যায়নি!'], 401);
			}

			// ৩. পাসওয়ার্ড চেক (Hash verify)
			if (!\Illuminate\Support\Facades\Hash::check($password, $user->password)) {
				return response()->json(['status' => 'error', 'message' => 'ভুল পাসওয়ার্ড দিয়েছেন!'], 401);
			}

			// ৪. ইউজার কি একটিভ?
			if ($user->is_active != 1) {
				return response()->json(['status' => 'error', 'message' => 'আপনার অ্যাকাউন্টটি বর্তমানে বন্ধ আছে।'], 401);
			}

			// ৫. সব ঠিক থাকলে ম্যানুয়ালি লগইন করানো
			\Illuminate\Support\Facades\Auth::login($user, $request->has('remember'));
			$request->session()->regenerate();

			return response()->json([
				'status' => 'success',
				'message' => 'লগইন সফল! ড্যাশবোর্ডে যাচ্ছেন...',
				'redirect' => route('dashboard')
			]);
		} catch (\Exception $e) {
    return response()->json([
        'status' => 'error',
        'message' => 'সার্ভার এরর: ' . $e->getMessage(),
        'line' => $e->getLine(), // এখানে লাইনের নাম্বার দেখাবে
        'file' => $e->getFile()  // কোন ফাইলে এরর তাও দেখাবে
    ], 500);
}
	}
	
	// যদি আপনার পাসওয়ার্ড কলামের নাম 'password' না হয়ে অন্য কিছু হয় (যেমন: Pass)
	public function getAuthPassword()
	{
		return $this->password; 
	}
}
