<?php

namespace App\Http\Controllers\Dash;

use Symfony\Component\HttpFoundation\Response;
use App\Http\Controllers\Controller;
use App\Services\AuthService;
use Illuminate\Http\Request;

class AuthController extends Controller
{
    public function __construct(
        AuthService $authService
    ) {
        $this->auth = $authService;
    }

    public function enter(Request $request): Response
    {
        $token = csrf_token();

        $credentials = $request->validate([
            'handle'   => ['required'],
            'password' => ['required'],
        ]);

        if ($credentials) {
            $result = $this->auth->check($request);
            if ($result['status']) {
                //$request->session()->regenerate();
                return redirect()->intended('dashboard/start');
            } else {
                return back()->withErrors([
                    'error' => $result['message'],
                ]);
            }
        } else {
            return back()->withErrors([
                'error' => 'Nope. Check your crendtials, champ',
            ]);
        }
    }

    public function exit(Request $request): Response
    {
        session()->flush();
        return redirect()->intended('dashboard');
    }
}