<?php namespace MapGuesser\Controller;

use SokoWeb\Interfaces\Request\IRequest;
use SokoWeb\Interfaces\Response\IContent;
use SokoWeb\Interfaces\Response\IRedirect;
use SokoWeb\Response\JsonContent;
use SokoWeb\Response\Redirect;

class HomeController
{
    private IRequest $request;

    public function __construct(IRequest $request)
    {
        $this->request = $request;
    }

    public function getIndex(): IRedirect
    {
        return new Redirect(\Container::$routeCollection->getRoute('maps')->generateLink(), IRedirect::TEMPORARY);
    }

    public function startSession(): IContent
    {
        // session starts with the request, this method just sends valid data to the client

        return new JsonContent(['antiCsrfToken' => $this->request->session()->get('anti_csrf_token')]);
    }
}