30 lines
1020 B
PHP
30 lines
1020 B
PHP
<?php
|
|
namespace ProVM\NotariaRaby\Common\Controller\Web\Admin;
|
|
|
|
use Psr\Container\ContainerInterface as Container;
|
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
|
use Psr\Http\Message\ResponseInterface as Response;
|
|
use Slim\Views\Blade as View;
|
|
use ProVM\NotariaRaby\Common\Service\Login as Service;
|
|
|
|
class Login {
|
|
public function __invoke(Request $request, Response $response, View $view): Response {
|
|
return $view->render($response, 'admin.login');
|
|
}
|
|
public function do_login(Request $request, Response $response, Service $login, Container $container): Response {
|
|
$login->login($request);
|
|
return $response
|
|
->withHeader('Location', implode('/', [
|
|
$container->get('urls.base'),
|
|
'admin'
|
|
]))
|
|
->withStatus(302);
|
|
}
|
|
public function logout(Request $request, Response $response, Service $login, Container $container): Response {
|
|
$login->logout();
|
|
return $response
|
|
->withHeader('Location', $container->get('urls.base'))
|
|
->withStatus(302);
|
|
}
|
|
}
|